2014-11-15 Created By BaoXinjian
一、摘要
归档日志即重做日志的备份,使用归档日志的目的是为了实现介质恢复。
日志操作模式
1. Noarchivelog(非归档模式)
不保存重做日志。
不能在open状态下进行物理备份;要定期执行完全数据库备份;只能将数据库恢复到上次的完全备份点。
2. Archivelog
当进行日志切换时,ARCH进程会将重做日志的内容复制到归档日志中。
在归档重做日志前,新事务变化不能覆盖旧事务变化。
可以在open 状态下进行物理备份。
可以将数据库恢复到失败前的状态。
二、Oracle Redo Log模式
1. Redo Log的存放位置
select * from v$log; select * from v$logfile; select * from v$log_history;
2. v$log
3. v$logfile
4. v$log_history
三、切换Database为Archive模式
1. 创建Archive Log存放文件夹
[oracle@odellprod oracle]$ pwd
/opt/oracle [oracle@odellprod oracle]$ mkdir archivelog [oracle@odellprod oracle]$ chmod 777 archivelog
2. 切换为Archive模式
[oracle@odellprod oracle]$ sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 14 23:29:58 2014 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /opt/oracle/product/11.2.0/ode llprod/dbs/spfileodellprod.ora SQL> alter system set log_archive_dest='/opt/oracle/archivelog' scope=spfile; System altered. SQL> alter system set log_archive_format='ODELLPROD_ARCHIVELOG%s%t%r.log' scope=spfile; System altered. SQL>
3. 确认参数
4. 切换为Mount模式,启动Archive
SQL> startup mount; ORACLE instance started. Total System Global Area 422670336 bytes Fixed Size 1336960 bytes Variable Size 314575232 bytes Database Buffers 100663296 bytes Redo Buffers 6094848 bytes Database mounted. SQL> alter database archivelog;
5. 确认Archive Log的信息
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /opt/oracle/archivelog Oldest online log sequence 20 Next log sequence to archive 22 Current log sequence 22 SQL>
四、手工切换Redo Log,产生Archive Log
1. 确认Archive Log的目录
2. Redo Log的位置
3. 切换为Redo Log后,产生新的Archive Log
4. Redo Log切换成新的Group
5. 如何切换Redo Log
1:alter system checkpoint; 强迫oracle进行以次检查点,确保所有提交的事务的改变都被写到磁盘数据文件上。但此时数据库必须是打开的状态 2: alter system archive log all; 手工归档所有的日志文件组 3:alter system archive log current; 手工归档活动的日志文件组 4: alter system switch logfile; 开始写新的日志文件组。不管当前日志文件组是否满了
五、和Flash Recovery冲突,关闭这个功能
关闭Flash Recovery功能
SQL> alter system set db_recovery_file_dest=''; SQL> shutdown immediate; SQL> startup mount; SQL> alter database flashback off; SQL> alter database open; SQL> alter system set db_recovery_file_dest=''; SQL> show parameter db_recovery_file_dest;
Thanks and Regards