1、database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。
2、在创建database link的时候,Oracle在数据字典中保存相关的database link的信息,在使用database link的时候,Oracle通过Oracle Net用用户预先定义好的连接信息访问相应的远程数据库以完成相应的工作。
database link的创建
创建dblink的用户有对应的数据库权限,创建dblink命令为:
create public database link;
或者
create database link;
如果用户没有权限创建dblink,则可以通过管理员身份并使用以下语句来授权(myAccount表示需要被授予创建dblink的用户) :
grant create public database link, create database link to myAccount;
查看dblink
select owner,object_name from dba_objects where object_type='DATABASE LINK';
/*或者*/
select * from dba_db_links;
database link删除
删除public类型的database link
DROP PUBLIC database link link_name;
删除非public类型的database link
注意:只有owner自己能删除自己的非public类型database link
DROP database link link_name;
实例:
1、已经配置本地服务
语法:Create DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;
create public database link link_test connect to user1 identified by user1pwd using ‘orcl’
2、未配置本地服务
host=数据库的ip地址,service_name=数据库的ssid
create database link link_test connect to user1 identified by user1pwd
using ' (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.80.9.1)(PORT=1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
相关文章
暂无评论...