当操作本地Oracle数据库时,需要用到另外一个远程Oracle数据库,可以采用创建DBLINK的方式。

    1. 如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限:
      select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
    2. 如果没有,则需要使用 sysdba 角色给用户赋权:
      grant create public database link to dbusername;
    3. 使用该用户登录 PL/SQL,使用命令
      create database link 数据库链接名 connect to 用户名 identified by 密码 using '本地配置的数据的实例名';
      其中 ‘本地配置的数据的实例名’为本地系统中$ORACLE_HOME/network/admin/tnsnames.ora中配置好的远程数据库实例名,如
      RemoteDB =<br />(DESCRIPTION =<br />(ADDRESS_LIST =<br />(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521))<br />)<br />(CONNECT_DATA =<br />(SERVICE_NAME = db)<br />)<br />)
    4. 也可以直接创建连接
      create /* public */ database link RemoteDBLINK<br />  connect to dbusername identified by dbpassword<br />  using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
    5. 操作远程数据库时需要加上 @数据库链接名
      select * from tablename@RemoteDBLINK
      使用图形化管理工具PL/SQL Develop或者Toad创建DB Link比较方便。