ОБЪЯСНИТЕ ПЛАН на PL / SQL с Oracle - PullRequest
0 голосов
/ 09 мая 2019

Есть ли способ отладки PL / SQL или ОБЪЯСНЕНИЯ его в базах данных Oracle?

Я работаю для большой организации, и у них есть ад PL / SQL, как мне распутать тысячи сценариев PL / SQL?

По крайней мере, я хочу проанализировать columns, tables и views, к которым осуществляется доступ.EXPLAIN PLAN отлично подходит для этого с простыми операторами SQL.

Другие мысли :

  1. Приобретение коммерческого анализатора PL / SQL
  2. Использование ANTLRразбирать PL / SQL на узлы (вроде помогает?)
  3. Использовать Postgres Parser, чтобы приблизиться?https://github.com/lfittl/libpg_query

1 Ответ

2 голосов
/ 09 мая 2019

Возможно, не полный ответ, который вы ищете, но вы можете начать с представления DBA_DEPENDENCIES, чтобы хотя бы получить объекты, от которых зависят пакеты / процедуры.

Пример

Select distinct
   referenced_name                  "Object name",
   referenced_type                  "Object type",
   referenced_owner                 "Owner",
   nvl(referenced_link_name,'n/a')  "DB Link"
from dba_dependencies
   where owner          = 'SCHEMA_NAME'
   and name             = 'OBJECT_NAME'
   and type             = 'PACKAGE BODY'
   and referenced_type != 'NON-EXISTENT'
   order by 3,2,1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...