环境说明:数据库版本:oracle11g
Oracle1:1.1.1.1 beijing bj/admin table:bjtest
Oracle2:2.2.2.2 xian xa/admin table:xatest
使用场景:oracle1用户bj需要在本地查询Oracle2中用户xa创建的表:xatest
- 安装oracle11g数据库
省略:查看oracle服务器名:select * from global_name;
2、配置
2.1配置oracle1信息
Oracle1:
创建用户bj:create user bj identified by admin;
赋权限登录:grant connect,resource,dba to bj;
赋权bj连接:grant create public database link to bj;
2.2 配置oracle2用户信息
创建用户:create user xa identified by admin;
赋权登录:grant connect,resource,dba to xa;
2.3 oracle2上创建表和插入数据
conn xa
创建表xatest
插入数据
提交数据commit;
2.4 创建dblink关系
在oracle1数据库中创建对应关系
create public database link xa_link
connect to xa identified by admin
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 2.2.2.2)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = xian)))';
添加对方映射关系
D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 2.2.2.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
25 测试
在源主机数据库中查询dblink
select * from 对方表名@dblink名
在目的库中更新表内容
源主机数据库重新查询
附录
如果将oracle客户端和服务端安装在同一台服务器上,安装完客户端后和plsql后,可能会造成进入数据库失败:ORA-12560: TNS:protocol adapter error
解决办法:
调整为oracle11g的安装路径
同时将环境变量中服务器的安装路径上移
Telnet 1521端口不通
修改配置文件中localhost为主机名
D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora