RAC環境利用備份恢復RAC資料庫(三)

yangtingkun發表於2010-04-12

在另外的RAC環境中利用備份恢復RAC資料庫的過程。

這一篇描述資料庫的RECOVER過程。

RAC環境利用備份恢復RAC資料庫(一):http://yangtingkun.itpub.net/post/468/499067

RAC環境利用備份恢復RAC資料庫(二):http://yangtingkun.itpub.net/post/468/499096

 

 

前面已經對資料庫的資料檔案進行了還原,下面開始恢復過程。

在前面一系列文章中介紹的單例項的環境進行恢復過程,採用直接RECOVER DATABASE的方式,雖然可以透過SQLPLUS開啟資料庫,但是RMAN的恢復操作會報錯。

如果要避免錯誤的產生,可以使用SET UNITL SCN的方式。

首先檢查備份歸檔的SCN資訊:

RMAN> list backup of archivelog all device type disk;


備份集列表
===================

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1297    10.49G     DISK        00:06:33     14-8
-09
        BP
關鍵字: 2368   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T101923
段名:/data/backup/tradedb/a4kmlk1c_1_1

  備份集 1297 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    3346    1112504553848 12-8
-09 1112504744220 13-8 -09
  1    3347    1112504744220 13-8
-09 1112504746901 13-8 -09
  1    3348    1112504746901 13-8
-09 1112505011983 13-8 -09
  1    3349    1112505011983 13-8
-09 1112505061165 13-8 -09
  1    3350    1112505061165 13-8
-09 1112508449216 14-8 -09
  1    3351    1112508449216 14-8
-09 1112508480985 14-8 -09
  1    3352    1112508480985 14-8
-09 1112508901303 14-8 -09
  1    3353    1112508901303 14-8
-09 1112510497206 14-8 -09
  2    1477    1112487758697 09-8
-09 1112487758749 09-8 -09
  2    1478    1112487758749 09-8
-09 1112492345679 10-8 -09
  2    1479    1112492345679 10-8
-09 1112496737805 10-8 -09
  2    1480    1112496737805 10-8
-09 1112497545518 11-8 -09
  2    1481    1112497545518 11-8
-09 1112501022488 12-8 -09
  2    1482    1112501022488 12-8
-09 1112504746936 13-8 -09
  2    1483    1112504746936 13-8
-09 1112508450800 14-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1298    11.98G     DISK        00:06:53     14-8
-09
        BP
關鍵字: 2369   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T101923
段名:/data/backup/tradedb/a3kmlk1c_1_1

  備份集 1298 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    3333    1112487758694 09-8
-09 1112487758746 09-8 -09
  1    3334    1112487758746 09-8
-09 1112487817317 09-8 -09
  1    3335    1112487817317 09-8
-09 1112487926262 09-8 -09
  1    3336    1112487926262 09-8
-09 1112492342830 10-8 -09
  1    3337    1112492342830 10-8
-09 1112492386203 10-8 -09
  1    3338    1112492386203 10-8
-09 1112492467423 10-8 -09
  1    3339    1112492467423 10-8
-09 1112497242241 11-8 -09
  1    3340    1112497242241 11-8
-09 1112497295474 11-8 -09
  1    3341    1112497295474 11-8
-09 1112497543439 11-8 -09
  1    3342    1112497543439 11-8
-09 1112500744308 12-8 -09
  1    3343    1112500744308 12-8
-09 1112500792424 12-8 -09
  1    3344    1112500792424 12-8
-09 1112501021958 12-8 -09
  1    3345    1112501021958 12-8
-09 1112504553848 12-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1299    233.02M    DISK        00:00:16     14-8
-09
        BP
關鍵字: 2370   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T101923
段名:/data/backup/tradedb/a5kmlkdp_1_1

  備份集 1299 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  2    1484    1112508450800 14-8
-09 1112510497208 14-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1302    30.92M     DISK        00:00:00     14-8
-09
        BP
關鍵字: 2373   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T110733
段名:/data/backup/tradedb/a8kmlmrl_1_1

  備份集 1302 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  2    1485    1112510497208 14-8
-09 1112510675850 14-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1303    14.60M     DISK        00:00:00     14-8
-09
        BP
關鍵字: 2374   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T110733
段名:/data/backup/tradedb/a9kmlmrl_1_1

  備份集 1303 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    3354    1112510497206 14-8
-09 1112510675842 14-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1304    11.98G     DISK        00:00:00     14-8
-09
        BP
關鍵字: 2375   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T110741
段名:/data/backup/tradedb/aakmlmru_1_1

  備份集 1304 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    3333    1112487758694 09-8
-09 1112487758746 09-8 -09
  1    3334    1112487758746 09-8
-09 1112487817317 09-8 -09
  1    3335    1112487817317 09-8
-09 1112487926262 09-8 -09
  1    3336    1112487926262 09-8
-09 1112492342830 10-8 -09
  1    3337    1112492342830 10-8
-09 1112492386203 10-8 -09
  1    3338    1112492386203 10-8
-09 1112492467423 10-8 -09
  1    3339    1112492467423 10-8
-09 1112497242241 11-8 -09
  1    3340    1112497242241 11-8
-09 1112497295474 11-8 -09
  1    3341    1112497295474 11-8
-09 1112497543439 11-8 -09
  1    3342    1112497543439 11-8
-09 1112500744308 12-8 -09
  1    3343    1112500744308 12-8
-09 1112500792424 12-8 -09
  1    3344    1112500792424 12-8
-09 1112501021958 12-8 -09
  1    3345    1112501021958 12-8
-09 1112504553848 12-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1305    10.51G     DISK        00:00:00     14-8
-09
        BP
關鍵字: 2376   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T110741
段名:/data/backup/tradedb/abkmlmru_1_1

  備份集 1305 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  1    3346    1112504553848 12-8
-09 1112504744220 13-8 -09
  1    3347    1112504744220 13-8
-09 1112504746901 13-8 -09
  1    3348    1112504746901 13-8
-09 1112505011983 13-8 -09
  1    3349    1112505011983 13-8
-09 1112505061165 13-8 -09
  1    3350    1112505061165 13-8
-09 1112508449216 14-8 -09
  1    3351    1112508449216 14-8
-09 1112508480985 14-8 -09
  1    3352    1112508480985 14-8
-09 1112508901303 14-8 -09
  1    3353    1112508901303 14-8
-09 1112510497206 14-8 -09
  1    3354    1112510497206 14-8
-09 1112510675842 14-8 -09
  1    3355    1112510675842 14-8
-09 1112510676019 14-8 -09
  2    1477    1112487758697 09-8
-09 1112487758749 09-8 -09
  2    1478    1112487758749 09-8
-09 1112492345679 10-8 -09
  2    1479    1112492345679 10-8
-09 1112496737805 10-8 -09
  2    1480    1112496737805 10-8
-09 1112497545518 11-8 -09
  2    1481    1112497545518 11-8
-09 1112501022488 12-8 -09
  2    1482    1112501022488 12-8
-09 1112504746936 13-8 -09
  2    1483    1112504746936 13-8
-09 1112508450800 14-8 -09

BS 關鍵字  大小       裝置型別佔用時間 完成時間 
------- ---------- ----------- ------------ ----------
1306    263.99M    DISK        00:00:00     14-8
-09
        BP
關鍵字: 2377   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090814T110741
段名:/data/backup/tradedb/ackmlndl_1_1

  備份集 1306 中的已存檔日誌列表
  Thrd Seq    
SCN    時間下限   下一個 SCN   下一次
  ---- ------- ---------- ---------- ---------- ---------
  2    1484    1112508450800 14-8
-09 1112510497208 14-8 -09
  2    1485    1112510497208 14-8
-09 1112510675850 14-8 -09
  2    1486    1112510675850 14-8
-09 1112510676047 14-8 -09

可以確認兩個THREAD對應的日誌可以確保恢復的SCN1112510676018,下面開始恢復過程:

RMAN> RUN
2> {
3> SET UNTIL SCN 1112510676018;
4> ALLOCATE CHANNEL C1 DEVICE TYPE DISK;
5> RECOVER DATABASE;
6> RELEASE CHANNEL C1;
7> }

正在執行命令: SET until clause

分配的通道: C1
通道 C1: sid=162 例項=tradedb1 devtype=DISK

啟動 recover 15-8 -09

正在開始介質的恢復

通道 C1: 正在啟動到預設目標的存檔日誌恢復
通道 C1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=3354
通道 C1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=3355
通道 C1: 正在讀取備份段 /data/backup/tradedb/abkmlmru_1_1
通道 C1: 已恢復備份段 1
段控制程式碼 = /data/backup/tradedb/abkmlmru_1_1 標記 = TAG20090814T110741
通道 C1: 恢復完成, 用時: 00:02:57
存檔日誌檔名 =+MEMBER/tradedb/archivelog/1_3354_620234770.dbf 執行緒 =1 序列 =3354
通道 C1: 正在啟動到預設目標的存檔日誌恢復
通道 C1: 正在恢復存檔日誌
存檔日誌執行緒 =2 序列=1485
通道 C1: 正在恢復存檔日誌
存檔日誌執行緒 =2 序列=1486
通道 C1: 正在讀取備份段 /data/backup/tradedb/ackmlndl_1_1
通道 C1: 已恢復備份段 1
段控制程式碼 = /data/backup/tradedb/ackmlndl_1_1 標記 = TAG20090814T110741
通道 C1: 恢復完成, 用時: 00:00:02
存檔日誌檔名 =+MEMBER/tradedb/archivelog/2_1485_620234770.dbf 執行緒 =2 序列 =1485
存檔日誌檔名 =+MEMBER/tradedb/archivelog/1_3355_620234770.dbf 執行緒 =1 序列 =3355
存檔日誌檔名 =+MEMBER/tradedb/archivelog/2_1486_620234770.dbf 執行緒 =2 序列 =1486
介質恢復完成, 用時: 00:00:08
完成 recover 15-8 -09

釋放的通道: C1

RMAN> EXIT


恢復管理器完成。

恢復操作完成,下面透過SQL,改變REDO檔案的位置,然後開啟資料庫:

bash-3.00$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on 星期六 8 15 14:49:00 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_1_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_1_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_1_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_1_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_2_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_2_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_2_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_2_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_3_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_3_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_3_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_3_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_4_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_4_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo1_4_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo1_4_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_1_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_1_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_1_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_1_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_2_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_2_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_2_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_2_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_3_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_3_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_3_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_3_2_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_4_1_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_4_1_1g';

資料庫已更改。

SQL> alter database rename file '/dev/vx/rdsk/datadg/tradedb_redo2_4_2_1g'
  2  to '+MEMBER/tradedb/tradedb_redo2_4_2_1g';

資料庫已更改。

SQL> alter database open resetlogs;

資料庫已更改。

下面建立SPFILE檔案,然後在$ORACLE_HOME/dbs目錄下建立pfile檔案,指向ASM磁碟組中的SPFILE

SQL> create spfile = '+MEMBER/tradedb/spfiletradedb.ora'           
  2  from pfile = '/export/home/oracle/inittradedb1.ora';

檔案已建立。

bash-3.00$ echo 'spfile=+MEMBER/tradedb/spfiletradedb.ora' >> /data/oracle/product/10.2/database/dbs/inittradedb1.ora

在節點2上同樣建立PFILE,並開啟例項2

bash-3.00$ echo 'spfile=+MEMBER/tradedb/spfiletradedb.ora' >> /data/oracle/product/10.2/database/dbs/inittradedb2.ora
bash-3.00$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on 星期六 8 15 10:24:43 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

已連線到空閒例程。

SQL> startup
ORACLE
例程已經啟動。

Total System Global Area 2.1475E+10 bytes
Fixed Size                  2166792 bytes
Variable Size            5026672632 bytes
Database Buffers         1.6442E+10 bytes
Redo Buffers                4325376 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
tradedb2

SQL> select instance_name from gv$instance;

INSTANCE_NAME
----------------
tradedb2
tradedb1

至此,資料庫的恢復過程完成。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-659511/,如需轉載,請註明出處,否則將追究法律責任。

相關文章