一、database link概述
1、 database link是定义一个数据库到另一个数据库的路径的对象,在分布式的系统中一个数据库不可能包含所有的数据信息,有些数据信息是存放在其他的数据库里面的,因此通过dblink就可以实现从其他数据库获取数据的功能。2、database link允许你查询远程表及执行远程程序,另外要注意的是database link是单向的连接。
二、常用的管理脚本1.查看dblinkselect owner,object_name from dba_objects where object_type='DATABASE LINK';
select * from dba_db_links;
2.创建dblink前提:创建dblink的用户有对应的数据库权限
授权的脚本如下:grant create public database link,create database link to myAccount;
创建的dblink脚本如下: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都可以select name,value from v$parameter where name='service_names'
3.使用dblink例如,在本机数据库上创建了一个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 权限.
---------------------------------------------------------------------------------------------------------------
ORACLE 技术交流群:367875324 期待您的加入
---------------------------------------------------------------------------------------------------------------