前段时间工作中有个客户遇到归档日志空间满了,导致数据库不可用。那归档日志到底是什么呢,有什么作用呢,本文中做了一些总结。
一、数据修改到发生检查点整个流程
- 当数据被修改时,第一次读取,需要将数据从数据文件中读入数据库高速缓冲区;
- 数据读入数据库高速缓冲区后,我们修改数据的条目会先记录到重做日志缓冲区;
- 接着新数据被写入数据库高速缓冲区;
- 提交,LGWR进程将条目从重做日志缓冲区写入联机重做日志文件;
- 执行检察点CKPT,同步数据库,当发现联机日志文件为最新,同步更新数据文件,控制文件,触了DBWn进程。
二、重做日志
重做日志文件也称联机重做日志,用于记录数据库变化的物理文件,作用是在发生意外时恢复oracle数据库。
日志文件以日志文件组的形式存在。
重做日志缓冲区是循环使用的,但是这种循环以组的方式循环。
三、归档日志
归档日志(Archive Log)是非活动的重做日志备份。通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换时,后台进程ARCH会将写满的重做日志内容保存到归档日志中。当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。
归档日志空间使用满了后,会导致数据库不可用,所以日常运维中需要对该指标进行实时监控,保证业务的正常运行。
四、归档日志监控
PIGOSS BSM监控软件可以对归档日志空间进行实时监控,当采集结果违反设定的阈值时,会自动产生告警,并通过邮件、微信或者短信方式通知到负责人,以便及时解决问题,保证整个业务的正常运行。