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'


你可能感兴趣的:(Oracle)