【YashanDB知识库】设置归档日志上限,但归档日志没自动清理,导致磁盘空间满
问题现象
客户使用一主一备做性能压测,主备机上设置了归档日志清理上下限:
ARCH_CLEAN_LOWER_THRESHOLD=12G
ARCH_CLEAN_UPPER_THRESHOLD=16G
但实际压测的过程,预期归档日志不应该超过16G,但还是产生了100G+的归档日志,占用了较多存储空间,最终磁盘空间满,客户怀疑归档清理策略没起效。
问题的风险及影响
客户环境为测试环境,影响测试业务的开展。
问题影响的版本
YashanDB版本:23.1.3.101
问题发生原因
归档日志在备份之前不会自动清理,设置归档上下限的同时,还需要设置归档日志清理忽略备份:
ARCH_CLEAN_IGNORE_MODE=BACKUP
解决方法及规避方式
设置ARCH_CLEAN_IGNORE_MODE=BACKUP,使用alter database delete archivelog all触发清理归档:
SQL> alter system set ARCH_CLEAN_IGNORE_MODE=BACKUP;
Succeed.
SQL> alter system set ARCH_CLEAN_LOWER_THRESHOLD=12G;
Succeed.
SQL> alter system set ARCH_CLEAN_UPPER_THRESHOLD=16G;
Succeed.
SQL> alter database delete archivelog all;
Succeed.
问题分析和处理过程
确认归档参数情况:
SQL> show parameter ARCH
NAME VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
ARCHIVE_LOCAL_DEST ?/archive
ARCHIVE_DEST_1
ARCHIVE_DEST_2
ARCHIVE_DEST_3
ARCHIVE_DEST_4
ARCHIVE_DEST_5
ARCHIVE_DEST_6
ARCHIVE_DEST_7
ARCHIVE_DEST_8
ARCHIVE_DEST_9
ARCHIVE_DEST_10
ARCHIVE_DEST_11
ARCHIVE_DEST_12
ARCHIVE_DEST_13
ARCHIVE_DEST_14
ARCHIVE_DEST_15
ARCHIVE_DEST_16
ARCHIVE_DEST_17
ARCHIVE_DEST_18
ARCHIVE_DEST_19
ARCHIVE_DEST_20
ARCHIVE_DEST_21
ARCHIVE_DEST_22
ARCHIVE_DEST_23
ARCHIVE_DEST_24
ARCHIVE_DEST_25
ARCHIVE_DEST_26
ARCHIVE_DEST_27
ARCHIVE_DEST_28
ARCHIVE_DEST_29
ARCHIVE_DEST_30
ARCHIVE_DEST_31
ARCHIVE_DEST_32
ARCH_CLEAN_UPPER_THRESHOLD 16G
ARCH_CLEAN_LOWER_THRESHOLD 12G
ARCH_CLEAN_IGNORE_MODE NONE
ENABLE_ARCH_DATA_IGNORE_BACKUP FALSE
37 rows fetched.
SQL>
发现设置归档上下限但没有设置归档日志清理忽略备份。
YashanDB归档日志除了发送到备机之外,还可以使用backup命令做备份,详细参考YashanDB Doc
系统从安全的角度考虑,需要把日志备份之后,才允许删除,除非用户指定该场景下可以忽略备份。详细参考YashanDB Doc
客户的场景是需要主备同步,但是不需要备份拷贝,因此修改参数为ARCH_CLEAN_IGNORE_MODE=BACKUP
修改参数并验证。
修改参数为ARCH_CLEAN_IGNORE_MODE=BACKUP可以使用alter database delete archivelog all; 检查日志是否清理掉,从而验证日志清理策略符合预期:
SQL> alter system set ARCH_CLEAN_IGNORE_MODE=BACKUP;
Succeed.
SQL> alter database delete archivelog all;
Succeed.
那么问题来了:是不是客户设置ARCH_CLEAN_IGNORE_MODE=BACKUP之后,日志就一定不会超过ARCH_CLEAN_UPPER_THRESHOLD呢?
答案是还是有可能超过。上面配置ARCH_CLEAN_IGNORE_MODE=BACKUP是忽略备份,所以还需要同步到备机之后,归档日志才能删除。客户的场景是一主一备做压测,备机同步日志较多,实际会有短暂备机没有同步完,导致归档日志超过上限一些的情况。
经验总结
归档日志在备份之前不会自动清理,设置归档上下限的同时,还需要设置归档日志清理忽略备份:ARCH_CLEAN_IGNORE_MODE=BACKUP
【YashanDB知识库】设置归档日志上限,但归档日志没自动清理,导致磁盘空间满的更多相关文章
- DG备库磁盘空间满导致无法创建归档
上周五去某客户那里做数据库巡检.是window 2008系统上10g的一套NC系统的库,已经配置了DG,可是巡检时发现数据库报错: Tue Nov 11 10:13:57 2014 LNS: Stan ...
- Docker启动出现"No space left on device" 或者 docker日志太多导致磁盘占满问题
机房有一台服务器上面部署了多个docker容器, 并且每个docker容器都往stderr中源源不断的输出日志,导致磁盘被占满了.Docker容器在启动/重启的时候会往/var/lib/docker中 ...
- ORACLE归档模式和非归档模式的利与弊
转: 在Oracle数据库中,主要有两种日志操作模式,分别为非归档模式与归档模式.默认情况下,数据库采用的是非归档模式.作为一个合格的数据库管理员,应当深入了解这两种日志操作模式的特点,并且在数据库建 ...
- Tomcat8.5.24日志自动清理(maxDays)功能探究
前言 测试人员反馈tomcat目录下的日志占用空间很大,需要自动清理.接到这个反馈时,想象着应该是一个很简单的功能,tomcat应该已经实现了日志的自动清理功能.于是乎,我先到网上查询了如何自动清除t ...
- 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个日志文件,一般就能定位问题所在。
作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示 ...
- Oracle归档日志与非归档日志的切换及路径设置
--==================== -- Oracle 归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的 ...
- oracle设置自动清理归档日志脚本
设置定时自动清理归档日志脚本 root用户下 [root@localhost ~]# mkdir /nstg [root@localhost ~]# cd /nstg/ [root@localhost ...
- 归档—监控ORACLE数据库告警日志
ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看 ...
- ORACLE归档日志比联机重做日志小很多的情况总结
ORACLE归档日志比联机重做日志小很多的情况 前几天一网友在群里反馈他遇到归档日志比联机重做日志(redo log)小很多的情况,个人第一次遇到这种情况,非常感兴趣,于是在一番交流沟通后,终于弄 ...
- RMAN正确地删除Archivelog以及设置有备库的归档删除策略
原文链接:http://blog.sina.com.cn/s/blog_64e166580100xks5.html 如何正确地删除Archivelog: Archivelog并不能直接得从OS层直接物 ...
随机推荐
- RAG工程实践拦路虎之一:PDF格式解析杂谈
背景 PDF(Portable Document Format)是一种广泛用于文档交换的文件格式,由Adobe Systems开发.它具有跨平台性.固定布局和易于打印等特点,因此在商业.学术和个人领域 ...
- Python代码学习
1.生成四位数字字母验证码,大小写字母随机 import random if __name__ =="__main__": #四位数字字母验证码的生成 checkcode=&quo ...
- [无线隔离]同一WIFI下两主机无法互联
问题描述 在公司WIFI下想进行两台主机之间的数据传输,却发现虽在同一网段且防火墙关闭也无法ping通. 在一台主机下查看ARP表,发现没有对方的IP与MAC记录. 使用Wireshark抓包,发现虽 ...
- Ubuntu下的LabVIEW开发
1 虚拟机的安装 我用的是Virtua Box 的虚拟机,当然也有其他的类似软件:下载虚拟机的网址: https://www.virtualbox.org/wiki/Downloads 自行去下载合适 ...
- 面向对象VS面向过程
什么是面向对象呢? 对于接触或者熟悉一些编程知识的同学来讲,"面向对象"这个词儿一点儿也不陌生.经常听说XX语言是完全面向对象的编程语言,比如C#.Java这些便是完全面向对象的编 ...
- tp6 uniapp跨越问题
自己写一个简单的中间件
- OLOR:已开源,向预训练权值对齐的强正则化方法 | AAAI 2024
随着预训练视觉模型的兴起,目前流行的视觉微调方法是完全微调.由于微调只专注于拟合下游训练集,因此存在知识遗忘的问题.论文提出了基于权值回滚的微调方法OLOR(One step Learning, On ...
- 后端说,单页面SPA和前端路由是怎么回事
没有请求的路由 在传统开发中,浏览器点击一个超链接,就会像后端web服务器发送一个html文档请求,然后页面刷新.但开始单页面开发后,就完全不同了. 单页面?这个概念难以理解.我用一个js作为整个we ...
- 【H5】05 高阶文字排版
摘自: https://developer.mozilla.org/zh-CN/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_formattin ...
- Python Pillow(PIL 第三方模块)和 cv2 (opencv第三方模块)对图片的 resize 操作 (缩放图片大小)
PIL 模块的 resize 操作: 1. 从文件中读取图片,然后 resize 大小: import matplotlib.pyplot as plt import numpy as np ...