Автоматическая синхронизация таблиц Oracle с таблицами MySQL [закрыто]

StackOverflow https://stackoverflow.com/questions/20811

  •  09-06-2019
  •  | 
  •  

Вопрос

Университет, в котором я работаю, использует Oracle для системы баз данных.В настоящее время у нас есть программы, которые мы запускаем ночью, чтобы загрузить то, что нам нужно, в некоторые локальные таблицы доступа для наших нужд тестирования.Доступ к этому сейчас становится слишком ограниченным, и нам нужно что-то большее.Кроме того, ночные задания требуют постоянного сопровождения для продолжения работы (из-за проблем с сетью, изменений в таблицах, плохого кода :)), и я хотел бы устранить их, чтобы освободить нас для более важных дел.

Я больше всего знаком с MySQL, поэтому я настраиваю тестовый сервер MySQL.Каков наилучший способ автоматизировать копирование необходимых таблиц из Oracle в MySQL?

Редактировать:Я принял этот ответ.Мне не нравится этот ответ, но он кажется правильным, основываясь на дальнейших исследованиях и отсутствии других предоставленных ответов.Спасибо всем, что обдумали мой вопрос и ответили на него.

Это было полезно?

Решение

Я не думаю, что на самом деле есть что-то, что может это сделать.Если бы вы могли настроить локальную базу данных Oracle, то, скорее всего, смогли бы, поскольку у Oracle есть различные средства для поддержания двух баз данных "в синхронизации", при условии, что они обе являются Oracle.

Если вы должны использовать mysql, то, скорее всего, вам просто нужно будет написать что-то для синхронизации данных, это, конечно, всегда будет приводить к тем же проблемам, которые у вас сейчас возникают с доступом к "базе данных".

Вы могли бы настроить что-то с помощью HSODBC и триггеров, но

  1. Я обнаружил, что HSODBC очень нуждается в памяти
  2. Это только увеличит нагрузку на вашу базу данных, которая, по вашим словам, и так сильно загружена в течение дня.

Если главное, что вы делаете, это хотите получить локальную тестовую копию вашей базы данных Oracle, вам было бы лучше настроить синхронизацию с локальной версией oracle, насколько я могу судить по лицензиям, oracle бесплатна для копий для разработки (я видел несколько сообщений об обратном, но если вы обнаружите, что это так, вы всегда можете использовать что-то вроде Oracle XE)

Другие советы

Не могли бы вы просто скопировать таблицы Oracle, а затем настроить их как связанные таблицы в MS Access?Таким образом, интерфейс остается неизменным, плюс вы сохраняете все в Oracle (меньше движущихся частей, чем при экспорте и импорте).

Как сказала Келлин, существует множество бесплатных инструментов.Одним из них является SQLWorkbench http://www.sql-workbench.net/, который работает с любой базой данных JDBC, поэтому MySQL и Oracle должны работать.При необходимости он может создавать таблицы в Oracle или просто копировать только (обновленные) данные.

Существует множество доступных инструментов для переноса данных из oracle в mysql, если ваша база данных не очень сложная.

Вы можете использовать инструменты с открытым исходным кодом такие как Kettle pentaho ETL tool или платные корпоративные инструменты такие как DB convert: https://dbconvert.com/oracle/mysql/

Наконец, вы можете написать скрипт или программу, которая переносит данные.

Пожалуйста, найдите ссылки, связанные с вашим вопросом:

https://dba.stackexchange.com/questions/150343/how-to-sync-a-mysql-db-with-a-oracle-db

Миграция с Oracle на MySQL

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top