10.1 並行恢複(v7.1)
並行恢複的目標是用計算和I/O的並行機制減少崩潰恢複、單一實例恢複和介質恢複的時間。當多個磁碟上多個資料檔案同時進行恢複時能有效降低恢復。
10.1.1 並行恢複架構
並行恢複分區做兩件事:
1. 讀重做日誌。
2. 應用改變向量。
步驟1不適合并行,重做日誌必須按順序讀取,然後在介質恢複中合并。因此這個任務由一個進程完成:讀重做日誌的進程
步驟2很適合并行,因此應用改變向量的任務就委託給一組重做程式的從屬進程。重做日誌讀取進程將改變向量發送給重做程式從屬進程,用的是跟並行查詢中同樣的 IPC機制(進程間通訊機制)。改變向量使用HASH函數利用資料區塊地址做參數來分布。因此每個重做程式 進程只處理分配到它的“桶”裡的改變向量。重做程式從屬進程負責將資料區塊讀入到緩衝中,檢查是否要應用改變向量,如果需要就應用。
這個架構達到了資料區塊讀取I/O和改變向量應用過程中的並行。它允許日誌讀取I/O和資料區塊讀取I/O可以並行進行。此外,它還允許不同HASH桶中的資料區塊的讀取I/O可以並行進行。只要並行帶來的好處比進程管理和通訊帶來的成本大就有效縮減了恢複用的時間。
10.1.2 並行恢複系統初始化參數
PARALLEL_RECOVERY_MAX_THREADS
PARALLEL_RECOVERY_MIN_THREADS
這兩個參數控制崩潰恢複或者介質恢複中重做程式從屬進程的數量。
PARALLEL_INSTANCE_RECOVERY_THREADS
這個參數控制執行個體恢複中重做程式從屬進程的數量。
10.1.3 介質恢複文法變化
RECOVER DATABASE命令新增了一個選擇性參數用來指定重做程式從屬進程的數量。如果指定了該參數,將覆蓋預設參數PARALLEL_RECOVERY_MAX_THREADS的值。
RECOVER TABLESPACE命令新增了一個選擇性參數用來指定重做程式從屬進程的數量。如果指定了該參數,將覆蓋預設參數PARALLEL_RECOVERY_MIN_THREADS的值。
RECOVER DATAFILE命令新增了一個可選的參數用來指定重做程式從屬進程的數量。如果指定了該參數,將覆蓋預設參數PARALLEL_RECOVERY_MIN_THREADS的值。
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/