共计 604 个字符,预计需要花费 2 分钟才能阅读完成。
开门见山,先来看张图(PS: 这张图是我从网上找的):
工作原理:
首先 lgwr 进程将 redo log buffer 中的重做数据写入到 redo log 中,此时的 redo log 分组,每当一个 redo log group 写满时,或者发出 switch logfile 指令时都会触发日志组的切换,当发生日志组切换时,arc 进程会将当前的重做日志数据写入归档日志。
要知道,lgwr 进程是将内存中的数据写入到重做日志文件,这是内存读磁盘写。而 arc 进程是将重做日志文件写入到归档文件,是磁盘读磁盘写。显然 lgwr 进程的读写效率或者读写速度比 arc 进程要快,而频繁发生 DML 操作的数据库中,可能会发生归档慢,而重做日志写入速度快的情况,这就会导致数据库被 HANG 住,此时数据库什么也不做就是等待 arc 进程将当前重做日志数据写入到归档文件。
这时候就要考虑启动更多的归档进程了,通过修改参数 log_archive_max_processes 来实现。
该参数是动态参数,直接修改即可。
① 查看当前该参数值
很明显,当前最大归档进程数是 4
② 修改归档最大进程数为 5
③ 通过命令验证一下
你看,就是这么简单!
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/147751.htm
正文完
星哥玩云-微信公众号