Sql Oracle数据库—将对象复制到远程数据库并进行修改,使其仅在本地数据库脱机时使用远程数据库

Sql Oracle数据库—将对象复制到远程数据库并进行修改,使其仅在本地数据库脱机时使用远程数据库,sql,database,oracle,offline,Sql,Database,Oracle,Offline,我是这个论坛的新手,正在学习Oracle SQL和PL/SQL。我已经创建了一个本地数据库和一个到远程数据库的数据库链接,我必须将所有对象复制到远程数据库 我想我可以将对象从本地复制到远程数据库,但无论是我的课程材料还是我的谷歌搜索都并没有给我太多的指导,只有在本地数据库离线的情况下才能修改对象以使用远程表 如果有人做过类似的工作,并能为我指出关于这个主题的任何好材料的方向,我将不胜感激 (我与Oracle 11g Express和Oracle SQL Developer合作) 非常感谢 从原始

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

我想我可以将对象从本地复制到远程数据库,但无论是我的课程材料还是我的谷歌搜索都并没有给我太多的指导,只有在本地数据库离线的情况下才能修改对象以使用远程表

如果有人做过类似的工作,并能为我指出关于这个主题的任何好材料的方向,我将不胜感激

(我与Oracle 11g Express和Oracle SQL Developer合作)

非常感谢

从原始海报编辑:

我得到了一些关于任务要求的澄清(见下面的评论),并且我创建了一个新线程来询问关于在远程数据库端创建包的下一个问题。感谢大家迄今为止的帮助。

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


Oracle中已经有了强大的故障切换机制,有些是免费的,需要一些黑客攻击,如重做日志应用程序,有些是成本高昂但支持良好的,如Oracle Data Guard。我建议你回顾一下你的设计和你想要完成的事情。如果我一定要做你想做的事情,我会在每个数据库前面抛出一个web服务,在始终连接到服务a的web服务前面使用负载平衡器,除非它关闭,在这种情况下,它将连接到服务B。

您是说您希望远程数据库中运行的代码正常连接回本地数据库,但随后又依赖远程数据库中的数据吗?即使假设你能解决网络方面的问题(如果你能在学校的远程数据库中创建一个数据库链接,连接回你的本地数据库,我会感到惊讶,如果你有适当的特权,那么网络将面临巨大的挑战),这似乎不是一个合理的体系结构。如果你只是在学习PL/SQL,那么它会比你想得到的复杂得多。非常感谢Justin和Tony-你支持了我的想法,像这样的任务听起来超出了我正在做的课程的范围。我已经要求课程管理员确认要求是什么(他们在回答问题时有点进退两难——这是远程学习,但希望我能得到有用的回答)。我听到一些消息后会发回。事实证明,要求是修改远程数据库上引用表(即视图等)的所有非表对象,以便远程数据库上的对象将引用本地表,除非本地数据库脱机,在这种情况下,它们将引用存储在远程数据库中的表。