DBLINK

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 04:50   639   0



database link概述

database link 是定义一个数据库到另一个数据库的路径的对象, database link 允许你查询远程表及执行远程程序。在任何分布式环境里,database 都是必要的。另外要注意的是 database link 是单向的连接。

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 dblinkname connect to username identified by password

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = database_ip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME =servicename)

)

)';

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

补充:如何确定数据库的servicename:

1.在sqlplus中使用

show parameter[s] service_names;

注意parameter和parameters都可以

2.使用

select name,value from v$parameter where name='service_names'

3.使用db link

例如,在本机数据库上创建了一个scott_rmthost的public dblink(使用远程主机的scott用户连接),则用sqlplus连接到本机数据库,执行select * from scott.emp@scott_rmthot即可以将远程数据库上的scott用户下的emp表中的数据获取到.

也可以在本地建一个同义词来指向scott.emp@scott_rmthost,这样取值就方便多了.

4.删除

注意:用户有create public database link 或者create database link 权限.

drop public database link dblinkname;

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP