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

Aru*_*mar 20 oracle dblink

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

小智 10

举个简单的例子:

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


ana*_*ule 10

如果要从实例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)))';
Run Code Online (Sandbox Code Playgroud)

执行此查询访问表后

SELECT * FROM tablename@dblink_passport;
Run Code Online (Sandbox Code Playgroud)

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


pav*_*028 6

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

\n
    \n
  1. 使用 tnsnames:
  2. \n
\n

步骤1:

\n

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

\n
 <addressname> =\n  (DESCRIPTION =\n    (ADDRESS_LIST =\n      (ADDRESS = (PROTOCOL = TCP)(Host = <hostname of target db>)(Port = <port of target db listener>))\n    )\n  (CONNECT_DATA =\n    (SERVICE_NAME = <service name of target db>)\n  )\n )\n
Run Code Online (Sandbox Code Playgroud)\n

第2步:

\n

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

\n

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

\n

公共数据库链接

\n

创建数据库链接 dblink\n连接到\n使用 \'(DESCRIPTION=\n(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=目标数据库侦听器的端口))\n(CONNECT_DATA=(SERVICE_NAME=)) \n)\';

\n

私有数据库链接

\n

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

\n
CREATE  DATABASE LINK <dbklink name>\nCONNECT TO <target db userschemaname>\nIDENTIFIED BY <target db userschemapassword>\nUSING \'<addressname defined in tns>\';\n
Run Code Online (Sandbox Code Playgroud)\n
    \n
  1. 使用完整的连接字符串。
  2. \n
\n
 <addressname> =\n  (DESCRIPTION =\n    (ADDRESS_LIST =\n      (ADDRESS = (PROTOCOL = TCP)(Host = <hostname of target db>)(Port = <port of target db listener>))\n    )\n  (CONNECT_DATA =\n    (SERVICE_NAME = <service name of target db>)\n  )\n )\n
Run Code Online (Sandbox Code Playgroud)\n

cdb 配置步骤相同

\n