六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 64|回复: 0

Oracle 10g RAC 连接错误 ORA-12545

[复制链接]

升级  68.67%

41

主题

41

主题

41

主题

秀才

Rank: 2

积分
153
 楼主| 发表于 2013-1-14 08:56:37 | 显示全部楼层 |阅读模式
在远端客户端连接RAC数据库时,通过统一的服务名连接时经常会出现ORA-12545错误。
 
 SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。 SQL> CONN NDMAIN@nuagerac输入口令: ****** ERROR:ORA-12545: 因目标主机或对象不存在, 连接失败警告: 您不再连接到 ORACLE。 SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。 SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。 SQL> CONN NDMAIN@nuagerac输入口令: ****** ERROR:ORA-12545: 因目标主机或对象不存在, 连接失败警告: 您不再连接到 ORACLE。   本地数据库TNSNAMES的配置:
 
nuagerac =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.127)(PORT= 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.128)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = nuagerac)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))   Oracle在文档Note:364855.1:RAC Connection Redirected To Wrong Host/IP ORA-12545中进行了相应的描述。并给出了解决方法:
     修改数据库中的初始化参数LOCAL_LISTENER:
 
SQL> CONN SYS@nuage1 AS SYSDBA输入口令: ****已连接。SQL> ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521))' SID = 'nuage1';系统已更改。SQL> CONN SYS@nuage2 AS SYSDBA输入口令: ****已连接。SQL> ALTER SYSTEM SET LOCAL_LISTENER = '(ADDRESS = (PROTOCOL =TCP)(HOST = 192.168.1.128)(PORT = 1521))' SID = 'nuage2';系统已更改。  
  设置之后,再次尝试连接数据库:
 
SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。SQL> CONN NDMAIN@nuagerac输入口令: ******已连接。   修改之后,到目前为止再也没有出现ORA-12545的错误信息
  不过Oracle没有认为这个是bug,只是认为是PROBLEM。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表