简记 LGWR与DBWR 的操作
来源:互联网 发布:淘宝怎么给朋友发链接 编辑:程序博客网 时间:2024/05/22 04:53
用户DML或DDL操作数据库之后,导致数据库的对象发生变化的一个过程
首先进程会把提交的记录连同所产生的SCN一起写入重做日志缓冲区;如果是DML发出COMMT,或是DDL,那么重做日志写进程(LGWR)将把重做日志缓冲区中的所有记录连续地写到重做日志文件中。在此之后,oracle就能保证即使在系统崩溃的情况下,这些提交的数据也可以得以恢复。之后会提示用户此命令后之前所做的操作已经生效(提交已经完成);进程将修改数据库高速缓冲区中的相关数据的状态并释放资源和打开锁等;此时可能刚才操作的数据还在数据缓冲区中,这些数据所在的缓冲区被标为脏缓冲区,接着数据库写进程(DBWR)会把这些数据写进外存中。
这也就出现了,在同一个时刻oracle是先写重做日志缓冲区中的数据而后写数据缓冲区中的数据,“为什么不同时写呢?”oracel的这种解决方案的最大优点就是在保证不丢失数据的情况下,数据库的效率不会受太大影响。因为重做日志文件中的记录是以最紧凑的格式存放的,所以它的I/O量会比数据文件的操作少的多。另外LGWR是顺序将重做日志缓冲区中的记录写到重做日志文件中的,这样其I/O速度又比数据块写到数据文件中快很多。
LGWR除了会在COMMIT时把重做日志缓冲区中的数据写到重做日志文件以外,在下面四种情况下也会进行同样的操作:
1.当重做日志缓冲区中的记录超过1MB时。
2.当重做日志缓冲区中的记录超过该区容量的1/3时。
3.在DBWR进程进行操作之前。
4.每3秒钟。
- 简记 LGWR与DBWR 的操作
- DBWR和LGWR的关系
- 关于dbwr/lgwr的一点知识
- oracle体系结构 LGWR DBWR
- oracle四个重要的后台进程(DBWR / LGWR / ARCH / CKPT)
- DBWR,LGWR,CKPT,ARCH触发条件总结
- Oracle DBWR,LGWR,CKPT,ARCH 触发条件 总结
- Oracle DBWR,LGWR,CKPT,ARCH 触发条件 总结
- DBWR和LGWR在什么情况下执行写?
- thinkphp的ajax操作简记
- LGWR与ARCH进程
- 【Oracle】-【体系结构-LGWR】-LGWR的一些理解
- git基础介绍与GitKraken操作简记
- Oracle内存详解之六 DBWR,LGWR,CKPT,ARCH 触发条件
- 【Oracle】-【LRU和DBWR】-LRU算法与DBWR中的应用
- LGWR
- LGWR
- DBWn与LGWR进程小结
- 对斐波那契数列(兔子数列)的学习
- 语言中,静态方法和非静态方法你懂多少?
- 谁能守候你一生
- 磁盘上没有足够的空间完成此操作
- Xen,Hypervisor,XenServer的关系
- 简记 LGWR与DBWR 的操作
- android 问题总结
- 设置eclipse中xml的默认编辑器、行数、xsd和dtd
- Struts2 xml配置
- Spring的开发配置与Spring中bean的实例化
- struts2中文乱码问题
- Debug和Release区别
- struts2标签库
- HostMonitor监控Windows和Linux的内存空闲率