前言
Oracle中DB link是定义一个数据库到另一个数据库的路径的对象, DBlink允许你查询远程表和执行远程程序。在任何分布式环境里,DBlink都是必要的,注意DB link是单向的连接。在创建DBlink时,Oracle在数据字典中存储了相关的DB link的信息,在使用DBlink的时候,Oracle会通过Oracle Net用户预先定义好的连接信息访问相应的远程数据库来完成相应的工作。
Oracle DBlink可分为三类
1.private:创建的是用户级别的DBlink,只有创建该DBlink的用户才可以使用这个DBlink来访问远程的数据库,同时也只有该用户可以删除这个DBlink。
2.public:创建的是数据库级别的DBlink,本地数据库中所有的用户数据库访问权限的用户或者pl/sql程序都能使用这个DBlink。
3.global:创建的是网络级别的DBlink,这是对于Oracle Network而言的。
检查创建DBlink需要的权限
查看cc用户是否具备创建DBlink权限。
select * from user_sys_privs where privilege like upper(’%DATABASE LINK%’) AND USERNAME='cc';
如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为cc用户赋予创建权限。
如,给cc用户授予创建DBlink的权限。
grant create public database link to cc;
<