2014-11-15 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