oracle建立db-link 测试条件 两台服务器 远程:ip:192.168.0.18,sid: usertest,用户名:usertest,密码:123456 本地:ip: 192.168.8.
oracle建立db-link
测试条件
两台服务器
远程:ip:192.168.0.18,sid: usertest,用户名:usertest,密码:123456
本地:ip: 192.168.8.90,sid: wjn,用户名:userwjn,密码:mosquito0
参数设置
1. 查看数据库global_name
执行select * from global_name;
远程数据库18返回: usertest.us.oracle.com
本地数据库90返回: db_wjn.regress.rdbms.dev.us.oracle.com
2. 查看global_name参数
sql>show parameterglobal_name;
name type value
----------------------------------------------- ------------------------------
global_names boolean false
该参数为true时,本地连接的dblink的名称必须和远程的global_name一致.
3. 查看是否支持高级复制功能
查看v$option视图, advanced replication为true则支持,否则不支持
select * from v$option t wheret.parameter like 'advanced replication%';
建立方法
1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库。
create database link usertest_18connect to usertest identified by xxxx using 'usertest_192.168.0.18';
其中usertest_18是你创建的dblink名字,usertest是远程数据库的实例名,,usertest/xxxx是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库18中dual表,sql语句如下所示
select * from dual@ usertest_18;
2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库
create public database link usertest_18
connect to usertest
identified by 123456 using
'(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.0.18)(port = 1521))
)
(connect_data =
(sid = usertest)
(server = dedicated)
)
)';
第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。第一种情况tnsnames.ora文件中信息如下:
usertest_192.168.0.18 =
(description =
(address_list =
(address = (protocol = tcp)(host = 192.168.0.18)(port = 1521))
)
(connect_data =
(sid = usertest)
(server = dedicated)
)
)
