开门见山,先来看张图(PS:这张图是我从网上找的):数据库
工做原理:
ide
首先lgwr进程将redo log buffer中的重作数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指令时都会触发日志组的切换,当发生日志组切换时,arc进程会将当前的重作日志数据写入归档日志。日志
要知道,lgwr进程是将内存中的数据写入到重作日志文件,这是内存读磁盘写。而arc进程是将重作日志文件写入到归档文件,是磁盘读磁盘写。显然lgwr进程的读写效率或者读写速度比arc进程要快,而频繁发生DML操做的数据库中,可能会发生归档慢,而重作日志写入速度快的状况,这就会致使数据库被HANG住,此时数据库什么也不作就是等待arc进程将当前重作日志数据写入到归档文件。blog
这时候就要考虑启动更多的归档进程了,经过修改参数log_archive_max_processes来实现。进程
该参数是动态参数,直接修改便可。内存
① 查看当前该参数值get
很明显,当前最大归档进程数是4it
② 修改归档最大进程数为5io
③ 经过命令验证一下class
你看,就是这么简单!