【Oracle DB故障分享】分享一次由于SGA设置太小导致的DP备份失败

  1. List item

今天给客户做Oracle例行数据库健康巡检,过程中检出一些备份异常,分享如下。

排查问题:

  1. 打开DP备份软件,随即弹出如下提示:
  2. 登录DP,查看备份情况:发现从10/6开始,DP备份就没有完全成功,部分文件备份失败:

    Oracle Recovery Backup Catalog "Oracle8" 一直备份失败:
  3. 查看DP日志:

    138:742\] 备份规范 "Oracle8 mcsreportdb_arc_del"、备份组 "Default" 的 备份 会话 "2024/10/12-7" 存在错误; 说明:在备份、复制或合并会话期间检测到错误。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6e83b0f709774e439b9b537c5f0629b1.png) 10/6以来持续报错。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0d16182aa4574a17aaf736617fba0e7b.png) 进一步查看log发现是由于内存不够,导致进程DW00不能正常启动,从而Oracle Export utility failed:

ORA-39029: worker 1 with process name "DW00" prematurely terminated

ORA-31671: Worker process DW00 had an unhandled exception.

ORA-04031: unable to allocate 13224 bytes of shared memory ("shared pool","unknown object","KTSL subheap","ktsl_load_disp-2")

问题大概锁定:SGA分配太小。

  1. 登录DB服务器,进一步确认:

由于是利用backup catalog DB管理数据库备份,所以需要进入catalog目录:

egrep -i ORA- log.xml:发现满屏unable to allocate 13224 bytes of shared memory

tail -n 2000 log.xml | grep ORA-04031:

  1. 利用adrci工具检查:

解决问题:

  1. 查看catalog DB所在服务器的内存,发现很足:
  2. 登录catalog DB:查看SGA:

sqlplus / as sysdba

show parameter instance

show parameter mem

show parameter sga

128G内存的物理机尽然只给sga 5G啊啊啊啊啊,崩溃了有木有。

  1. 调整SGA:注意需重启DB才能生效。
  2. 确认问题得以解决:再打开DP软件已经没有了日志提示,备份也正常了。问题得以解决。

总结:

  1. SGA大小设置不合理是常见的DB故障;
  2. DB整个系统一定要及时定期做健康巡检,包括实例、存储、rac/asm,备份等全系统。

码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB核心知识和排障案例及经验、性能调优等。

相关推荐
SQL必知必会18 小时前
SQL HAVING 是什么?一篇讲清 WHERE 和 HAVING 的区别
数据库·sql
weixin_5689960618 小时前
c++如何实现日志文件的异步落盘功能_基于无锁队列方案【附代码】
jvm·数据库·python
大强同学18 小时前
Obsidian链接收藏自动化
运维·自动化
MXsoft61818 小时前
**七八个系统来回切换****?用****一体化运维监控管理平台**
运维
tongyiixiaohuang18 小时前
技术案例分享:金蝶云星空客户数据同步到MySQL的实现
android·数据库·mysql
淘矿人18 小时前
2026年4月-DeepSeek V4 vs GPT-5.5深度对比测评:weelinking一键切换实测
服务器·数据库·人工智能·python·gpt·学习·php
忡黑梨18 小时前
eNSP_ACL原理及应用
运维·服务器·网络·tcp/ip·github·负载均衡
运维全栈笔记18 小时前
K8S部署WordPress+MySQL:模块化YAML配置详解
服务器·mysql·docker·云原生·容器·kubernetes·服务发现
pray~18 小时前
海外Linux Debian环境临时安装依赖包
linux·运维·debian
日取其半万世不竭18 小时前
用云服务器搭建Frp内网穿透,实现远程访问家里电脑
运维·服务器