Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。
数据库使用归档方式运行时才可以进行灾难性恢复。
非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.
用ARCHIVE LOG LIST 可以查看当前模式状态是归档模式还是非归档模式.
归档和非归档模式的利与弊?
http://www.jb51.net/article/33221.htm
非归档模式切换到归档模式
1.登录系统用户
sqlplus / as sysdba
2.查看当前模式
archive log list;
3.关闭数据库
shutdown immediate;
4.启动数据库到mount模式
startup mount;
5.修改数据库为归档模式
alter database archivelog;
6.打开数据库
alter database open;
7.查看刚创建的归档
SELECT NAME,created,log_mode FROM v$database;
8.查看一下当前的模式
archive log list;
9.查看归档日志的路径和目录
show parameter db_recovery_file_dest;
10.修改归档日志的目录和路径
alter system set db_recovery_file_dest_size=4000M;
alter system set db_recovery_file_dest='/app/arc';
归档模式切换到非归档模式
1.登录系统用户
sqlplus / as sysdba
2.查看当前模式
archive log list;
3.关闭数据库
shutdown immediate;
4.启动数据库到mount模式
startup mount;
5.改为非归档模式
alter database noarchivelog;
6.打开数据库
alter database open;
7.查看当前模式
archive log list
8.查看归档日志的路径和目录
show parameter db_recovery_file_dest;