数据库 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'