创建DBLINK之后,遇到“ORA-12154: TNS:could not resolve the connect identifier specified”的错误。
其实这个时候,本机的tnsnames.ora里面已经配置好了目标数据库的TNS NAME,而且用sql*plus是可以正常访问的。注意: 所有的操作,都不是在安装了oracle的机器上执行的,因为没有登录权限。
仅看一下错误消息和提示是不行的,网上有人介绍,修改using的内容,改成和TNSNAME描述一致。果然可以。
示例如下:
1. 创建:
create public database link AAAAAAAA.AAAA.COM
connect to username identified by "password"
using 'AAAA_TNSNAME';
2. 测试:
SQL> select * from [email protected]
*
ERROR at line 1:
ORA-12154: TNS:could not resolve the connect identifier specified
SQL>
3. 删除:
drop public database link AAAAAAAA.AAAA.COM;
4. 重新创建:
create public database link AAAAAAAA.AAAA.COM
connect to username identified by "password"
using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBSERVER1-vip)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = DBSERVER2-vip)(PORT = 1521)) (LOAD_BALANCE = yes) (CONNECT_DATA =(SERVICE_NAME = REAL_SERVICE_NAME)))';
5. 测试:
SQL> select * from [email protected];
GLOBAL_NAME
--------------------------------------------------------------------------------
AAAA.AAAA.COM
SQL>
结束。
以上范例,名称以及相关信息,都做了修改。