1.1 根據策略創建Job—Oracle複製備份集與差異備份集,OracleRedirection恢復
1.1.1 測試計劃
服務器狀態:
EGOV-TEST1:介質服務器
EGOV-TEST3:數據庫服務器,介質服務器
EGOV-DB:數據庫服務器
要求把EGOV-DB上的oracle備份到介質服務器EGOV-TEST3上,EGOV-DB已經安裝agent,EGOV-TEST3已經安裝BE12.5.
在運行玩全備與複製全備後增加數據庫的記錄,使之發生變化,產生增量。
複製備份在全備後立即運行的規則。
Oracle Redirection異地恢復,拷貝複製的全備差異備份集到介質服務器EGOV-TEST1,恢復數據到數據庫服務器EGOV-TEST3,並檢查數據。
1.1.2 介質管理
1.1.2.1 Device管理
全備設備大小:4G。
全備設備名稱:DVDBTesingFull。
複製全備設備名稱:DVDBTesingFull2。
差異設備大小:4G。
差異設備名稱:DVDBTesingDiff。
複製差異設備名稱:DVDBTesingDiff2。
1.1.2.2 MediaSet管理
全備介質集名稱:MSDBTesingFull, 附加週期爲0,覆蓋週期爲1天。
複製全備介質集名稱:MSDBTesingFull2, 附加週期爲0,覆蓋週期爲1天。
差異介質集名稱:MSDBTesingDiff, 附加週期爲0,覆蓋週期爲1天。
複製差異介質集名稱:MSDBTesingDiff2,附加週期爲0,覆蓋週期爲1天。
1.1.3 策略管理
策略名稱:PlcDBTesting。
在全備後的10分鐘內向數據庫插入大量記錄模擬增長的差異大小。
全備模板: 名稱爲TplDBTestingFull,每天下午9:00:00運行,9:59:59結束。
複製全備模板: 名稱爲TplDBTestingFull2,全備完成後立即執行。
差異模板: 名稱爲TplDBTestingDiff,每天下午9:30運行,9:59:59結束。
複製差異模板: 名稱爲TplDBTestingDiff2,差異完成後立即執行。
1.1.4 選擇項列表管理
列表名稱:BKSelDBTesting
1.1.5 BE的設置
1.1.5.1 重要的設置
1.1.5.1.1 介質覆蓋搜索順序
Menu: Tools -> Option –> Media Management
本案例的順序爲:
從本介質集搜索可以覆蓋的介質。
從暫存介質集搜索可以覆蓋的介質。
從其他介質集搜索可以覆蓋的介質。
1.1.5.1.2 登陸帳戶設置
Menu: Network->Logon Accounts,至少要添加2個帳戶,一個是EGOV-DB的OS帳戶,一個是EGOV-DB Oracle的最高權限帳戶。
1.1.5.1.3 Oracle 登陸列表設置
Menu: Tools->Options
點擊Modify list,添加EGOV-DB的OS登陸帳戶
1.1.5.2 BE Device設置
全備Device,如下圖
複製全備Device,如下圖
差異Device,如下圖
複製差異Device,如下圖
1.1.5.3 BE Media設置
全備Media Set,如下圖
複製全備Media Set,如下圖
差異Media Set,如下圖
複製差異Media Set,如下圖
1.1.5.4 BE Policy設置
1.1.5.4.1 新建策略
1.1.5.4.2 新建全備模板
1.1.5.4.2.1 新建Backup Template
1.1.5.4.2.2 Device and Media
1.1.5.4.2.3 General
1.1.5.4.2.4 Oracle
1.1.5.4.2.5 Schedule
Click Button “Edit Schedule Details”
Recurring Week days, click button “select all”
Time Window,
1.1.5.4.3 新建複製全備模板
1.1.5.4.3.1 新建Duplicate Backup Sets Template
1.1.5.4.3.2 Templates
1.1.5.4.3.3 Device and Media
1.1.5.4.3.4 General
Preferred source device就是要複製的對象。
1.1.5.4.3.5 Schedule
選擇Run only according to rules for this template.
查看rules
點擊Edit Ruels
1.1.5.4.4 新建差異模板
1.1.5.4.4.1 新建Backup Template
1.1.5.4.4.2 Device and Media
1.1.5.4.4.3 General
1.1.5.4.4.4 Oracle
1.1.5.4.4.5 Schedule
1.1.5.4.5 新建複製差異模板
1.1.5.4.5.1 Templates
1.1.5.4.5.2 Device and Media
1.1.5.4.5.3 General
1.1.5.4.5.4 Schedule
1.1.5.5 BE Selection list設置
新建選擇項列表
Selections
Resource Credential 測試,
1.1.5.6 BE Job設置
New jobs using policy
Moniter
作業建好後,4個作業開始等待運行。注意運行時間是4月17日。
1.1.6 BE backup Job運行結果
1.1.6.1 全備運行後,立即向Oracle插入記錄
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:/Documents and Settings/Administrator>sqlplus sys/123@testing as sysdba;
SQL> create table testing.testDB2(name varchar(32));
Table created.
SQL> insert into testing.testDB2 values('111112222333344445555');
1 row created.
SQL> insert into testing.testDB2 select * from testing.testDB2;
1 row created.
SQL> insert into testing.testDB2 select * from testing.testDB2;
2 rows created.
...
SQL> insert into testing.testDB2 select * from testing.testDB2;
2097152 rows created.
SQL> commit;
Commit complete.
SQL>alter system switch logfile;
1.1.6.2 Monitor
下圖是4月19日第1次運行後的結果
1.1.6.3 Media set
全備的設備DVDBTestingFull
複製全備的設備DVDBTestingFull2
差異的設備DVDBTestingDiff
複製差異的設備DVDBTestingDiff2
1.1.6.4 結論
無。
1.1.7 恢復Oracle Redirection+差異
使用複製備份集恢復到不同oracle服務器。
1.1.7.1 恢復前的準備
目標機器上安裝的oracle同版本的數據庫
目標數據庫的全局數據庫名字和實例名稱要和源oracle一致。例如本案例的Global Name:testing.egov-db,Instance Name:Testing。
目標數據庫要處於歸檔模式。
目標數據庫服務器上安裝oracle agent,並配置正確。
爲了能保證還原不出現更多的意外,建議在介質服務器上對目標數據庫做一次備份,確保所有的設置是正確的。
1.1.7.2 目標數據庫EGOV-TEST3設置
Step 1,登陸到目標oracle服務器EGOV-TEST3,進入oracle安裝目錄C:/oracle/product/10.2.0/db_1/database,刪除文件名PWDtesting.ora(testing是我的實例名)。
Step 2,打開cmd,進入C:/oracle/product/10.2.0/db_1/database目錄。
Step 3,運行orapwd file=PWDtesting.ora password=123
前3補的截圖如下
Step 4, 登陸到源oracle 服務器EGOV-DB,查詢DBID
如果源oracle服務器已經宕機,無法查詢,那麼從備份的介質裏也能查詢到DATABASEID。
C:/WINDOWS/system32/drivers/etc>sqlplus sys/123@testing as sysdba
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select dbid from v$database;
DBID
----------
29122919
SQL>
Step 5,RMAN登陸到目標oracle 服務器,打開cmd,執行以下命令。
rman target sys/123@testing
RMAN>SHUTDOWN ABORT
RMAN>STARTUP NOMOUNT;
RMAN>SET DBID 29122919
後2步截圖如下(說明:目標數據庫的DBID已經和源數據庫的DBID一樣了,因爲我以前恢復過)
到此,目標數據庫已經完全準備好了。
1.1.7.3 EGOV-TEST1介質管理
1.1.7.3.1 移動複製備份介質到新的服務器
拷貝EGOV-TEST3的DVDBTesingFul2,DVDBTesingDiff2目錄到EGOV-TEST1的E:/BE下。
1.1.7.3.2 BE上新建一個相同Device
複製全備
複製差異
1.1.7.3.3 覆蓋介質目錄
BE新建Device時會在Device目錄建立新的配置文件,這樣覆蓋將會使用copy過來的配置文件。
E:/BE/DVDBTesingFul2–> E:/BE/Backup/DVDBTesingFul2。
E:/BE/DVDBTesingDiff2–> E:/BE/Backup/DVDBTesingDiff2。
1.1.7.3.4 掃描,清點,編錄Device
Scan(掃描)
掃描前的Device,是看不到介質的,如下圖
在DVDBTestingDiff2上右鍵,Scan,掃描後的介質,等個幾分鐘才能出來,出來的介質還是不能識別的,所以有個問號,如下圖(下圖不是本case的,僅說明)
Inventory(清點介質)
掃描出來的介質有個“?”,說明介質還不能識別出來,需要清點,在Device上右鍵,選擇Inventory,清點後,如下圖(下圖不是本case的,僅說明)
Catalog(編錄介質)
如果要還原,還需要對介質編錄,在介質上右鍵,選擇Catalog Media,如下圖(下圖不是本case的,僅說明)
1.1.7.4 BE還原Job設置
新建還原JOB,RestoreTest3Testing.
1.1.7.4.1 General
1.1.7.4.2 Selection
一定要從control files還原。
解讀上圖:
從控制文件(Controll Files)看出,你可以恢復到列出的任何一個時間點。
從控制文件(Controll Files)看出,有很多時間點,因爲成對的時間點是我昨天備份的。本case的只有最上面的2個是的。
從控制文件(Controll Files)看出,可以恢復到的時間點比備份計劃的時間點推遲了幾分鐘。
把鼠標放在任何一個表空間,便會有提示。
解讀上圖:
現在可以一目瞭然地看出哪個時間點的備份,而且是按備份的時間順序排列的,一目瞭然,想怎麼恢復就怎麼恢復。
能看出源oracle的數據庫文件的存放目錄。
選中任何一個時間點的控制文件。
解讀上圖:
1. 時間點或者SCN,在恢復時能夠用到,讓恢復時精確的恢復到這個點。
2. DatabaseID,在還原時能夠用到,目標數據庫的ID要與源相同,否則無法恢復。
瞭解了以上的信息,那麼我們就選擇一個時間點進行恢復吧。我選擇的時間點是第一次差異備份後,如下圖
1.1.7.4.3 Resource Credentials測試
這一步不能少,結果必須是成功的。
1.1.7.4.4 Oracle Redirection設置
Server: 是目標oracle 服務器 EGOV-TEST3,確保能夠ping通。
Server logon account: 操作系統登陸帳戶,如果沒有可以從菜單Network->Logon Account裏添加。
Instance logon account:目標oracle數據庫testing的最高權限的登陸帳戶。如果沒有可以從菜單Network->Logon Account裏添加。
Redirect Oracle files path:是目標oracle服務器EGOV-TEST3的目錄。這裏不管源oracle安裝目錄是什麼,只要確定一個目標安裝目錄就可以了,同時要保證目錄是存在的。
1.1.7.4.5 Schedule,Run Now
Monitor:
運行過程中安例這裏是必須要異常一下的,必需的,如下圖
Failed Final error: 0xe0001405
因爲恢復部分遇到不一致的歸檔日誌,恢復作業將失敗。這是災難恢復過程中常發生的問題。
無需解決。
1.1.7.5 後續工作
Step 1,登陸到目標oracle服務器EGOV-TEST3,打開cmd,輸入SQLPLUS /nolog,connect。
Step 2,修改數據庫redo聯機日誌文件
Note:因爲源oracle的安裝目錄是D盤,所以備份時的路徑是D盤,現在還原到目標服務器,所以要修改下。
alter database rename file 'D:/oracle/product/10.2.0/oradata/testing/redo01.log' to 'C:/oracle/product/10.2.0/oradata/testing/redo01.log';
alter database rename file 'D:/oracle/product/10.2.0/oradata/testing/redo02.log' to 'C:/oracle/product/10.2.0/oradata/testing/redo02.log';
alter database rename file 'D:/oracle/product/10.2.0/oradata/testing/redo03.log' to 'C:/oracle/product/10.2.0/oradata/testing/redo03.log';
Step 3,最後重置歸檔爲alter database open resetlogs。
前3步,如下圖
Step 4,並檢查數據。
testing用戶,在還原時已經自動的添加進去了。
檢查昨天的實驗的testDB表。
看來是不存在了,因爲整個數據庫都被還原到源數據庫的狀態了。
檢查插入的testDB2表。
呵呵,已經有啦。
至此oracle Redirection 已經結束。
1.1.7.6 結論
Oracle Redirection災難恢復是成功的。
差異恢復是成功的,可以恢復到任何一個時間點。
昨天的恢復(前一個oracle Redirection恢復)失敗的原因已經找到,是因爲在創建策略時,複製模板的規則(rules)沒有配置正確。也就是說我只要把複製備份的文件放在U盤裏,帶到任何地方都能還原了。
在新建還原JOB時,Device是可以不用設置的。