DBlink的概念:是一个数据通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。例如 我们现在有 两个oracle数据库在不同服务器上,分别为 ip:1.1.1.1,2.2.2.2服务器上。需求:我要使1.1.1.1可以访问2.2.2.2数据库。
1.需要先在 1.1.1.1上,以sys用户登录到本地数据库,确定用户有创建 dblink 的权限
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
2.如果没有,则需要使用 sysdba 角色给用户赋权(用pl/sql把这三个勾上即可)
3.在1.1.1.1里执行创建 dblink
create [public] database link dblink的名字 connect to 用户名 identified by 密码 using 'ip:端口/实例名 ';
如:create database link dblink_test connect to xxx identified by xxx using '2.2.2.2:1521/aaa ';
4.在1.1.1.1里查询创建的dblink:
select * from dba_db_links;
5.需要删除 即 在1.1.1.1执行
drop database link dblink_test;
6.接下来就可以通过 1.1.1.1访问2.2.2.2里数据库了
SELECT * FROM 2.2.2.2数据库里表名@dblink的名称;
例如:SELECT * FROM user@dblink_test;