oracle数据库沙箱

时间:2012-02-21 09:39:18

标签: oracle

是否可以创建数据库服务器“sandbox”?
因此,有一个主服务器包含真实数据和沙箱服务器,如果沙箱没有缓存数据,应该将读取请求分派给主服务器。
对于写入请求,它应创建数据的本地副本,并对该副本应用更改,而不会对主服务器产生任何影响。

2 个答案:

答案 0 :(得分:4)

你可以建立这样的东西。

  1. 使用指向主数据库的数据库链接创建本地Oracle数据库。
  2. 将您感兴趣的每个对象的DDL从master数据库复制到本地数据库,重命名每个表(即EMP变为EMP_LOC)。
  3. 在本地数据库中为表格的远程副本和本地副本之间执行UNION ALL的每个表创建一个视图。
  4. 在本地视图上创建INSTEAD OF触发器,仅将更改写入本地表。
  5. 虽然你可以做这样的事情,但是你想要的并不明显。设置和维护是相当多的工作,性能很容易变得容易变得狡猾。并且这种方法解决的问题并不明显 - 它不会取代隔离开发,测试和登台环境的需要。而且我很难想出很多用例,这种“沙盒”会比其中一种环境更好。

答案 1 :(得分:1)

@Justin Cave提供了一个很好的方法..但是,如果您想使用最新数据处理新内容,可能应该考虑创建一个虚拟机并拍摄PROD实例的快照。