IT猫扑网文章教程

分类分类

Oracle 10g RAC连接错误的处理

2015-06-28 00:00作者:网管联盟

  在远端客户端连接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。

  这边我特别的说明下:我用的oracle的版本是 10.2.0.4,OS:Redhat as 4.5

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消