使用 db2adutl 命令以及 logarchopt1 和 vendoropt 資料庫配置引數來進行跨節點恢復
使用 db2adutl 命令以及 logarchopt1 和 vendoropt 資料庫配置引數來進行跨節點恢復
下列示例說明如何使用 db2adutl 命令以及 logarchopt1 和 vendoropt 資料庫配置引數來執行跨節點恢復。
在下列示例中,計算機 1 名為 bar,它正在執行 AIX®。此機器的所有者是 roecken。bar 上的資料庫名為 zample。計算機 2 名為 dps。此機器也在執行 AIX 並由 regress9 所擁有。
- 設定資料庫以便將日誌歸檔至 TSM。更新 zample 資料庫的資料庫配置引數 logarchmeth1:
bar:/home/roecken> db2 update db cfg for zample using LOGARCHMETH1 tsm
將返回以下資訊:
成功完成 DB20000I UPDATE DATABASE CONFIGURATION 命令。
注:在更新資料庫配置之前,可能需要對資料庫進行離線備份。 - 強制應用程式斷開連線:
db2 force applications all
- 驗證是否已強制所有應用程式斷開連線:
db2 list applications
您應該接收到一條訊息,說明未返回任何資料。注:在分割槽資料庫環境中,必須對所有資料庫分割槽都執行此步驟。 - 備份資料庫:
db2 backup db zample use tsm
將返回類似以下的資訊:
備份成功。此備份映像的時間戳記是:20040216151025
注:在分割槽資料庫環境中,必須對所有資料庫分割槽都執行此步驟。必須先備份目錄分割槽,然後可以同時備份所有其他資料庫分割槽。 - 連線至 zample 資料庫,然後在該資料庫中建立一個表。
- 將資料裝入新表中。在此示例中,表名為 a,從定界 ASCII 檔案中裝入的資料為 mr。指定了 COPY YES 選項來生成裝入的資料的副本,並且 USE TSM 選項指定資料的副本儲存在 Tivoli® Storage Manager 上。注:僅當資料庫啟用了前滾恢復功能時才能指定 COPY YES 選項;即,必須將 logarchmeth1 資料庫配置引數設定為 USEREXIT 或 LOGRETAIN。
bar:/home/roecken> db2 load from mr of del modified by noheader replace into a copy yes use tsm
實用程式返回了一系列訊息來指示它的進度:
SQL3109N 實用程式正開始從“/home/roecken/mr”檔案中裝入資料。 SQL3500W 實用程式在“02/16/2004 15:12:13.392633”時進入“裝入”階段。 SQL3519W 開始裝入一致點。輸入記錄數 =“0”。 SQL3520W 裝入一致點成功。 SQL3110N 實用程式已完成處理。從輸入檔案讀取了“1”行。 SQL3519W 開始裝入一致點。輸入記錄數 =“1”。 SQL3520W 裝入一致點成功。 SQL3515W 實用程式在“02/16/2004 15:12:13.445718”時已完成“裝入”階段。 讀取的行數 = 1 跳過的行數 = 0 裝入的行數 = 1 拒絕的行數 = 0 刪除的行數 = 0 落實的行數 = 1
現在,在 TSM 上應該具有一個備份映像、一個裝入副本映像和一個日誌檔案。可以按如下所示對 zample 資料庫執行查詢:
bar:/home/roecken/sqllib/adsm> db2adutl query db zample
將返回以下資訊:
正在檢索 FULL DATABASE BACKUP 資訊。 1 時間:20040216151025 最早的日誌:S0000000.LOG 資料庫分割槽號:0 會話數:1 正在檢索 INCREMENTAL DATABASE BACKUP 資訊。 找不到 ZAMPLE 的 INCREMENTAL DATABASE BACKUP 映像 正在檢索 DELTA DATABASE BACKUP 資訊。 找不到 ZAMPLE 的 DELTA DATABASE BACKUP 映像 正在檢索 TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 TABLESPACE BACKUP 映像 正在檢索 INCREMENTAL TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 INCREMENTAL TABLESPACE BACKUP 映像 正在檢索 DELTA TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 DELTA TABLESPACE BACKUP 映像 正在檢索 LOAD COPY 資訊。 1 時間: 20040216151213 正在檢索 LOG ARCHIVE 資訊。 日誌檔案:S0000000.LOG,鏈號:0,資料庫分割槽號:0 生成時間:2004-02-16-15.10.38
- 要啟用跨節點恢復,必須為另一個節點和帳戶提供對 bar 計算機上的物件的訪問權。 在此示例中,對 dps 節點和 regress9 使用者提供了訪問權。
bar:/home/roecken/sqllib/adsm> db2adutl grant user regress9 on nodename dps for db zample
將返回以下資訊:
成功新增了 regress9 訪問 dps 節點上的 ZAMPLE 的許可權。
要查詢 db2adutl grant 操作的結果,發出以下命令:
bar:/home/roecken/sqllib/adsm> db2adutl queryaccess
將返回以下資訊:
節點 使用者名稱 資料庫名稱 型別 -------------------------------------------------------------- DPS regress9 ZAMPLE A -------------------------------------------------------------- 訪問型別: B - 備份映像 L - 日誌 A - 同時使用這兩種訪問型別
尚未設定第 2 臺計算機 dps。在 dps 上對 zample 資料庫的 db2adutl 查詢返回了下列結果:
dps:/home/regress9/sqllib/adsm> db2adutl query db zample --- 資料庫目錄是空的 --- 警告:在 ADSM 伺服器上 DB2 沒有建立檔案空間 警告:在 ADSM 中找不到任何別名的 DB2 備份映像。 dps:/home/regress9/sqllib/adsm> db2adutl query db zample nodename bar owner roecken --- 資料庫目錄是空的 --- 對 ZAMPLE 資料庫的查詢 正在檢索 FULL DATABASE BACKUP 資訊。 1 時間:20040216151025 最早的日誌:S0000000.LOG 資料庫分割槽號:0 會話數:1 正在檢索 INCREMENTAL DATABASE BACKUP 資訊。 找不到 ZAMPLE 的 INCREMENTAL DATABASE BACKUP 映像 正在檢索 DELTA DATABASE BACKUP 資訊。 找不到 ZAMPLE 的 DELTA DATABASE BACKUP 映像 正在檢索 TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 TABLESPACE BACKUP 映像 正在檢索 INCREMENTAL TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 INCREMENTAL TABLESPACE BACKUP 映像 正在檢索 DELTA TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 DELTA TABLESPACE BACKUP 映像 正在檢索 LOAD COPY 資訊。 1 時間: 20040216151213 正在檢索 LOG ARCHIVE 資訊。 日誌檔案:S0000000.LOG,鏈號:0,資料庫分割槽號:0 生成時間:2004-02-16-15.10.38
在 dps 計算機上尚不存在 zample 資料庫。
- 將 zample 資料庫復原至 dps 計算機:
dps:/home/regress9> db2 restore db zample use tsm options "'-fromnode=bar -fromowner=roecken'" without prompting
將返回以下資訊:
DB20000I RESTORE DATABASE 命令成功完成。
注:如果 dps 上已經存在 zample 資料庫, 則將省略 OPTIONS 引數,並且將使用資料庫配置引數 vendoropt。 此配置引數會覆蓋備份或復原操作的 OPTIONS 引數。對 zample 資料庫的前滾操作將失敗, 原因是 rollforward 實用程式找不到日誌檔案。前滾操作如下所示:
dps:/home/regress9> db2 rollforward db zample to end of logs and stop
將返回以下錯誤:
SQL4970N 資料庫“ZAMPLE”上的前滾恢復不能達到指定的停止點(日誌結束或時間點),原因是在節點“0”上丟失了日誌檔案。
- 要強制 rollforward 實用程式查詢另一臺機器上的日誌檔案, 必須配置正確的 logarchopt 值, 在此情況下,為 logarchopt1 資料庫配置引數:
dps:/home/regress9> db2 update db cfg for zample using logarchopt1 "'-fromnode=bar -fromowner=roecken'"
- 要使 rollforward 實用程式能夠使用裝入副本映像,還必須設定 vendoropt 資料庫配置引數:
dps:/home/regress9> db2 update db cfg for zample using VENDOROPT "'-fromnode=bar -fromowner=roecken'"
- 現在,可以對 zample 資料庫進行前滾了:
dps:/home/regress9> db2 rollforward db zample to end of logs and stop
將返回以下資訊:
前滾狀態 輸入資料庫別名 = zample 返回了狀態的節點數 = 1 節點號 = 0 前滾狀態 = 未暫掛 要讀取的下一個日誌檔案 = 已處理的日誌檔案 = S0000000.LOG - S0000000.LOG 上次落實的事務 = 2004-02-16-20.10.38.000000 UTC DB20000I ROLLFORWARD 命令成功完成。
在“提示”環境中,需要額外的資訊,尤其是建立了物件的機器的 TSM 節點名和密碼。
對於 db2adutl,更新 dsm.sys 檔案(在基於 Windows 的平臺上稱為 dsm.opt 檔案)並將 NODENAME bar(因為 bar 是源計算機的名稱)新增至伺服器子句:
dps:/home/regress9/sqllib/adsm> db2adutl query db zample nodename bar owner roecken password *******
將返回以下資訊:
對 ZAMPLE 資料庫的查詢 正在檢索 FULL DATABASE BACKUP 資訊。 1 時間:20040216151025 最早的日誌:S0000000.LOG 資料庫分割槽號:0 會話數:1 正在檢索 INCREMENTAL DATABASE BACKUP 資訊。 找不到 ZAMPLE 的 INCREMENTAL DATABASE BACKUP 映像 正在檢索 DELTA DATABASE BACKUP 資訊。 找不到 ZAMPLE 的 DELTA DATABASE BACKUP 映像 正在檢索 TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 TABLESPACE BACKUP 映像 正在檢索 INCREMENTAL TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 INCREMENTAL TABLESPACE BACKUP 映像 正在檢索 DELTA TABLESPACE BACKUP 資訊。 找不到 ZAMPLE 的 DELTA TABLESPACE BACKUP 映像 正在檢索 LOAD COPY 資訊。 1 時間: 20040216151213 正在檢索 LOG ARCHIVE 資訊。 日誌檔案:S0000000.LOG,鏈號:0,資料庫分割槽號:0 生成時間:2004-02-16-15.10.38
- 如果該資料庫不存在,則建立空的 zample 資料庫。如果 zample 資料庫已存在,則可以跳過此步驟和用來更新資料庫配置的下面兩個步驟。
dps:/home/regress9> db2 create db zample
- 更新 zample 資料庫的資料庫配置引數 tsm_nodename:
dps:/home/regress9> db2 update db cfg for zample using tsm_nodename bar
- 更新 zample 資料庫的資料庫配置引數 tsm_password:
dps:/home/regress9> db2 update db cfg for zample using tsm_password ********
- 復原 zample 資料庫:
dps:/home/regress9> db2 restore db zample use tsm options "'-fromnode=bar -fromowner=roecken'" without prompting
成功完成復原操作,但是發出了一條警告:
SQL2540W 復原成功,但是在以“無中斷”方式進行處理時,在“資料庫復原”期間遇到了警告“2523”。
此時,rollforward 實用程式又找不到正確的日誌檔案:
dps:/home/regress9> db2 rollforward db zample to end of logs and stop
將返回以下錯誤訊息:
SQL1268N 由於檢索節點“0”上的資料庫“ZAMPLE”的日誌檔案“S0000000.LOG”時發生錯誤“-2112880618”,前滾恢復已停止。
- 因為資料庫復原操作替換了資料庫配置檔案, 所以必須將 TSM 資料庫配置值設定為正確的值。首先,必須復位 tsm_nodename 配置引數:
dps:/home/regress9> db2 update db cfg for zample using tsm_nodename bar
- 必須復位 tsm_password 資料庫配置引數:
dps:/home/regress9> db2 update db cfg for zample using tsm_password *******
- 必須復位 logarchopt1 資料庫配置引數,以便 rollforward 實用程式可以找到正確的日誌檔案:
dps:/home/regress9> db2 update db cfg for zample using logarchopt1 "'-fromnode=bar -fromowner=roecken'"
- 還必須復位 vendoropt 資料庫配置引數,以便還可以使用裝入恢復檔案:
dps:/home/regress9> db2 update db cfg for zample using VENDOROPT "'-fromnode=bar -fromowner=roecken'"
- 當設定資料庫配置引數時,可以對資料庫進行前滾:
dps:/home/regress9> db2 rollforward db zample to end of logs and stop
對 zample 資料庫執行 ROLLFORWARD QUERY STATUS 命令將顯示以下結果:
前滾狀態 輸入資料庫別名 = zample 返回了狀態的節點數 = 1 節點號 = 0 前滾狀態 = 未暫掛 要讀取的下一個日誌檔案 = 已處理的日誌檔案 = S0000000.LOG - S0000000.LOG 上次落實的事務 = 2004-02-16-20.10.38.000000 UTC DB20000I ROLLFORWARD 命令成功完成。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11134849/viewspace-689441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於已有引數檔案進行資料恢復資料恢復
- 使用netbackup進行資料庫恢復案例資料庫
- 跨版本資料庫恢復資料庫
- 使用dbms_backup_restore進行資料庫恢復REST資料庫
- Oracle RAC恢復成單節點資料庫Oracle資料庫
- 資料庫複製方式進行資料庫恢復資料庫
- Mongo 資料庫備份和恢復命令Go資料庫
- MySQL資料庫遭到攻擊篡改---使用備份和binlog進行資料恢復MySql資料庫資料恢復
- 使用DataPump的Sample引數來進行資料抽樣
- 只有.dbf資料檔案進行資料庫恢復資料庫
- mysql使用binlog進行資料恢復MySql資料恢復
- 【北亞資料恢復】oracle資料庫執行truncate table命令怎麼恢復資料?資料恢復Oracle資料庫
- 使用Flashback Database進行資料表級別的定點恢復Database
- [Sqlite] 使用Java程式、cmd命令列來備份恢復Sqlite資料庫SQLiteJava命令列資料庫
- 使用恢復建議恢復資料庫資料庫
- 恢復資料庫引數錯誤無法啟動資料庫
- 使用pprc的target端進行flashcopy,實現資料庫時間點恢復(1/5)資料庫
- 使用pprc的target端進行flashcopy,實現資料庫時間點恢復(2/5)資料庫
- 使用pprc的target端進行flashcopy,實現資料庫時間點恢復(3/5)資料庫
- 使用pprc的target端進行flashcopy,實現資料庫時間點恢復(4/5)資料庫
- 使用pprc的target端進行flashcopy,實現資料庫時間點恢復(5/5)資料庫
- 使用RMAN還原和恢復資料庫資料庫
- 資料庫resetlogs後進行rman恢復7資料庫
- 資料庫resetlogs後進行rman恢復6資料庫
- 資料庫resetlogs後進行rman恢復5資料庫
- 資料庫resetlogs後進行rman恢復4資料庫
- 資料庫resetlogs後進行rman恢復3資料庫
- 資料庫resetlogs後進行rman恢復2資料庫
- 資料庫resetlogs後進行rman恢復1資料庫
- 透過RMAN進行資料庫恢復(step by step)資料庫
- RAC資料庫的RMAN備份異機恢復到單節點資料庫資料庫
- 使用SQL來分析資料庫引數(二)SQL資料庫
- 2 Day DBA-管理方案物件-執行備份和恢復-為基本的配置和恢復配置你的資料庫物件資料庫
- DM7使用DMRAMN對多次故障恢復後使用不同資料庫的歸檔進行恢復資料庫
- DM7使用DMRMAN執行資料庫還原和恢復資料庫
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- 使用 MYSQLBINLOG 來恢復資料MySql
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復