На днях я попытался зарегистрировать схему в Oracle, чтобы проверить документ XML. Код, который я использовал, был довольно прост:
dbms_xmlschema.registerSchema(schemaURL => 'http://www.myCompany.com/schema',
schemaDoc => :schemaCLOB);
Сначала казалось, что все работает хорошо, что касается проверки. Однако я заметил, что появились десятки новых объектов базы данных: таблицы, триггеры и типы (несколько таблиц и триггеров dowsn, но, вероятно, много сотен типов).
Я попытался удалить схему следующим образом:
dbms_xmlschema.deleteSchema(schemaURL => 'http://www.myCompany.ca/schema',
delete_option => dbms_xmlschema.DELETE_INVALIDATE);
Это сняло с регистрации схему, но все объекты остались позади.
Я RTFM немного опоздал и обнаружил, что дополнительные объекты были созданы, оставив значения по умолчанию в вызове registerSchema, поэтому я понял, что мне придется вручную удалить дополнительные объекты.
Теперь, когда я пытаюсь удалить объекты, Oracle говорит мне, что их не существует. Я не могу выбрать из них, и моя IDE (PL / SQL Developer) показывает их как недопустимые (рядом с ними немного красного X). Я также не могу найти информацию об этих таблицах в all_tables
. Как мне избавиться от них?