db-link dblink – oracle查询、创建db-link

Oracle Liemer_Lius 917℃

1. 查询已有dblink

select owner,object_name from dba_objects where object_type='DATABASE LINK';
select * from dba_db_links;

2. 创建dblink

前提: 创建dblink的用户有对应的数据库权限,create public database link 或者create database link
如果没有这个权限,可以使用如下语句授权:

grant create public database link,create database link to myAccount;

创建:

create public database link link_name connect to db_user identified by user_passwd using '(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=ora12c))
)';

如果在create之后不加public,则创建的dblink就不是公共的,就只有创建者可以使用了.

如何确定数据库的servicename?

show parameter[s] service_names;
或
select name,value from v$parameter where name='service_names';

3. 创建和使用dblink示例:

A的servicename为liusdb1;B的servicename为liusdb2.
B上有一个可以查询所有表的用户:liusx
A上创建一个dblink lius_link,用liusx用户作为桥梁:

create public database link lius_link connect to liusx identified by lius_password using '(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.111)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=liusdb2))
)';

使用:

select * from v$parameter@lius_link;

4.删除dblink

和创建相似,用户有createpublic database link 或者create database link 权限.

drop public database link dblinkname;

参考:https://blog.csdn.net/qq_30553235/article/details/78688352

转载请注明:liutianfeng.com » db-link dblink – oracle查询、创建db-link

喜欢 (0)

评论已关闭。