【问题标题】:Connect to an oracle instance from another oracle instance on different servers从不同服务器上的另一个 oracle 实例连接到一个 oracle 实例
【发布时间】:2018-02-28 06:01:49
【问题描述】:

如何在具有不同 IP 的不同服务器上的两个 Oracle 实例之间创建数据库链接。假设 A(10g,例如 192.168.1.1)和 B(11g,例如 192.168.1.2)是两个实例。我想从实例 B 访问实例 A 中的数据。

【问题讨论】:

    标签: oracle oracle11g oracle10g dblink


    【解决方案1】:

    人们通常编辑 TNSNAMES.ORA 并在其中包含数据库 B 别名,然后

    create database link dblink
      connect to username_on_B
      identified by password_on_B
      using 'database_B_tnsnames_ora_alias';
    

    或者,如果没有 TNSNAMES.ORA,类似这样:

    create database link dblink
     connect to username_on_B
     identified by password_on_B
     using '192.168.1.2:1521/dbB_service_name';
                        ----
                        port
    

    【讨论】:

    • 谢谢亲爱的小脚。工作!但有一个问题。我在 Oracle Apex 中使用它。当我想将它与我的视图一起使用时,会发生此错误:查找远程对象时发生 ora-04052 错误。但它适用于我的桌子。问题出在哪里?!
    • @Professor 请查看从低版本到高版本连接的兼容性矩阵。具体到小数点后 4 位的确切版本。这可能是由于创建 DB_LINK 的较低版本并尝试连接到较高版本而导致的问题。
    • 你好,@Lalit!很高兴见到你!顺便说一句,就这个问题而言:我预计 10g 和 11g 连接不会出现任何问题;他们足够接近。如果它是分开的几个版本,那么是的 - 一个可能需要一个介于两者之间的“桥梁”数据库,即支持两个数据库之间的 DB 链接的数据库。
    • 你好@Littlefoot!也很高兴见到你。你是对的,10g和11g是兼容的,我认为是9i到11g通常有这个错误。 OP 标记为已接受,因此他现在可能已经解决了错误。
    猜你喜欢
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多