oracle DB LINK 应用

创建DBLINK 有两种方法

一: 动态DB LINK

-- Create database link
create public database link MYLINK2
  connect to USERID
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = DB2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DS2)
    )
  )';

说是动态并不是真正动态的,只是这种方式可以随时建立,适合程序临时使用.

二:SERVER TO SERVER DB-LINK

-- Create database link
create public database link MYLINK
  connect to USERID
  using 'DB2.TNSNAME';

该方法需要在当前的SERVER上建立名为 'DB2.TNSNAME' 的TNS .
注意是在SERVER上建TNS,不是CLIENT. 很多人建了DB-LINK 就会报错ORA-12154 ,就是这个原因.

建好后可以访问远端数据DB2.

select * from TABLE1@MYLINK2  where comFORT='1'

也可以继续建立synonym (同义词)
-- Create the synonym
create or replace public synonym r_db2
for sys.table1@MYLINK2;

那么就可以用
select * from r_db2  where comFORT='1'
代替刚才的查询.