У меня есть база данных Oracle, которую мы скоро удалим. Но я хотел бы сохранить некоторые данные в другом месте, чтобы они могли быть доступны при необходимости.
Есть ли стандартный / рекомендуемый метод для этого? Думал об экспорте в XML, а затем в XML в SQL Server ... или это рекомендуется?
Спасибо,
Если вы не уверены в том, в какие rdbms вы хотите восстановить данные, и не хотите выгружать структуру, вы можете выгрузить ее в файл на сервере oracle, используя внешнюю таблицу (тип oracle_datapump) в виде файла .csv. Это должно быть легко импортировать в любой rdbms.
Другой способ - хранить данные в виде (ANSI-) операторов импорта sql (которые, как и xml, довольно подробны, но хорошо сжимаются). Впоследствии эти утверждения можно легко редактировать.
Вы можете выгрузить ddl для структуры в текстовый файл, используя либо exp / imp, либо dbms_metadata.get_ddl ('table', 'schema', 'user'), но вам придется внести большие изменения в (Oracle- ) ddl для адаптации к другим rdbms.
XML не является хорошим протоколом передачи для перемещения больших объемов данных между СУБД. Я бы предпочел использовать SSIS и таким образом загружать данные из Oracle. Или используйте инструмент массового экспорта Oracle. XML очень раздут и лучше всего подходит для хранения неструктурированных данных или перемещения небольших объемов данных между неизвестными источниками.