Я хочу иметь автоматическую синхронизированную передачу из базы данных Oracle в MongoDB. В типичном сценарии RDBMBS я бы установил соединение между двумя базами данных, создав dblink, и передал бы данные с помощью процедур PL/SQL. Но я не знаю, что делать в случае с MongoDB; таким образом, как и что я должен реализовать, чтобы у меня был автоматический переход из базы данных Oracle в MongoDB.
Перенос данных из базы данных Oracle 11G в MongoDB
Ответы (2)
Я бы посмотрел на использование Oracle Goldengate. У него есть обработчик MONGODB. https://docs.oracle.com/goldengate/bd123110/gg-bd/GADBD/using-mongodb-handler.htm#GADBD-GUID-084CCCD6-8D13-43C0-A6C4-4D2AC8B8FA86
https://oracledb101.wordpress.com/2016/07/29/using-goldengate-to-replicate-to-mongodb/
Какой тип данных вы хотите перенести из базы данных Oracle в MongoDB? Если вы просто хотите экспортировать/импортировать небольшое количество таблиц по заданному расписанию, вы можете использовать что-то вроде UTL_FILE на стороне Oracle для создания экспорта таблиц в формате .csv и использования DBMS_SCHEDULER, чтобы запланировать автоматический экспорт в соответствии с желаемым периодом времени.
Вы также можете использовать приложение, такое как SQL Developer
, для экспорта таблиц в файлы .csv, просмотрев таблицу в списке схем, затем щелкните правой кнопкой мыши -> Экспорт и выберите формат .csv. Вам также может быть немного проще использовать UTL_FILE
и DBMS_SCHEDULER
через SQL Developer вместо того, чтобы полагаться на SQL*Plus
.
Получив файлы .csv, вы можете использовать mongoimport. для импорта данных, хотя я не уверен, поддерживает ли MongoDB
запланированные задания, такие как Oracle
(я работаю в основном с последним). Если вы используете Linux
, вы можете использовать cron
для планирования сценария, который будет импортировать CSV-файл на запланированный интервал.