客户资产系统本月20号到今天陆续发生使用过程 中无法连接数据库群集服务节点的问题。发现问题时weblogic 群集服务正常,远程登陆到数据库使用sqlplus无法连接群集中 的某一个(不是特定的一个)。
以下是客户DBA总结的问题情况
时间 | 问题类型 | 问题描述 | 产生原因 | 解决方案 |
11.22-26 | 数据库服务问题 | 正常使用资产系统过程中,出现无法登陆系统,无法直接连接数据库 | 数据库连接出错,可能是网络或数据库服务本身的原因引起的服务器传 | 下次再发生类似情况时,ssh到服务器,看是否可本地登录数据库 |
11.26 14:35 | 数据库服务问题 | 在客户端手动安装数据库汇总程序时,中途断开与数据库连接,只能直连至10.232.1.81的群集数据库节点,数据库服务未见异常,资产系统仍能使用 | 不明原因产生的数据库节点无法连接 | 重启有问题的数据库服务,针对具体原因作数据库调整。 |
11.27 上午 | 数据库服务问题 | 使用资产系统时,出现无法直连1.81数据库节点,节点1.80正常,数据库服务未见异常,资产系统能正常使用 | 不明原因产生的数据库节点无法连接 | 重启数据库两个节点的实例 |
11.30 8:20 | 数据库服务问题 | 正常使用过程中,出现无法登陆资产系统,sqlplus无法直接连接数据库1.80节点,报ORA-00018:超出最大会话数,节点不能自动恢复正常 | 不明原因产生的数据库节点无法连接 | 重启数据库两个节点的实例 |
此问题持续发生影响到系统使用,具体原因尚不清楚 ,附件是应用服务端的日志及数据库aler t,trace日志。(此处略)
问题回复:
问题1:在1126_14点35-----alert_eamdb1.log中出现下列错误信息
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
Mon Nov 26 14:40:58 2007
WARNING: inbound connection timed out (ORA-3136)
回复:这是Oracle一个内部错误(bug)。
解决方法:
1.在listener.ora中添加INBOUND_CONNECT_TIMEOUT_instance_name=0
2.在服务器上的sqlnet.ora文件中添加SQLNET.INBOUND_CONNECT_TIMEOUT=0
3.重新装入侦听服务lsnrctl reload
问题2:在1126_14点35-----alert_eamdb1.log中出现下列错误信息
Mon Nov 26 14:43:33 2007
Errors in file /opt/app/oracle/admin/eamdb/bdump/eamdb1_lmon_1039.trc:
ORA-29702: error occurred in Cluster Group Service operation
LMON: terminating instance due to error 29702
Mon Nov 26 14:43:33 2007
Errors in file /opt/app/oracle/admin/eamdb/bdump/eamdb1_lms0_1043.trc:
ORA-29702: error occurred in Cluster Group Service operation
Mon Nov 26 14:43:33 2007
Errors in file /opt/app/oracle/admin/eamdb/bdump/eamdb1_lms2_1051.trc:
ORA-29702: error occurred in Cluster Group Service operation
回复:这是Linux引起的错误,Linux系统可能重设了/etc/hosts文件引起的通讯问题。
解决方法:
确保在 /etc/hosts 文件的回送地址中不包含节点名(zcdb1 或 zcdb2)。如果机器名出现在回送地址条目中,如下所示:
127.0.0.1 zcdb1 localhost.localdomain localhost
需要将其如下删除:
127.0.0.1 localhost.localdomain localhost
问题1:在30号8点20-----alert_eamdb1.log中出现下列错误信息
Fri Nov 30 03:12:13 2007
Errors in file /opt/app/oracle/admin/eamdb/bdump/eamdb1_reco_27875.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00018: maximum number of sessions exceeded
回复:该问题和应用相关,查询相应的processes和sessions,open_cursors设置,根据情况再作进一步处理。
SQL> show parameter processes
SQL> show parameter sessions
SQL> show parameter open_cursors
SQL> select count(*) from v$process;
SQL> select count(*) from v$session;