程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫中閃回恢復的詳細分析

Oracle數據庫中閃回恢復的詳細分析

編輯:Oracle數據庫基礎

我們今天主要和大家分享的是Oracle數據庫中的閃回恢復,其中包含Oracle備份和恢復案例 ,還有相關的Oracle 學習筆記:,Backup & Recovery 常用的相關命令 ,以及 重建Control File的實際內容的描述。

更多相關推薦 Oracle9i開始提供閃回查詢,以便能在需要的時候查到過去某個時刻的一致性數據,這是通過Undo實現的。這個功能有很大的限制,就是相關事務的undo不能被覆蓋,否則就無力回天了。Oracle10g大大的增強了閃回查詢的功能,並且提供了將整個數據庫回退到過去某個時刻的能力,這是通過引入一種新的Flashback log實現的。

flashback log有點類似redo log,只不過redo log將數據庫往前滾,Flashback log則將Oracle數據庫往後滾。為了保存管理和備份恢復相關的文件,Oracle10g提供了一個叫做閃回恢復區(Flashback recovery area)的新特性,可以將所有恢復相關的文件,比如Flashback log,archive log,backup set等,放到這個區域集中管理。

1.設置閃回恢復區

閃回恢復區主要通過3個初始化參數來設置和管理

db_recovery_file_dest:指定閃回恢復區的位置

db_recovery_file_dest_size:指定閃回恢復區的可用空間大小

db_Flashback_retention_target:指定Oracle數據庫可以回退的時間,單位為分鐘,默認1440分鐘,也就是一天。當然,實際上可回退的時間還決定於閃回恢復區的大小,因為裡面保存了回退所需要的 Flash log。所以這個參數要和db_recovery_file_dest_size配合修改。

2.啟動Flashback database

設置了閃回恢復區後,可以啟動閃回數據庫功能。

首先,數據庫必須已經處於歸檔模式

那麼如何設置歸檔呢?很簡單的步驟

1.關閉數據庫

  1. SQL> shutdown immediate;  

2.啟動Oracle數據庫為mount模式

  1. SQL> startup mount  

3.顯示和修改歸檔模式

  1. SQL> archive log list  
  2. SQL> alter database archivelog;  
  3. SQL> alter database open  

4.設置歸檔日志的格式

  1. SQL>alter system set log_archive_format='ARC%s%t%r.log' scope=spfile;  

5.設置歸檔日志的存放路徑

  1. SQL>alter system set log_archive_dest='+data/arcl' scope=spfile;  
  2. SQL>shutdown immediate  
  3. SQL>startup  

6.強制切換歸檔日至

  1. SQL>alter system switch logfile;  

7.取消歸檔

  1. SQL>alter database noarchivelog;  

參數

1.格式參數

%s 日志序列號

%S 日志序列號(帶前導的0)

%t 重做線程編號

%a 活動的ID號

%dOracle 數據庫ID號

%r RESELOGS的iD值

  1. SQL> archive log list;   
  2. Database log mode Archive Mode  
  3. Automatic archival Enabled  
  4. Archive destination USE_DB_RECOVERY_FILE_DEST  
  5. Oldest online log sequence 156  
  6. Next log sequence to archive 158  
  7. Current log sequence 158 

然後,啟動Oracle數據庫到mount狀態

  1. SQL> shutdown immediate;   
  2. Database closed.  
  3. Database dismounted.  
  4. Oracle instance shut down.  
  5. SQL> startup mount   
  6. Oracle instance started.  
  7. Total System Global Area 285212672 bytes  
  8. Fixed Size 1218992 bytes  
  9. Variable Size 75499088 bytes  
  10. Database Buffers 205520896 bytes  
  11. Redo Buffers 2973696 bytes  
  12. Database mounted.  
  13. SQL>alter database Flashback on;   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved