Oracle DBLINK的相关知识整理

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。

相关文章
相关标签/搜索