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