一. 設定資料庫以ARCHIVELOG 模式運行
在ORACLE 10g 之前,在將資料庫置入Archivelog 模式後,需要啟動arch進程。 設定參數LOG_ARCHIVE_START 為true,也可啟動arch進程。在
10g以後,不需要使用該方法,當資料庫處於archivelog模式時,Oracle 會自動啟動arch進程。
Arch 進程由LGWR 進程調用,只要一個聯機redo log 被填滿。LGWR 進程就切換到另一個聯機redo 組。 此時如果資料庫處於archivelog 模式,
LGWR進程也會通知ARCH,將該進程喚醒並開始工作。ARCH 進程相應LGWR的調用,在ORACLE 資料庫參數LOG_ARCHIVE_DEST_n 定義的位置或者定義
的閃回恢複區產生聯機redo log的副本,知道arch 進程完成建立歸檔的重做日誌副本後,Oracle 才能重用這個redo log 檔案。
Oracle10g 提供了2種不同的位置來儲存歸檔日誌: ArchiveLog 目標目錄和閃回區。
1.1 ArchiveLog 目標目錄
使用LOG_ARCHVEI_DEST_n 參數可以定義10個不同的歸檔日誌目標。這些目錄可以是本地目錄,網路目錄。
下面對一些參數做相關說明:
(1) LOG_ARCHIVE_STAT_n 參數:該參數為每個歸檔記錄定義兩種不同的狀態: ENABLE和 DEFER,如果是ENABLE,則該歸檔目錄是有效,如果是
DEFER,就不會在指定的LOG_ARCHIVE_DEST_n 進行歸檔。
(2) LOG_ARCHIVE_FORMAT 參數: Oracle 建立歸檔日誌時,按按參數指定的格式,重新命名歸檔日誌。
(3) LOG_ARCHIVE_MIN_SUCCEED_DEST: 允許DBA定義歸檔日誌目標副本的最小資料,這些副本必須成功。這樣Oracle 才可以重用關聯的redo
online log。
(4) LOG_ARCHIVE_START: 該參數在10g 中不再使用,使用者自動啟動ARCH 進程。
1.2 閃回恢複區
閃回恢複區FRA)允許集中儲存所有與恢複相關的檔案。 FRA 可以本地使用附加的儲存,Oracle 叢集檔案系統Oracle File system: OCFS
)或者 Oracle 10g 中新的自動儲存管理ASM)特性。FRA 中備份檔案類型:歸檔的重做日誌,控制檔案,控制檔案自動備份。閃回日誌,重做
日誌,RMAN 資料檔案副本,RMAN 備份和其他相關檔案。
FRA 協助管理全部的磁碟空間分配,並且為所有與恢複相關餓檔案提供集中的儲存地區。FRA 也提供更快速的備份和恢複操作。
FRA 中檔案的保留與否由RMAN儲存策略決定。 通過執行RMAN config retention policy 命令設定該策略。 如果檔案在RMAN儲存策略下沒有過時
,則不會被刪除。如果歸檔日誌過時,則可以刪除。
FRA在由參數DB_RECOVERY_FILE_DEST 定義的特定位置中建立。 該位置可以是檔案系統或者ASM卷。DB_RECOVER_FILE_DEST_SIZE 參數則用來定義
FRA的最大尺寸。 這是Oracle 控制的檔案空間的限制,而與檔案系統自身中的全部可用空間無關。 Oracle 監控FRA中的可用空間,一旦FRA中的
空間資料量減少到不安全的程度,Oracle 就會在警報日誌中產生警告90%已使用時產生一次警告,而在95%已使用時再次產生警告)。同樣,當
FRA中空閑空間少於10%時,Oracle 就會刪除處於過時檔案清單中的檔案。
如果閃回恢複區是唯一歸檔目標,那麼FRA中空間被用完時就會非常麻煩,可能造成資料庫異常終止,所以如果只設定了唯一的歸檔目錄,則應該
仔細的監控空間可用性。 簡單的說有以下幾種方法:
1) 增加DB_RECOVERY_FILE_DEST_SIZE.
2) 用RMAN BACKUP recovery area。 將FRA的內容移動到其他位置。
3) 物理刪除較早的備份,然後用RMAN crosscheck 命令來讓資料庫認可已經刪除的檔案。
1.3 和閃回恢複區相關的視圖
1) DBA_OUTSTANDING_ALERTS
在FRA中添加和刪除檔案時,這些事件的記錄被記錄到資料庫警告日誌中。 可以通過該視圖來瞭解一些FRA一些顯著問題的資訊。注意: 空間相
關問題產生的時間和警告日誌在該視圖中的時間存在一定程度的延時。
SQL> select reason from dba_outstanding_alerts;
REASON
-------------------------------------------------------------------------------
db_recovery_file_dest_size 位元組 (共 4039114752 位元組) 已使用 100.00%, 尚有 0 位元組可用。
2)v$recovery_file_dest
該視圖提供了在資料庫中定義FRA的概念。 提供配置的FRA大小,所使用空間數量,可回收多少空間,以及FRA中檔案量。
SQL> select * from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
------------------------------------------------- ----------- ---------- -------
D:/app/Administrator/flash_recovery_area 4039114752 4005191680 0 85
如果SPACE_RECLAIMABLE 不為0. 即表示FRA中有可回收的檔案。 如果需要該空間,可以強制日誌切換,它將刪除可回收的任何檔案並釋放空間。
SQL> alter system switch logfile;
系統已更改。
3) v$flash_recovery_area_usage
該視圖提供了關於佔用FRA空間的檔案類型的詳細資料。該視圖對檔案類型組合,然後提供每個檔案類型所使用的空間百分比,來自該組的總
FRA可回收空間百分比,以及來自該組的FRA中檔案數量。
SQL> select * from v$flash_recovery_area_usage;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- --------------
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 99.16 0 85
BACKUP PIECE 0 0 0
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0
已選擇7行。
包含FRA列的其他視圖
可以在許多10g的視圖中找到 IS_RECOVERY_DEST_FILE視圖,例如:
V$CONTRILFILE,V$LOGIFLE,V$ARCHIVEC_LOG,V$DATAFILE_COPY,V$DATAFILE ,V$BACKUP_PIECE.
該列是一個布爾值,用來指示檔案是否位於FRA中。
另一個列BYTES 可以在V$BACKUP_PIECE和RC_BACKUP_PIECErman 恢複目錄檢視)中找到,該列以位元組為單位指示備份組片的大小。
其他閃回恢複區特性
在Oracle 10g,如果沒有設定OMF 相關的DB_CREATE_ONLINE_LOG_DEST_n 參數,則alter database add logfile和alter database add standby
logfile 命令建立FRA中的串連重做日誌成員。 Alter database drop logfile 和alter database rename file命令也支援FRA中的檔案。
在資料庫建立期間,Oracle 可以使用FRA儲存資料庫控制檔案和聯機重做日誌。 如果定義了OMF 相關參數:DB_CREATE_ONLINE_LOG_DEST_n, 則
將在這些位置建立控制檔案和重做日誌,但不會在FRA中建立,即使定義了FRA。 如果沒有定義DB_CREATE_ONLINE_LOG_DEST_n,但定義了
CREATE_FILE_DEST,則由CREATE_FILE_DEST定義的位置建立控制檔案和聯機重做日誌的副本。 最後,如果定義了DB_RECOVERY_FILE_DEST,則在
該位置建立控制檔案。 如果沒有定義任何這些參數,則在OS 特定的預設位置建立控制檔案和聯機重做日誌。
FRA和ASM
RMAN支援使用自動儲存管理ASM)儲存RMAN備份。ASM是磁碟管理工具,使用該工具,DBA就不再需要管理與給定資料庫關聯的物理檔案。 ASM在
一定程度上類似於可用於UNIX 中的邏輯卷組。 ASM 使用ASM 磁碟組,該磁碟組是儲存在邏輯單元。 物理磁碟被分配給ASM磁碟組,並且提供ASM
磁碟組整體儲存功能。 ASM 磁碟組可以存在前面分配的檔案系統上,或者儲存在RAW磁碟上。 結合OCFS, 叢集的伺服器可以共用RAC配置中的
ASM 磁碟。 配置ASM並定義各種磁碟組合,就可以分配資料檔案,控制檔案,聯機重做日誌,以及各種RMAN備份檔案給ASM磁碟組。
ASM 提供了大量特性,包括負載平衡,資料冗餘,並且很容易添加和刪除ASM磁碟組中的新磁碟。RMAN 支援ASM磁碟組,但是對於大多數非RAC站
點使用ASM 實現並沒有多少價值。
1.4 是否應該使用FRA
我們認為隱藏在FRA後面的思想是優秀的,我們也喜歡將備份複製到一些其他的介質,如磁帶,從而可以離線使用它們以進行災難恢複。
我們喜歡將FRA用于歸檔的重做日誌,但仍喜歡將歸檔重做日誌複製到多個位置具體說是多個磁碟)。 歸檔的重做日誌對於資料庫恢複至關重
要,如果丟失一個歸檔的重做日誌,則在該重做日誌之後的所有其他重做歸檔就會幾乎沒有任何價值。 因為,我們傾向於使用
LOG_ARCHIVE_DEST_n 參數來設定資料庫,而使用FRA 和另一單獨的檔案系統來儲存歸檔的重做日誌。
1.5 ARCHIVELOG 模式之間的切換
二. RMAN 命令列
進入RMAN 有兩種不同方法: 命令列 和 OEM。
2.1 通過RMAN 命令列串連
在OS 提示下簡單的輸入rman 命令就可以啟動RMAN。 一旦啟動了RMAN命令解釋程式,就可以執行任何所需的操作。
RMAN 總是以SYSDBA身份串連目標資料庫,所以串連賬戶必須具有SYSDBA許可權。 具體用法參考說明:
C:/Users/Administrator.DavidDai>rman help
參數 值 說明
-----------------------------------------------------------------------------
target 加引號的字串 目標資料庫連接字串
目錄 加引號的字串 恢複目錄的連接字串
nocatalog 無 如果已指定, 則沒有恢複目錄
cmdfile 加引號的字串 輸入命令檔案的名稱
log 加引號的字串 輸出訊息記錄檔的名稱
跟蹤 加引號的字串 輸出調試資訊記錄檔的名稱
append 無 如果已指定, 日誌將以附加模式開啟
debug 選擇性參數 啟用調試
msgno 無 對全部訊息顯示 RMAN-nnnn 首碼
send 加引號的字串 將命令發送到介質管理器
pipe 字串 管道名稱的構建塊
timeout 整數 等待管道輸入的秒數
checksyntax 無 檢查命令檔案中的語法錯誤
-----------------------------------------------------------------------------
單引號和雙引號 (' 或 ") 均可用於加引號的字串。
除非字串中有空格, 否則不用引號。
2.2 使用RMAN 的connet 命令
如果啟動了RMAN,發現沒有串連到正確的資料庫,或者要串連到一個不同的資料庫目標資料庫,目錄資料庫,次要資料庫),可以使用connect
命令來更改RMAN要串連的資料庫。 使用connect target 命令可以串連到一個不同的目標資料庫;使用connect catalog 命令可以串連到不同的
恢複目錄,使用connect auxiliary 命令可以串連到一個不同的次要資料庫。
Connect target sys/pwd@sid
Connect catalog user/pwd@sid
2.3 退出RMAN 用戶端
RMAN 退出命令有2個: quit 和 exit。
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html