假设有数据库A和数据库B,数据库B的用户名和密码是:test/11
现在要创建A到B的数据库联接。
假设A的地址、端口和SID为:ipA/1521/sidA,B的为ipB/1521/sidB
要求:
1、需要有两边数据库的用户名密码;
2、两边的数据库所在服务器网络需要互通;
3、需要得到两边数据库的SID和监听端口及数据库地址。
步骤如下:
在A服务器上:
1、登录A所在服务器的oracle用户;
2、进入$ORACLE_HOME/network/admin/目录;
3、编辑tnsname.ora,添加如下内容:
db_B =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ipB)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sidB)
(SERVER = DEDICATED)
)
)
4、保存退出。
在B服务器上:
步骤相同,添加的内容如下:
db_A =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ipA)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sidA)
(SERVER = DEDICATED)
)
)
执行创建dblink的语句:
create database link lnk_A2B connect to test identified by 11 using 'db_B';
说明:其中test和11是B数据库上的有效用户名和密码, db_B是设置在A数据库服务器上tnsname.ora文件中的那段名称
select * from dual@lnk_A2B
如果有结果X,就说明建立连接成功了。