red hat5系统上的oracle 10.2.0.4 RAC
连接数据库的时候经常报如下错误:
ORA-12545: Connect failed because target host or object does not exist
多次tnsping都没有问题
用sqlplus或者jdbc客户端连接会报错
这个问题可以通过设置rac数据库各个节点的local_listener参数来解决,有两种方式:
方式1
在RAC的每个节点上编辑$ORACLE_HOME/network/admin/tnsnames.ora,增加
local_listener_rac=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
)
其中对应每个节点各自的vip地址;
在rac的任意一个节点上修改数据库参数,设置local_listener为local_listener_rac
$ sqlplus / as sysdba
SQL> alter system set local_listener='local_listener_rac' scope=spfile;
重新启动各个节点上的数据库实例
方式2
也可以按照metallink上id为364855.1的文档使用如下方法修改
在rac的每个节点上执行如下语句设置local_listener参数
alter system set LOCAL_LISTENER="(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT=1521))" scope=both sid='instance_name1';
alter system set LOCAL_LISTENER="(ADDRESS=(PROTOCOL=TCP)(HOST=vip2)(PORT=1521))" scope=both sid='instance_name2';
alter system register;
每次只修改当前实例的参数
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13177610/viewspace-679532/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13177610/viewspace-679532/