如何在两个oracle实例之间创建数据库链接

时间:2012-11-07 09:54:28

标签: oracle dblink

如何在Oracle实例之间创建数据库链接,假设A和B是两个实例。我想从实例A中访问实例B中的数据。

6 个答案:

答案 0 :(得分:9)

作为一个简单的例子:

CREATE DATABASE LINK _dblink_name_
  CONNECT TO _username_
    IDENTIFIED BY _passwd_
      USING '$_ORACLE_SID_'

了解更多信息: http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm

答案 1 :(得分:7)

如果您要从实例A访问实例B中的数据,则为查询, 您可以编辑自己的凭据。

CREATE DATABASE LINK dblink_passport
CONNECT TO xxusernamexx IDENTIFIED BY xxpasswordxx
USING
'(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=xxipaddrxx / xxhostxx )
(PORT=xxportxx))
(CONNECT_DATA=
(SID=xxsidxx)))';

执行此查询访问表后

SELECT * FROM tablename@dblink_passport;

您可以执行DML,DDL,DQL的任何操作

答案 2 :(得分:3)

创建数据库链接

创建数据库链接dblinkname
连接到$ usename
通过$ password识别 使用' $ sid';

以上数据库链接的示例查询

从tableA @ dblinkname;

中选择*

插入tableA(select * from tableA @ dblinkname);

答案 3 :(得分:1)

创建数据库链接后,如果两个实例存在于两个不同的数据库中,则需要在A计算机上设置TNS条目,以便它解析B. check out here

答案 4 :(得分:0)

创建数据库链接“ NAME”   连接到USERNAME     由PASSWORD识别       使用“ SID”;

指定共享以使用单个网络连接来创建可以在多个用户之间共享的公共数据库链接。如果指定SHARED,则还必须指定dblink_authentication子句。

指定PUBLIC创建可用于所有用户的公共数据库链接。如果省略此子句,则数据库链接是私有的,仅对您可用。

答案 5 :(得分:0)

有两种方法可以创建数据库链接:

  1. 使用 tnsnames:

第一步:

在源的 tns 名称中添加目标数据库服务详细信息:

 <addressname> =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(Host = <hostname of target db>)(Port = <port of target db listener>))
    )
  (CONNECT_DATA =
    (SERVICE_NAME = <service name of target db>)
  )
 )

第 2 步:

数据库链接可以是公开的或私有的。公共数据库链接是任何用户都可以使用的链接。私有数据库链接只能由数据库链接的所有者使用。

以下是创建私有和公共数据库链接的命令:

公共数据库链接

CREATE PUBLIC DATABASE LINK <dbklink name>
CONNECT TO <target db userschemaname>
IDENTIFIED BY <target db userschemapassword>
USING '<addressname defined in tns>';

私有数据库链接

连接到我们需要私有数据库链接的用户架构:

CREATE  DATABASE LINK <dbklink name>
CONNECT TO <target db userschemaname>
IDENTIFIED BY <target db userschemapassword>
USING '<addressname defined in tns>';
  1. 使用完整的连接字符串。

    创建数据库链接dblink 连接到由 使用'(描述= (ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=目标数据库监听器的端口)) (CONNECT_DATA=(SERVICE_NAME=)) )';

cdb 配置步骤相同