DBLINK作用
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
数据库中dblink有两种权限:
CREATE DATABASE LINK
所创建的dblink只能是创建者能使用,别的用户使用不了。
CREATE PUBLIC DATABASE LINK
public表示所创建的dblink所有用户都可以使用。
删除dblink:
DROP PUBLIC DATABASE LINK
使用时机
跨数据库或者跨用户使用时。
赋予权限
--查看当前用户是否有创建dblink权限 select * from user_sys_privs t where t.privilege like upper('%link%'); --赋予“创建DBLink”的权限(前提:使用管理员账号登录系统system/admin) grant create public database link,drop public database link to scott; --或直接赋予“DBA”角色 grant dba to scott;
创建DBLINK方式
如果在本地数据库tnsnames.ora文件中配置了要远程访问的数据库:
create public database link dblink_ins connect to ins identified by ayw_ins1 using 'ins';
如果在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库:
create public database link dblink_ins connect to ins identified by ayw_ins1 using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =132.228.xxx.xxx)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = ossmob) ) )';
解释:
create database link 链的名称(我们可以自定义)
connect to 要连接的数据库的用户名
identified by 用户的登录密码
using 要使用的数据库名(tnsnames.ora中的配置项)
如何使用DBLINK?
select * from [email protected]_dev_sz;
解释:
FROM后跟表名,@链名称