全部升级完毕后,进行数据库连接,结果发现节点1可以正常连接,节点2通过监听连接时报错:
SQL> conn system/ admin0@racdb
ERROR:
ORA-12537: TNS: 连接关闭
但是,客户端tnsping该服务确是通的:
C:\Users\Administrator>tnsping racdb
TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on 27-11月-2013 15:57:20
Copyright (c) 1997, 2006, Oracle. All rights reserved.
已使用的参数文件:
G:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.66.11)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.66.12)(PORT=1521)) (LOAD_BALANCE=ye
s) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=ecis)) (FAILOVER_MODE = (TYPE = SELECT)(METHOD = RECONNECT)(RETRIES = 180) (DELAY = 5)))
OK (50 毫秒)
因为关闭节点2上的服务,节点1可以正常连接;所以,这个错误是在关闭节点1后(如果节点1打开,则客户端会连到节点1上去),连接数据库时报错。客户端tnsnames.ora配置:
racdb =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.66.11)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.66.12)(PORT=1521))
(LOAD_BALANCE=yes)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=rscdb)
)
(FAILOVER_MODE =
(TYPE = SELECT)(METHOD = RECONNECT)(RETRIES = 180) (DELAY = 5)
)
)
因为之前节点1出现过文件权限问题,导致实例无法启动,所以节点2的错误,感觉也和权限有关。而且监听的常见问题无非是:
? listener,tnsnames,sqlnet,etc/hosts配置不对应。
? 权限不对,比如/home/oracle,用户组设置出错。
? $ORACLE_HOME/bin的oracle文件权限不对。
节点1:
RAC01:/oracle/oracle/11.2.0/db_1/bin> ll oracle
-rwsr-s--x 1 oracle oinstall 553693192 Nov 27 10:05 oracle
节点2:
RAC02:/oracle/oracle/11.2.0/db_1/bin> ll oracle
-rwxr-sr-x 1 oracle oinstall 553693192 Nov 27 10:58 oracle
可以看到,两个节点上的oracle文件权限不对。而且,metalink上对该错误也有说明:MOSID 1069517。
修改节点2上oracle用户的权限:
RAC02:/oracle/oracle/11.2.0/db_1/bin> chmod u+s oracle
RAC02:/oracle/oracle/11.2.0/db_1/bin> ll oracle
-rwsr-sr-x 1 oracle oinstall 553693192 Nov 27 10:58 oracle
在节点2上重启监听:
RAC02:/oracle/grid> srvctl stop listener
RAC02:/oracle/grid> srvctl start listener
客户端再次连接:
SQL> conn system/ admin0@racdb
已连接。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/751371/viewspace-1061272/ ,如需转载,请注明出处,否则将追究法律责任。