qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          RAC數據庫恢復到單實例數據庫

          RAC數據庫恢復到單實例數據庫的基本步驟如下:
            a.準備單實例服務器,pfile文件,啟動到nomount
            b.備份rac數據庫
            c.將備份文件拷貝到單實例服務器
            d.在單實例服務器上還原、恢復
            e.resetlogs打開數據庫
            f.rename redo文件名
            g.disable thread 2并刪除其redo組
            h.增加temp臨時表空間數據文件
            i.刪除不必要的undo表空間
            業務需要(比如,測試備份)將RAC數據庫通過備份恢復到單實例服務器;下面是實際操作步驟;測試環境:RHEL4u7、oracle 10gR2、ASM、2節點,單實例服務器:RHEL4u7、oracle 10gR2、文件系統;在測試環境下,RAC 數據庫文件都在asm時,在rename file操作時會遇到了BUG問題,最后的恢復時則需要重建控制文件;上面介紹的步驟是指沒有BUG的情況的操作;
            另外,備份、拷貝的環節就請參考其他文檔,就不介紹了,下面從第4步在單實例服務器上還原、恢復與打開開始介紹;
          RMAN> startup nomount
          RMAN> restore controlfile to '/app/oracle/oradata/ctl01.dbf' from '/app/oracle/backup/ctl_23_1_855331400';
          RMAN> run{startup mount;
          set until sequence 870 thread 1;
          set newname for datafile 1  to '/app/oracle/oradata/system.257.779207027';
          set newname for datafile 3  to '/app/oracle/oradata/sysaux.262.779207043';
          set newname for datafile 4  to '/app/oracle/oradata/users.260.779207053';
          set newname for datafile 2  to '/app/oracle/oradata/undotbs1.264.779207043';
          set newname for datafile 15  to '/app/oracle/oradata/pptest_tbs.282.793979093';
          set newname for datafile 5  to'/app/oracle/oradata/undotbs2.268.779207507';
          set newname for datafile 8  to'/app/oracle/oradata/tbs_p3w.271.780396123';
          set newname for datafile 9  to'/app/oracle/oradata/tbs_p4w.274.780396125';
          set newname for datafile 6  to'/app/oracle/oradata/tbs_p1w.270.780396121';
          set newname for datafile 7  to'/app/oracle/oradata/tbs_p2w.273.780396123';
          set newname for datafile 14 to'/app/oracle/oradata/pptest_tbs.279.781454807';
          restore database;
          switch datafile all;
          recover database;
          }
          sys@racdb3> alter database rename file '+DG/racdb/onlinelog/group_1.263.779207025' to '/app/oracle/oradata/redo1.log';
            rename 完所有redo文件后,即可resetlogs打開數據庫;但是,實際操作中遇到bug7207932:Rman Restore From RAC ASM To Single Instance Non ASM Fails With ORA-00600 [kgeade_is_0] (文檔 ID 1146703.1)
            Bug 7207932  ORA-600 [KGEADE_IS_0] WHEN RENAMING A FILE FROM ASM TO FS
            要想繞開的方法則是重建控制文件后,再打開數據庫
            sys@racdb3> alter database backup controlfile to trace as '/tmp/ctl.trc' reuse resetlogs;
           打開trace文件,修改里面的logfile部分信息;然后重啟數據庫到nomount狀態;
          sys@racdb3> shutdown immediate
          SQL> STARTUP NOMOUNT
          CREATE CONTROLFILE REUSE DATABASE "RACDB" RESETLOGS  ARCHIVELOG
          MAXLOGFILES 50
          MAXLOGMEMBERS 2
          MAXDATAFILES 2000
          MAXINSTANCES 8
          MAXLOGHISTORY 292
          LOGFILE
          GROUP 1 '/app/oracle/oradata/group_1.263.779207025'  SIZE 10M,
          GROUP 2 '/app/oracle/oradata/group_2.259.779207027'  SIZE 10M,
          GROUP 3 '/app/oracle/oradata/group_3.258.779207027'  SIZE 10M
          DATAFILE
          '/app/oracle/oradata/system.257.779207027',
          '/app/oracle/oradata/undotbs1.264.779207043',
          '/app/oracle/oradata/sysaux.262.779207043',
          '/app/oracle/oradata/users.260.779207053',
          '/app/oracle/oradata/undotbs2.268.779207507',
          '/app/oracle/oradata/tbs_p1w.270.780396121',
          '/app/oracle/oradata/tbs_p2w.273.780396123',
          '/app/oracle/oradata/tbs_p3w.271.780396123',
          '/app/oracle/oradata/tbs_p4w.274.780396125',
          '/app/oracle/oradata/pptest_tbs.279.781454807',
          '/app/oracle/oradata/pptest_tbs.282.793979093'
          CHARACTER SET ZHS16GBK
          ;
            創建完成后,用backup controlfile進行恢復;
          sys@racdb3> RECOVER DATABASE USING BACKUP CONTROLFILE until cancel;
          sys@racdb3>ALTER DATABASE ADD LOGFILE THREAD 2
          GROUP 4 '/app/oracle/oradata/group_4.265.779207453' SIZE 10M REUSE,
          GROUP 5 '/app/oracle/oradata/group_5.266.779207459' SIZE 10M REUSE,
          GROUP 6 '/app/oracle/oradata/group_6.267.779207467' SIZE 10M REUSE;
          sys@racdb3> alter database open resetlogs;
          成功resetlogs打開后,還需要做一些去thread 2的操作;
          sys@racdb3> alter database disable thread 2;
          sys@racdb3> alter database drop logfile group 4;
          alter database drop logfile group 4
          *
          ERROR at line 1:
          ORA-00350: log 4 of instance UNNAMED_INSTANCE_2 (thread 2) needs to be archived
          ORA-00312: online log 4 thread 2: '/app/oracle/oradata/RACDB/onlinelog/o1_mf_4_9ym2kvgf_.log'
          sys@racdb3> alter database clear unarchived logfile group 4;
          sys@racdb3> alter tablespace temp add tempfile '/app/oracle/oradata/temp01.dbf' size 10M reuse;
          Tablespace altered.
          sys@racdb3> drop tablespace undotbs2 including contents and datafiles;

          posted on 2014-08-26 09:43 順其自然EVO 閱讀(254) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 梁河县| 嵩明县| 怀来县| 景德镇市| 松江区| 德令哈市| 中牟县| 房产| 河北省| 青浦区| 镇赉县| 桃江县| 榆林市| 梧州市| 晴隆县| 恩平市| 津市市| 鹤峰县| 进贤县| 广宗县| 祥云县| 吉安市| 灌云县| 河东区| 墨竹工卡县| 关岭| 乐山市| 涞源县| 金乡县| 五大连池市| 临安市| 灵宝市| 上虞市| 库尔勒市| 景泰县| 崇义县| 施秉县| 扎囊县| 托里县| 洛扎县| 垫江县|