Oracle数据库 - 将对象复制到远程数据库并进行修改,以便仅在本地数据库脱机时才使用远程数据库

时间:2014-06-03 20:15:06

标签: sql database oracle offline

我是论坛的新手,正在研究Oracle SQL和PL / SQL。我已经创建了一个本地数据库和一个数据库链接到远程数据库,我必须复制我的所有对象。

我想我能够将对象从本地数据库复制到远程数据库,但是我的课程材料和谷歌搜索都没有给我很多关于修改对象以使用远程表的指导仅当本地数据库处于脱机状态时。

如果有人做过类似的任务,我会非常感激,并且可以指出我对这个主题的任何好材料的方向。

(我正在使用Oracle 11g Express和Oracle SQL Developer)

非常感谢提前

从原始海报编辑:
我对任务要求做了一些澄清(见下面的评论),我创建了一个新线程来询问我在远程数据库端创建包的下一个问题。谢谢你们到目前为止的帮助。

1 个答案:

答案 0 :(得分:0)

如果数据库A处于脱机状态,从数据库A到数据库B的数据库链接对您没有任何好处,因为它无法访问。 PL / SQL的情况也是如此,如果数据库A关闭,数据库A上的PL / SQL将不可用。这不是您将使用PL / SQL和数据库链接解决的问题。 透明应用程序故障转移(http://docs.oracle.com/cd/B19306_01/java.102/b14355/ocitaf.htm)可以解决部分问题,如果数据库A关闭,则允许连接故障转移到数据库B.但是,除非您再次尝试连接到数据库A,否则在数据库恢复时它不会自动切换回数据库A.您需要在两个数据库上复制PL / SQL代码。

Oracle中已经存在强大的故障转移机制,有些是免费的,需要一些黑客攻击,例如重做日志应用程序,有些代价高昂但受到很好支持,例如Oracle Data Guard。我建议你检查一下你的设计以及你想要完成的任务。如果我必须绝对做你想要做的事情,我会在每个数据库前面抛出一个Web服务,在总是连接到服务A的Web服务前面使用负载均衡器,除非它已经关闭,在这种情况下它将连接到服务B。