песочница базы данных оракула - PullRequest
1 голос
/ 21 февраля 2012

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

Ответы [ 2 ]

4 голосов
/ 21 февраля 2012

Вы могли бы построить такую ​​вещь.

  1. Создание локальной базы данных Oracle со ссылкой на базу данных, указывающей на основную базу данных.
  2. Скопируйте DDL для каждого интересующего вас объекта из основной базы данных в локальную.база данных переименовывает каждую таблицу (т. е. EMP становится EMP_LOC).
  3. Создайте представление в локальной базе данных для каждой таблицы, которое выполняет UNION ALL между удаленной и локальной копиями таблицы.
  4. Создайте триггер INSTEAD OF в локальном представлении, который записывает любые изменения только в локальную таблицу.

Хотя вы могли бы сделать такую ​​вещь, однако, не очевидно, почему вы хотитек.Это было бы довольно много работы по настройке и поддержанию, и производительность могла бы легко стать хитрой.И неясно, какую проблему решает этот подход - он не заменит необходимость иметь изолированные среды разработки, тестирования и промежуточной среды.И мне трудно придумать множество случаев использования, когда подобная «песочница» предпочтительнее одной из этих сред.

1 голос
/ 21 февраля 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...