首页 > 代码库 > 归档模式和非归档模式 Oracle 10g学习系列(4)

归档模式和非归档模式 Oracle 10g学习系列(4)

一、归档模式:

  Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。


  如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。


数据库使用归档方式运行时才可以进行灾难性恢复。


二、非归档模式

相反非归档就是不保存旧事务日志。


三、归档日志模式和非归档日志模式的区别

归档模式可以做热备份,并且可以做增量备份,可以做部分恢复。


非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复。


四、要使OARCLE 数据库进行日志的自动归档,需要做两方面的事情;

1.是数据库日志模式的设置(可为Archive Mode 和No Archive Mode);

2.就是自动归档模式设置(Automatic archival,可为Enabled 和Disabled)。


五、打开oracle数据库的归档模式

sqlplus>select log_mode from v$database;

LOG_MODE

------------------------------------

NOARCHIVELOG

显示未开启归档模式


更改前先进行数据备份:

手工导出oracle数据库命令:

exp system/manager file=e:\back.dmp full=y 


1、连接

Linux/Unix系统:

rman target / nocatalog;

sqlplus /nolog

conn / as sysdba;


2、开启归档

sqlplus>shutdown immediate;(启动归档前先要停止数据库) 


sqlplus>startup mount;(数据库以mount方式启动) 


sqlplus>alter database archivelog;(启动数据库归档) 


sqlplus>alter database open;(打开数据库) 


sqlplus>archive log list;(查看归档是否已经打开)

Database log mode              Archive Mode

Automatic archival             Enabled


sqlplus>select archiver from v$instance;

ARCHIVER

---------------------

STARTED


查看归档日志文件路径

SQL> show parameter DB_RECOVERY_FILE_DEST


本文出自 “卡卡西” 博客,请务必保留此出处http://whnba.blog.51cto.com/1215711/1596029

归档模式和非归档模式 Oracle 10g学习系列(4)