首页 > 数据库 > Oracle > 记一次PLSQL无法正常连接数据库案例分享
某次,接到某用户电话反馈某核心系统数据库在 10 点 20 分时出现数据库无法访问,严重影响业务,用户使用 plsql 杀会话出现卡死情况。
当时的典型现象是业务系统无法登录,数据库存在死锁,业务不能正常进行、数据库运行缓慢。因此,需要进一步定位根因。
远程登录到客户环境,查看两节点 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 进程异常终止,协调时间进行实例重启。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30310891/viewspace-3027608/ ,如需转载,请注明出处,否则将追究法律责任。