归档模式archivelog&非归档模式noarchivelog
2009-03-03 21:27
225 查看
重做日志有两种类型,一种是归档模式,一种是非归档模式
书上是这么说的,归档模式就是保存所有的事务日志,相反非归档就是不保存旧事务日志。
我理解归档模式是这么工作的:当有对数据库有dml和其它的事务处理的时候,日志写进程LGWR会把你的语句写入到日志文件LOG-A中,然后数据库会把你需要该的数据调到内存中,等修改完成后(修改的事务也会被记录到LOG-A中),不知道在什么情况下,会把脏数据写回磁盘。等LOG-A被写满后,发生日志且换,此时CKPT会被触发,CKPT告知控制文件有日志且换发生,等CKPT工作完后,数据库又开始工作了,新产生的日志会被写到LOG-B中,等 LOG-B也被写满了,又要发生且换了,此时归档进程会被唤起,LOG-A中的数据要被copy到一个文件里面(我是这么想的,我不知道这个文件叫什么名字),然后数据库的事务日志又源源不断的写到LOG-A中,按照这种工作方式,你的数据库即使出现问题也会被回复到down机前的最后一刻的状态。
非归档是不保存就日志的,就是LOG-A满后且换到LOG-B(不知道此时脏数据会不会被写回磁盘?),LOG-B满后再且换回LOG-A此时,LOG- A中的旧数据会被覆盖。
查看当前的归档类型:
select LOG_MODE from v$database;
书上是这么说的,归档模式就是保存所有的事务日志,相反非归档就是不保存旧事务日志。
我理解归档模式是这么工作的:当有对数据库有dml和其它的事务处理的时候,日志写进程LGWR会把你的语句写入到日志文件LOG-A中,然后数据库会把你需要该的数据调到内存中,等修改完成后(修改的事务也会被记录到LOG-A中),不知道在什么情况下,会把脏数据写回磁盘。等LOG-A被写满后,发生日志且换,此时CKPT会被触发,CKPT告知控制文件有日志且换发生,等CKPT工作完后,数据库又开始工作了,新产生的日志会被写到LOG-B中,等 LOG-B也被写满了,又要发生且换了,此时归档进程会被唤起,LOG-A中的数据要被copy到一个文件里面(我是这么想的,我不知道这个文件叫什么名字),然后数据库的事务日志又源源不断的写到LOG-A中,按照这种工作方式,你的数据库即使出现问题也会被回复到down机前的最后一刻的状态。
非归档是不保存就日志的,就是LOG-A满后且换到LOG-B(不知道此时脏数据会不会被写回磁盘?),LOG-B满后再且换回LOG-A此时,LOG- A中的旧数据会被覆盖。
查看当前的归档类型:
select LOG_MODE from v$database;
相关文章推荐
- 配置数据库归档模式(ARCHIVELOG/NOARCHIVELOG)(转载)
- 配置数据库归档模式(ARCHIVELOG/NOARCHIVELOG)
- oracle归档模式Archivelog和非归档模式NOArchivelog
- oracle归档模式Archivelog和非归档模式NOArchivelog
- oracle归档模式Archivelog 和非归档模式NOArchivelog
- oracle用户管理的完全恢复1:在NOARCHIVELOG 模式下执行恢复
- 删除N天前的归档日志 RMAN>delete archivelog until time 'sysdate-7' ;
- NOARCHIVELOG模式下冷备份还原数据库!
- ORACLE NOARCHIVELOG模式冷备份笔记
- NOARCHIVELOG模式启动数据库
- noarchivelog模式下增量备份的恢复
- 将数据库从noarchivelog模式更改为archivelog模式
- NOARCHIVELOG模式启动数据库
- oracle用户管理的完全恢复2:在NOARCHIVELOG 模式下执行恢复(无联机日志的备份)
- Oracle数据库:NOARCHIVELOG 模式恢复示例
- oracle noarchivelog模式向archivelog模式转变
- oracle archive log(oracle 打开和关闭归档模式的方法)
- Oracle 11g,开启archive log模式
- 基于用户管理的备份与恢复—noarchivelog模式下的备份与恢复
- 归档模式的开启和关闭 archivelog mode