Миграция и резервное копирование схем (сложные структуры базы данных) - PullRequest
1 голос
/ 27 октября 2010

Эй, ребята, Мне нужно найти способ резервного копирования, а также перенести нашу базу данных Oracle из производственной схемы в схему dev и наоборот.

У нас есть куча таблиц конфигурации, которые управляют работой систем на нашей платформе, и при настройке новых систем или проведении технического обслуживания нам необходимо обновить наши таблицы конфигурации. Мы хотим иметь возможность работать со схемами dev, и после настройки системы / функции мы хотим иметь возможность перенести все эти конфигурации в схемы dev.

Я подумал о запуске процедуры, в которой мы даем идентификатор системы (из основной таблицы), и я просматриваю все таблицы и выбираю nvl (..), и если его не существует, я вставляю в и если он существует, я просто запускаю обновление в этой строке.

Этот код будет очень запутанным и сложным, особенно потому, что вся схема конфигурации очень сложна, и может быть трудно правильно обработать все ключи.

Другой вариант, на который я смотрел, - это триггеры, поэтому при настройке новой системы будет записываться журнал всех операторов, которые мы выполняли при настройке / редактировании системы, а затем мы запускаем его в нашей производственной схеме. 1009 *

Я работаю в кооперативе и работаю с базами данных только 6 месяцев, так что я не знаю так много, и любая информация / советы будут очень полезны.

(мы используем pl / sql)

Ответы [ 3 ]

1 голос
/ 28 октября 2010

Проверьте инструменты сравнения данных, такие как this Думаю, у TOAD есть один встроенный. Я уверен, что есть и другие.

1 голос
/ 27 октября 2010

Как насчет использования export / import (или datapump) для переноса таблиц конфигурации?

0 голосов
/ 28 октября 2010

Обычно в схеме есть таблицы, которые мы называем «статическими данными», т. Е. Пользователи не изменяют их, потому что они контролируют работу приложения.

Каждое изменение данных конфигурации должноне запускать ad-hoc в целевой среде.Вместо этого вы тщательно проектируете и кодируете свой DML в одном или нескольких сценариях, которые тестируются в среде разработки, проверяются на управление изменениями и при необходимости могут быть перезапущены в любой среде.

...