1、DBLINK(Database Link)概念sql
dblink,顾名思义就是数据库的连接。当咱们要跨本地数据库访问另外一个数据库中的表的数据时,在本地数据库中就必需要建立远程数据库的dblink,经过该dblink就能够达到访问远程数据库中表中数据的目的。数据库
注意:dblink是单向的链接。测试
2、DBLINK中的一些语法spa
一、查看库中已建的dblink:code
select * from dba_db_links;
或者blog
select owner,object_name from dba_objects where object_type='DATABASE LINK';
经过以上sql能够查询出相应的数据库下已建的dblink;字符串
二、建立dblink:string
前提:建立dblink的用户必须有建立的权限,可使用下面语句进行受权:class
grant create public database link,create database link to myAccount;
dblink建立语法以下:登录
CREATE [PUBLIC] DATABASE LINK dblinkname CONNECT TO username IDENTIFIED BY password USING 'connectstring'
说明:
1)权限:若是在create以后不加public,则建立的dblink就不是共用的,就只有建立者本身可使用,一个公用的dblink对于数据库中全部用户都是可用的。
2)link:当本地GLOBAL_NAME=TRUE时,link名必须与远程数据库的全局数据库名global_name相同,不然会报以下错误:
Oracle ORA-02069: 此操做的 global_names 参数必须设置为 TRUE
3)'connectstring':链接字符串,在配置文件tnsnames.ora中定义远程数据库的链接串。
注*若在远程数据库的tnsnames.ora中未配置本地数据库的connectstring,则在本地建立dblink的时候必须使用字符串建立,database不可以使用别名。
4)username、password:远程数据库的用户名,口令。若是不指定,则默认使用当前的用户名和口令登陆到远程数据库。
三、测试建立的dblink是否可用:
SELECT * FROM worker@zrhs_link;
若可查出数据,则代表dblink是通的可用~~~
四、删除dblink:
1)删除public的dblink:
DROP PUBLIC database link link_name;
2)删除非public的dblink:
DROP database link link_name;
注*只有owner本身能删除本身的非public类型dblink。