ORA-27300 ORA-27301 ORA-27302

Oracle idb 1475℃ 0评论

数据库服务器挂起,无法进入系统,数据库无法访问,迫不得已从HMC重启之后,查看数据库日志,发现大量如下报错信息:

而在数据库服务器挂起之前,有应用管理员反馈说一个应用更新数据一致没有完成,经过检查数据库,发现确实有一个update语句,而且session的状态是ACTIVE(活动)状态,而且执行次数一致在增长。

操作系统版本AIX 7.1:

Oracle数据库版本:11.2.0.4

通过查找MOS(ORACLE 技术支持知识网站),有相关的错误分析,例如《Doc ID 579365.1》,大部分都是说swap空间不足导致。

查看系统日志(最前面3个日志是系统重启的告警日志,忽略),主要查看C5C09FFA日志内容

注意查看 ,都提示和PAGING SPACE(交换空间)相关 ,一般交换空间不足问题要么是内存不足,要么是空间过小。

查看系统的交换空间大小,发现只有512MB,确实比较小。

而系统的内存由64G。

查看数据库的SGA和PGA分配大小,约占系统的50%。而且lock_sga参数为TRUE。

查看SGA建议,发现没有建议。内存不足方面可以忽略。

综合以上,先调整交换空间的,把PAGING SPACE调整为4G。再观察。PAGING SPACE空间是在rootvg这个卷组中。
查看PAGING SPACE分布在哪个设备(或者说lv)上面。
通过查看/etc/swapspaces可以知道是在hd6。

lsvg查看rootvg基本信息,尤其是检查FREE PPs是否满足我们要扩PAGING SPACE的需求。从FREE PPs可以看出还有剩余116个PP,剩余空间约7G。

查看hd6在rootvg中的分布情况。由下面的结果可以知道LP和PP是1比1的比例分配,这个对于后面使用chps来扩大PAGING SPACE时指定的大小有关系。

要将PAGING SPACE扩大到4G,需要增加56个PP(如果上面的lsvg -l rootvg看到的LP和PP是倍数关系,则这里的PP个数需要相应的乘以倍数之后的数值),最后的hd6的PPs应该为64(64*64MB=4096MB)

查看hd6的PPs,已经扩大到64个(64*64MB=4096MB)

观察FREE PPs,少了56个。

查看分配结果

总结

数据库出现异常是在增加了新的用户之后,新的应用功能测试时导致此次故障发生,而发生故障的原因,是没有检查系统配置是否足够,例如本次的交换空间才512MB,这个值设置的太小了。作为DBA需要认真的检查每一个ORACLE数据库的基础系统参数设置。

转载请注明:猫头鹰工作室 » ORA-27300 ORA-27301 ORA-27302

喜欢 (0)or分享 (0)
Avatar
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址