Oracle DBMS_Metadata и встроенный механизм

Выберите предпочтительный метод извлечения для миграции вашей системы или создайте новые объекты с помощью объектов DDL.

Начиная с версии 4.7, SQLDetective поддерживает собственный пакет Oracle DBMS_METADATA для извлечения объектов DDL (язык определения данных). В предыдущих версиях извлечение DDL было ограничено только встроенным механизмом SQLDetective, и теперь вы можете выбрать любой из них.

Пакет DBMS_METADATA появился в Oracle 9i как готовая альтернатива извлечению DDL с помощью операторов SQL или путем экспорта и разбора схем базы данных.

В большинстве модулей SQLDetective позволяет выбрать механизм перед извлечением, но в Мастерах объектов и ContentSelector навигатора объектов приоритетный механизм применяется автоматически.

DBMS_METADA выбрана по умолчанию, но поскольку она имеет ограничения по объектам, встроенный механизм используется для неподдерживаемых типов объектов. В целом DBMS_METADATA может извлекать DDL для 31 типа объектов:

Table, View, Procedure, Function, Package,  Package Body, Type, Object Type Body, Trigger, Index, Constraint,  Sequence, Cluster, Materialized View, Materialized View Log, Index Type,  Operator, Dimension, Outline, Library, DBLink, Synonym, Granted Role,  DBA Role, User, Profile, Directory, Context, Tablespace, Rollback  Segment, Unified Audit Policy

Для всех остальных SQLDetective использует встроенный механизм извлечения, поддерживающий в общей сложности 59 типов объектов. Помните об этом при извлечении DDL для всей схемы.

Вы можете определить механизм приоритета и другие связанные настройки в настройках или перед извлечением DDL. Макет и форматирование выходного DDL также различаются в зависимости от используемого движка. Давайте посмотрим на пример DDL, извлеченного из таблицы EMP схемы SCOTT:

DBMS_METADATA

Встроенный механизм SQLDetective

Чтобы проверить, какой движок использовался, используйте автоматически сгенерированные комментарии в выходном коде.

Примечание. Извлечение DDL через DBMS_METADATA также поддерживается ClearDB Documenter 5 и более поздними версиями.

Первоначально опубликовано на sqldev.tech.