dblink的作用
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。
查看本地数据库是否拥有创建dblink的权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
- 如果有权限显示如下
- 如果没有权限,登录到sys用户下面授予相应权限
grant CREATE PUBLIC DATABASE LINK,CREATE DATABASE LINK,DROP PUBLIC DATABASE LINK to local_username;
在本地数据库下面创建dblink
- 创建语法如下
- 创建案例
create public database link dblink_name
connect to remote_username identified by remote_password
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';
查看创建的dblink的信息
select * from dba_db_links;
select * from all_db_links;
select owner,object_name from dba_objects where object_type='DATABASE LINK';
在本地数据库里面查询远程数据库的表信息
select * from table_name@dblink_name;
删除dblink
drop public database link dblink_name;
注释
-
local_username:
本地数据库用户名 -
dblink_name:
创建dblink的名称 -
remote_username:
远程数据库用户名 -
remote_password:
远程数据库密码 -
HOST:
远程数据库IP -
SERVICE_NAME:
远程数据库实例名 -
table_name:
远程数据库表名
参考资料
- https://blog.csdn.net/qq_31968809/article/details/80016950
- https://www.cnblogs.com/f204eng/p/3179410.html
- http://psoug.org/definition.htm/create_database_link.htm