В моем проекте миграции базы данных с открытым исходным кодом Flyway у меня есть функция, которая очищает все объекты в текущей схеме базы данных, без отбрасывания самой схемы.
Типичная реализация работает следующим образом:
Пространственные индексы Oracle вызывают у меня много горя.
Как я могу надежно перечислить их, чтобы получить операторы DROP INDEX xyz?
Примечание: это должно работать как на XE, 10g, так и на 11g . Все ссылки в схеме MDSYS должны быть удалены.
Мое текущее решение выглядит следующим образом:
На XE:
В Oracle 10g:
10g кажется каскадным удаление метаданных в MDSYS.sdo_index_metadata_table и удаление таблиц пространственных индексов (MDRT_1234 $ и т.п.).
XE этого не делает.
И 10g, и XE не каскадно удаляют метаданные в MDSYS .user_sdo_geom_metadata