当前位置: 首页 > news >正文

【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” 存在错误;
    说明:在备份、复制或合并会话期间检测到错误。
    在这里插入图片描述
    10/6以来持续报错。
    在这里插入图片描述
    进一步查看log发现是由于内存不够,导致进程DW00不能正常启动,从而Oracle Export utility failed:

ORA-39014: One or more workers have prematurely exited.
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分配太小。
在这里插入图片描述
4. 登录DB服务器,进一步确认:
由于是利用backup catalog DB管理数据库备份,所以需要进入catalog目录:
在这里插入图片描述
egrep -i ORA- log.xml:发现满屏unable to allocate 13224 bytes of shared memory
tail 在这里插入图片描述
tail -n 2000 log.xml | grep ORA-04031:
在这里插入图片描述
5. 利用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核心知识和排障案例及经验、性能调优等。

http://www.lryc.cn/news/461439.html

相关文章:

  • Yocto构建教程:在SDK中添加Qt5并生成带有Qt5的SDK
  • 操作系统——位示图
  • 【STM32 Blue Pill编程实例】-矩阵键盘
  • 基于SSM的药品商城系统
  • 南京邮电大学电工电子A实验十一(数据选择器及逻辑电路的动态测试)
  • 算法.图论-BFS及其拓展
  • mongodb的相关关键字说明
  • 强化学习之DDPG算法
  • 【进阶OpenCV】 (16)-- 人脸识别 -- FisherFaces算法
  • 电脑主机配置
  • 图书借阅小程序开源独立版
  • flutter TextField限制中文,ios自带中文输入法变英文输入问题解决
  • ThreadLocal的应用场景
  • Python--plt.errorbar学习笔记
  • 文件信息类QFileInfo
  • 堆排序(C++实现)
  • Qt中加入UI文件
  • Redisson使用全解
  • Go4 和对 Go 的贡献
  • 区间动态规划
  • 什么情况下需要使用电压探头
  • 数据结构——八大排序(下)
  • Linux系统:Ubuntu上安装Chrome浏览器
  • Redis位图BitMap
  • YOLOv11改进策略【卷积层】| ParNet 即插即用模块 二次创新C3k2
  • 学习threejs,网格深度材质MeshDepthMaterial
  • 算法时间、空间复杂度(二)
  • 高级java每日一道面试题-2024年10月11日-数据库篇[Redis篇]-Redis都有哪些使用场景?
  • 0047__【python打包分发工具】setuptools详解
  • 自定义拦截器处理token