catalog start with + switch database to copy的妙用


catalog start with + switch database to copy的妙用

環境:RHEL6.4 + Oracle 11.2.0.4 Primary RAC + Standby RAC
現象:從主庫恢復控制文件之后,由於是OMF管理的方式,導致ASM上存儲的數據文件名字和控制文件中的名字不一樣。

我們來看看現象的具體情況:

ASM上的數據文件信息:

ASMCMD [+data/mynas/datafile] > ls -l
Type      Redund  Striped  Time             Sys  Name
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    DBADATA.276.952933931
DATAFILE  UNPROT  COARSE   AUG 11 21:00:00  Y    DBS_D_HANK.273.951774293
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    DBS_D_HANK.274.951774467
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    DBS_D_JINGYU.262.951608185
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    DBS_I_JINGYU.263.951608185
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    SYSAUX.257.951608183
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    SYSTEM.258.951608183
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    TEST.264.951608185
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    TEST2.260.951608185
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    UNDOTBS1.259.951608185
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    UNDOTBS2.261.951608185
DATAFILE  UNPROT  COARSE   AUG 31 16:00:00  Y    USERS.265.951608205
ASMCMD [+data/mynas/datafile] > 

恢復的備庫控制文件中的信息:

SQL> select name, database_role, open_mode from gv$database;

NAME      DATABASE_ROLE    OPEN_MODE
--------- ---------------- --------------------
JYZHAO    PHYSICAL STANDBY MOUNTED

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+DATA/mynas/datafile/system.256.919998779
+DATA/mynas/datafile/sysaux.257.919998781
+DATA/mynas/datafile/undotbs1.258.919998783
+DATA/mynas/datafile/users.259.919998789
+DATA/mynas/datafile/undotbs2.264.919999419
+DATA/mynas/datafile/dbs_d_jingyu.268.947072261
+DATA/mynas/datafile/dbs_i_jingyu.270.947072263
+DATA/mynas/datafile/test.271.947072293
+DATA/mynas/datafile/test2.272.947072883
+DATA/mynas/datafile/dbs_d_hank.273.951758265
+DATA/mynas/datafile/dbadata.275.952933837

11 rows selected.

可以看到,雖然路徑是對的,但由於OMF特性,文件名字完全不一樣。

有的同學看到這里,尤其是剛剛入門的初級DBA,可能會直接想簡單粗暴的直接使用rename數據文件來解決問題。
當然,這我的這個場景里,也恰巧可以用rename來解決問題,但這只是因為我這里測試環境文件少,可以容易對應起來。
而且這種方式不但容易誤操作,在數據文件多的情況,有可能根本無法輕松識別出對應關系。
那應該怎么做呢?
。。。

現在換個角度來考慮,這些控制文件記錄的都是不存在的文件,只是數據庫認為是這些文件,而我的ASM上才是真實的數據文件,那么,
我可以把ASM上的文件都認為是數據文件的copy備份,完全可以使用RMAN的catalog start with手工將這些copy“備份”加進來,數據庫會認為這些文件就只是數據文件的copy備份,然后直接switch database to copy就可以成功切換。
參考命令:

RMAN> catalog start with '+data/mynas/datafile';
RMAN> switch database to copy;

實際操作過程和結果如下:

RMAN> list copy;

using target database control file instead of recovery catalog
specification does not match any datafile copy in the repository
specification does not match any control file copy in the repository
List of Archived Log Copies for database with db_unique_name MYNAS
=====================================================================

Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
2       1    983     A 31-AUG-17
        Name: +FRA/mynas/archivelog/2017_08_31/thread_1_seq_983.743.953483617

4       1    984     A 31-AUG-17
        Name: +FRA/mynas/archivelog/2017_08_31/thread_1_seq_984.731.953483625

1       2    826     A 31-AUG-17
        Name: +FRA/mynas/archivelog/2017_08_31/thread_2_seq_826.737.953483619

3       2    827     A 31-AUG-17
        Name: +FRA/mynas/archivelog/2017_08_31/thread_2_seq_827.736.953483623


RMAN> catalog start with '+data/mynas/datafile';

Starting implicit crosscheck backup at 31-AUG-17
allocated channel: ORA_DISK_1
Crosschecked 37 objects
Finished implicit crosscheck backup at 31-AUG-17

Starting implicit crosscheck copy at 31-AUG-17
using channel ORA_DISK_1
Finished implicit crosscheck copy at 31-AUG-17

searching for all files in the recovery area
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_821.628.953475515
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_974.622.953475665
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_757.609.953475667
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_755.607.953475667
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_756.598.953475667
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_758.462.953475671
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_759.464.953475671
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_760.457.953475673
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_761.456.953475677
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_763.434.953475677
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_762.422.953475677
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_764.401.953475679
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_606.384.953475815
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_607.381.953475815
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_605.374.953475815
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_608.364.953475817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_609.357.953475817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_610.438.953475817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_611.421.953475819
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_612.412.953475819
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_613.393.953475819
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_614.592.953475821
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_822.580.953476813
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_975.562.953476817
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_823.551.953477803
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_976.512.953477807
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_977.500.953478181
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_978.488.953478659
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_824.476.953478659
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_979.317.953479329
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_980.298.953481127
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_981.473.953481743
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_2_seq_825.475.953481753
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_31/thread_1_seq_982.745.953482353
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_11/thread_1_seq_171.341.951768137
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_11/thread_2_seq_135.342.951768137
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_30/thread_2_seq_513.634.953368985
File Name: +fra/MYNAS/ARCHIVELOG/2017_08_30/thread_2_seq_514.638.953369045

searching for all files that match the pattern +data/mynas/datafile

List of Files Unknown to the Database
=====================================
File Name: +data/MYNAS/DATAFILE/SYSAUX.257.951608183
File Name: +data/MYNAS/DATAFILE/SYSTEM.258.951608183
File Name: +data/MYNAS/DATAFILE/UNDOTBS1.259.951608185
File Name: +data/MYNAS/DATAFILE/TEST2.260.951608185
File Name: +data/MYNAS/DATAFILE/UNDOTBS2.261.951608185
File Name: +data/MYNAS/DATAFILE/DBS_D_JINGYU.262.951608185
File Name: +data/MYNAS/DATAFILE/DBS_I_JINGYU.263.951608185
File Name: +data/MYNAS/DATAFILE/TEST.264.951608185
File Name: +data/MYNAS/DATAFILE/USERS.265.951608205
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.273.951774293
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.274.951774467
File Name: +data/MYNAS/DATAFILE/DBADATA.276.952933931

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: +data/MYNAS/DATAFILE/SYSAUX.257.951608183
File Name: +data/MYNAS/DATAFILE/SYSTEM.258.951608183
File Name: +data/MYNAS/DATAFILE/UNDOTBS1.259.951608185
File Name: +data/MYNAS/DATAFILE/TEST2.260.951608185
File Name: +data/MYNAS/DATAFILE/UNDOTBS2.261.951608185
File Name: +data/MYNAS/DATAFILE/DBS_D_JINGYU.262.951608185
File Name: +data/MYNAS/DATAFILE/DBS_I_JINGYU.263.951608185
File Name: +data/MYNAS/DATAFILE/TEST.264.951608185
File Name: +data/MYNAS/DATAFILE/USERS.265.951608205
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.273.951774293
File Name: +data/MYNAS/DATAFILE/DBS_D_HANK.274.951774467
File Name: +data/MYNAS/DATAFILE/DBADATA.276.952933931

RMAN> switch database to copy;

datafile 1 switched to datafile copy "+DATA/mynas/datafile/system.258.951608183"
datafile 2 switched to datafile copy "+DATA/mynas/datafile/sysaux.257.951608183"
datafile 3 switched to datafile copy "+DATA/mynas/datafile/undotbs1.259.951608185"
datafile 4 switched to datafile copy "+DATA/mynas/datafile/users.265.951608205"
datafile 5 switched to datafile copy "+DATA/mynas/datafile/undotbs2.261.951608185"
datafile 6 switched to datafile copy "+DATA/mynas/datafile/dbs_d_jingyu.262.951608185"
datafile 7 switched to datafile copy "+DATA/mynas/datafile/dbs_i_jingyu.263.951608185"
datafile 8 switched to datafile copy "+DATA/mynas/datafile/test.264.951608185"
datafile 9 switched to datafile copy "+DATA/mynas/datafile/test2.260.951608185"
datafile 10 switched to datafile copy "+DATA/mynas/datafile/dbs_d_hank.274.951774467"
datafile 11 switched to datafile copy "+DATA/mynas/datafile/dbadata.276.952933931"

RMAN> 

可以看到,數據文件都已經成功切換到正確的文件上,這時就可以了,整個過程簡單、高效、不容易出錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM