环境:oracle 11.2.0.1 +rac +AIX 6.1建立两套数据库
(2011-03-16 12:56:29)
标签:
杂谈 |
分类: RAC |
环境:oracle 11.2.0.1 +rac +AIX 6.1建立两套数据库
1 问题描述
2010年11月29日下午15点左右,p570a主机telnet不进去,应用新建连接不成功,严重影响到业务,16点赶到用户现场,进行应急处理。
现把本次数据库应急故障处理、问题分析过程总结如下:
2 应急处理
通过hmc控制台,登录到p570a主机,输入任何命令都报内存不足,如下;
root@p570a:/> errpt|more
ksh: 0403-031 The fork function failed. There is not enough memory available.
ksh: 0403-031 The fork function failed. There is not enough memory available.
root@p570a:/> ps -ef | grep
ksh: 0403-031 The fork function failed. There is not enough memory available.
root@p570a:/> ls
ksh: 0403-031 The fork function failed. There is not enough memory available.
征求用户意见同意后,通过hmc控制台,重启p570a主机。
3 P570a故障分析
3.1 操作系统Errpt
p570a@root#errpt|more
IDENTIFIER TIMESTAMP
A6DF45AA
EC0BCCD4
67145A39
F48137AC
1104AA28
9DBCFDEE
B6267342
B6267342
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
C5C09FFA
p570a@root#errpt -aj C5C09FFA |more
---------------------------------------------------------------------------
LABEL:
IDENTIFIER:
Date/Time:
Sequence Number: 99122
Machine Id:
Node Id:
Class:
Type:
WPAR:
Resource Name:
Description
SOFTWARE PROGRAM ABNORMALLY TERMINATED
Probable Causes
SYSTEM RUNNING OUT OF PAGING SPACE
Failure Causes
INSUFFICIENT PAGING SPACE DEFINED FOR THE SYSTEM
PROGRAM USING EXCESSIVE AMOUNT OF PAGING SPACE
11月24号开始已经报没有足够的页面交换空间可以使用,可见物理内存早就用完。
3.2 数据库警告文件
alert_gzjb1.log从11月24号开始就有大量如下报错:
Wed Nov 24 22:36:15 2010
ORA-27302: failure occurred at: skgpspawn3
ORA-27301: OS failure message: Not enough space
ORA-27300: OS system dependent operation:fork failed with status: 12
Errors in file /oracle/app/oracle/diag/rdbms/gdjb/gdjb1/trace/gdjb1_psp0_352314.trc:
Process startup failed, error stack:
Thu Nov 25 02:56:24 2010
Process q000 died, see its trace file
Thu Nov 25 02:56:13 2010
ORA-27302: failure occurred at: skgpspawn3
ORA-27301: OS failure message: Not enough space
ORA-27300: OS system dependent operation:fork failed with status: 12
Errors in file /oracle/app/oracle/diag/rdbms/gdjb/gdjb1/trace/gdjb1_psp0_352314.trc:
Process startup failed, error stack:
Instance terminated by USER, pid = 144242
USER (ospid: 144242): terminating the instance due to error 443
Process LMHB died, see its trace file
ORA-27302: failure occurred at: skgpspawn3
ORA-27301: OS failure message: Not enough space
ORA-27300: OS system dependent operation:fork failed with status: 12
Errors in file /oracle/app/oracle/diag/rdbms/gdjb/gdjb1/trace/gdjb1_ora_144242.trc:
p570a节点数据库down机是由于物理内存和页面交换空间已经使用完,无法得到请求引起的。
3.3 Listener.log
TNS-12500: TNS:监听器未能启动专用的服务器进程
3.4 检查物理内存和oracle内存参数
物理内存
p570a
AIX
System Model: IBM,9117-MMA
Machine Serial Number: 066E9C5
Processor Type: PowerPC_POWER6
Processor Implementation Mode: POWER 6
Processor Version: PV_6_Compat
Number Of Processors: 8
Processor Clock Speed: 3504 MHz
CPU Type: 64-bit
Kernel Type: 64-bit
LPAR Info: 1 06-6E9C5
Memory Size: 15232 MB
Good Memory Size: 15232 MB
Platform. Firmware level: EM350_038
Firmware Version: IBM,EM350_038
Console Login: enable
Auto Restart: true
Full Core: false
可以看出总物理内存为15G左右
数据库A
SQL> show sga
Total System Global Area 2137886720 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
SQL> show parameter sga
NAME
------------------------------------ ----------- ------------------------------
lock_sga
pre_page_sga
sga_max_size
sga_target
SQL> show parameter pga
NAME
------------------------------------ ----------- ------------------------------
pga_aggregate_target
SQL> show parameter instance_name
NAME
------------------------------------ ----------- ------------------------------
instance_name
可以看出A数据库占用3G物理内存
数据库B
SQL> show sga
Total System Global Area 8551575552 bytes
Fixed Size
Variable Size
Database Buffers
Redo Buffers
SQL> show parameter sga
NAME
lock_sga
pre_page_sga
sga_max_size
sga_target
SQL> show parameter instance_name
NAME
------------------------------------ ----------- ------------------------------
instance_name
SQL> show parameter pga
NAME
pga_aggregate_target
可以看出B数据库占用10G物理内存,分配的值占用总内存较多。
4 总结及建议
4.1 故障原因分析
总物理内存15G,分配给两个数据库总共内存13G,只剩2G给操作系统使用,随着业务连接数增多或不释放等原因,很容易把物理内存和页面交换空间耗用完,导致数据库down机和主机挂起。