oracle10g的rac中,客户端连接报ora-12545错误

在oracle10g的rac中﹐客户端连接的时候不时报﹕ORA-12545错误

网友的解决办法是﹕
solaris下oracle10g rac 报ora-12545错误解决方案
 
这几天安装oracle rac,我也主要是学习阶段.
数据库安装完毕,启动正常,监听启动正常.问题来了.
一、问题描述
 
操作系统solaris 10 1/06  sparc 64bit,oracle 10g 10.2.0.2 for solaris 10 sparc 64bit
当客户端连过来时客户端有时能连通,有时却断开提示错误
SQL> conn system/oracle@sun
已连接。
SQL> conn system/oracle@sun
ERROR:
ORA-12545: 因目标主机或对象不存在,连接失败
警告: 您不再连接到 ORACLE。
SQL> conn system/oracle@sun
已连接。
SQL> conn system/oracle@sun
已连接。
SQL> conn system/oracle@sun
ERROR:
ORA-12545: 因目标主机或对象不存在,连接失败
警告: 您不再连接到 ORACLE。
SQL>
客户端tns配置
SUN=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.128)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.129)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test)
    )
  )
服务器端
10.0.0.128  node1-vip
10.0.0.129  node2-vip 是虚拟ip(vip)
10.0.0.120  node1
10.0.0.123  node2   是公网ip
二、解决方案

1.客户端hosts表全部加上VIP地址

2.设置local_listener参数

SQL> show parameter list
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string     
remote_listener                   string      LISTENERS_TEST
 
登录节点1
SQL>alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.128)(PORT = 1521))' sid='rac1';

登录节点2
SQL>alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.129)(PORT = 1521))' sid='rac2';

IP地址为VIP地址。


3 重启所有实例 所有监听


你可能感兴趣的:(RAC,10g,ora-12545,有时可以连接)