Oracle dblink创建使用

1、首先要有创建Database Link 的权限。可通过语句查看当前用户是否有权限:

SELECT * FROM USER_SYS_PRIVS;

如果没有权限,使用系统管理员用户登陆后给当前用户授权:

GRANT CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK TO user;

(注意:PUBLIC 加了之后表示公用的,不加 PUBLIC 表示只有当前用户可用)

2、确保网络畅通,即数据库1所在的网络能够连接到数据库2端口。如果创建双向dblink则需要开通两端数据库端口,如果单项dblink则只需要开通源端到被访问的目标端数据库端口即可。如果dblink创建使用物理IP则只需要开通到集群任意一个节点的物理IP端口即可,如果使用scanIP还需要开通俩个vip端口,不然仅通过scanIP dblink无法飘到虚拟ip的端口。

3、创建Dblink,这里有两种方法:一种是直接修改tnsnames.ora文件,一个是在创建Dblink时直接加数据库连接。

方法一:修改tnsnames.ora文件编辑tnsnames.ora文件,在文件末尾追加数据库2的链接。

DBLINK1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 16.0.xx.xxx)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = EAST)
    )
  )  

创建Dblink:

CREATE PUBLIC DATABASE LINK DBLINK_NAME CONNECT TO user IDENTIFIED BY user USING 'DBLINK1 ';

可通过语句查看:

SELECT * FROM DBA_DB_LINKS;

方法二:

CREATE PUBLIC DATABASE LINK DBLINK_NAME CONNECT TO user IDENTIFIED BY user USING '(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 16.0.xx.xxx)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = EAST)
    )
  )';

4、使用Dblink:

sqlplus  user/user
SELECT * FROM user_tables@DBLINK_NAME;
上一篇:重新整理,再出发吧~!


下一篇:Python 基础语法 - 逻辑运算符