一次数据库访问异常分析

来源:这里教程网 时间:2026-03-03 21:42:51 作者:

故障描述

问题 及故障: 8 26 日上午 10 点多接到同事电话反映 数据库在 10 20 分钟数据库无法访问,严重影响业务户使用 plsql 杀会话卡死。

故障现象: his 无法登录,数据库存在死锁 ,业务不能正常进行、数据库运行缓慢。

问题详细诊断过程

远程登录到客户环境,查看两节点 session process 参数配置,并查询 v$session 未超过设置参数值。

 

在节点一,检查当前实例锁情况,并删除锁会话。

 

删除会话后,实例查询正常反回结果。

  查询节点二锁情况,查询无法正常反回结果。

 

客户沟通后,使用 kill LOCAL= NO 清理全部会话,清理后查询结果返回正常。

 

协调客户通知业务检查业务是否恢复,得到结果未恢复,

查看节点 1 日志如下:

与客户沟通,对数据库闪回空间进行扩容,

 

扩容报错,原因:节点 1 mmon 进程 被终止。造成的现象是只对当前执行节点修改成功,无法修改远程节点。

 

 

考虑停机时间有点长,直接关闭数据库闪回

 

沟通客户测试业务是否正常,客户反馈 plsql 工具可以正常访问,稍后业务反馈已经正常。   结论:

由于闪回空间不足,造成数据库运行异常。

解决办法和建议

1、 关闭闪回

  2、 清理闪回日志

修改 db_flashback_retention_target 1 ,使数据库自行清理闪回日志,

 

通过监控 alert 日志发现未进行闪回日志删除,检查数据库是否存在闪回点及闪回状态,发现存在闪回点且闪回状为‘ RESTORE POINT ONLY ’。手动删除闪回点。

   

监控 alert 日志清理闪回日志。

 

修改 db_flashback_retention_target 2 天。

  3、 扩容闪回空间

修改 db_recover_file_dest_size 大小 1500G

 

 

检查空回空间整体使用情况:

 

其他问题:

操作系统 limit 参数,建议值修改为 10240

   

节点 1 状态异常, mmon 进程异常终止,协调时间进行实例重启。  

相关推荐