oracle db link

数据库  orcl 与 cedb 不在同一台服务器上 

现希望 在 cedb 上 访问 orcl 的数据


1. 权限 

登录cedb,查看是否具备创建database link 的权限,

rsc@CEDB>select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='RSC';

USERNAME           	PRIVILEGE       			ADMIN_
-------------------     ------------------------- 		-------------------
RSC			CREATE	DATABASE LINK      		NO

查询有返回行,表示具备创建database link权限,

否则,则需要使用sys登陆CEDBrsc用户赋予创建权限:

grant create public database link to rsc;

2.新建  db link

create public database link LINK_NEWDX
connect to newdx identified by "newdx"
using 
'(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ORCL_IP)(PORT = ORCL_PORT))
    (CONNECT_DATA =
      (SERVER = DEDICATED )
      (SERVICE_NAME = orcl)
    )
  )';
数据库链接已创建。
如果在 create 之后不加 public, 则创建的 dblink 就不是公共的 , 就只有创建者可以使用

3.使用

登录cedb数据库 查询:

select *  from newdx.customer@LINK_NEWDX 
where customerid='2595B63DCB4AB135E053510C780A3C1EAAAA'

猜你喜欢

转载自blog.csdn.net/a0001aa/article/details/80071724