作者:容易 2013-03-18 15:19:22
一、权限
DB_LINK 创建需要有相关权限,通常使用create database link与create public database link,分别表示创建私有和公用dblink,dblink建立后不允许通过grant授权给其他用户。另外需要有登陆目标数据库和在目标数据库创建session的权限。
二、授权
grant create database link to oracle;
grant create public database link to oracle;
三、创建dblink
可以使用 $ORACLE_HOME/network/admin/tnsnames.ora 中配置好的tns名称
也可以直接指定,创建方式如下
1、 使用tns文件
create database link testdblink1 connect to oracle identified by oracle
using 'tiger';
2、 直接输入数据库连接信息(其中大小写不敏感)
create database link testdblink2 connect to oracle identified by oracle
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.149)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testdb)
)
)';
3、可以使用简单的写法如下
create database link dblinktest connect to oracle identified by oracle
using '192.168.0.149:1521/testdb';
using '192.168.0.149:1521/testdb';
四、DBLINK查询
普通用户可以查看 user_db_links,dba可以直接查看dba_db_links,all_db_links;
select * from user_db_links;
select * from dba_db_links;
五、使用DBLINK查询
1、直接使用dblink名查询
select * from myblog@testdblink1 ;
2、通过创建同义词进行查询
create synonym link_myblog for myblog@testdblink1;
select * from link_myblog;
3、创建视图封装
create view myblog as select * from myblog@testdblink1;
六、删除dblink,必须具有owner权限
drop database link testdblink1;
drop public database link testdblink1;
七、查看dblink使用情况
select * from v$database link;
select * from gv$database link;
八、关闭dblink session
alter session close database link testdblinks1;
One Response