database link
1 描述
创建database link 可以实现服务器间数据库的访问。
2 查看权限
user_sys_privs表记录用户的权限,用sys用户登录查看
SQL> select * from user_sys_privs where privilege like upper('%link%'); USERNAME PRIVILEGE ADMIN_OPTION ------------------------------ ---------------------------------------- ------------ SYS DROP PUBLIC DATABASE LINK NO SYS CREATE DATABASE LINK NO SYS CREATE PUBLIC DATABASE LINK NO
CREATE DATABASE LINK
所创建的dblink只能是创建者能使用,别的用户使用不了
CREATE PUBLIC DATABASE LINK
public表示所创建的dblink所有用户都可以使用
DROP PUBLIC DATABASE LINK
删除用户的权限
将权限赋予用户
SQL> grant CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK TO SCOTT; Grant succeeded
3 创建 dblink
使用scott登录,如果本地数据库tnsnames.ora文件中配置了远程访问数据库。
SQL> create public database link to_scott connect to scott identified by tiger using 'PP'; Database link created
to_scott为创建dblink的名称,PP为远程数据库的实例名。scott 与 tiger 分别为用户名和密码。访问远程数据库的方式为
SQL> select * from emp@to_scott;
如果本地库没有配置远程访问数据库的实例,则可以通过以下方式创建dblink
create public database link to_scott connect to scott identified by tiger using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )'

浙公网安备 33010602011771号