数据库 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登陆CEDB为rsc用户赋予创建权限:
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'