工作中接触到DBLINK,想多了解一下
实验对象为本地主机的两个库ORCL、ORCL1,tnsnames.ora如下:
ORCL1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl1)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
用户1: hr/hr@orcl 用户2:scott/tiger@orcl1
注意:在scott@orcl1上创建指向hr@orcl的数据库链接,orcl1上没有名为hr的用户
1.查看用户权限
--查询是否直接赋予了创建DBLINK的权限
SELECT * FROM USER_SYS_PRIVS WHERE PRIVILEGE LIKE '%DATABASE LINK%';
--如果有DBA角色也能建DBLINK
SELECT * FROM USER_ROLE_PRIVS;
--查询现有DBLINK
SELECT OBJECT_NAME,CREATED,STATUS FROM USER_OBJECTS WHERE OBJECT_TYPE='DATABASE LINK';
注意:创建DBLINK的用户要有创建权限,DBLI