探索Oracle不完全恢複之--基於cancel恢複 第一篇

來源:互聯網
上載者:User

基於cancel的不一致性恢複(歸檔存在) 第一篇

 

   

          基於取消的恢複只適用於以下情況:歸檔日誌丟失導致完全恢複失敗;丟失了資料檔案和未歸檔的重做日誌(聯機重做日誌);

 

1、先關閉資料庫,執行一次全庫冷備份。

 

SQL> selectfile_name from dba_data_files;

 

FILE_NAME

--------------------------------------------------------------------------------

/DBBak2/oradata/WWL/users01.dbf

/DBBak2/oradata/WWL/sysaux01.dbf

/DBBak2/oradata/WWL/undotbs01.dbf

/DBBak2/oradata/WWL/system01.dbf

/DBBak2/oradata/WWL/WWL001.dbf

/DBBak2/oradata/WWL/WWL002.dbf

/DBBak2/oradata/WWL/WWL003.dbf

 

7 rows selected.

 

SQL> shutdownimmediate

Database closed.

Database dismounted.

Oracle instance shut down.

 

SQL> !mkdir/DBBak2/oradata/WWL2

 

SQL> !cp/DBBak2/oradata/WWL/* /DBBak2/oradata/WWL2/

 

 

2、然後開啟資料庫繼續使用,我們可以看到備份的時候資料庫wwl001表中只有4條記錄。

SQL> select * fromwwl001;

 

       ID NAME

---------- ------------------

        1 jetsen

        2 woo

        3 prudence

        4 beijin

4 rows selected.

 

3、繼續向wwl001表中插入資料,並切換日誌讓redo log歸檔。

SQL> insert intowwl001 values(5,'china');

1 row created.

 

SQL> insert intowwl001 values(6,'america');

1 row created.

 

SQL> commit;

Commit complete.

 

SQL> select * fromwwl001;

 

       ID NAME

---------- ------------------

        1 jetsen

        2 woo

        3 prudence

        4 beijin

        5 china

        6 america

 

6 rows selected.

 

SQL>

 

SQL> alter systemswitch logfile;

System altered.

 

SQL> /

System altered.

 

SQL> /

System altered.

 

SQL> /

System altered.

 

SQL> /

System altered.

 

4、關閉資料庫,類比資料檔案丟失,歸檔日誌也丟失了,所以資料庫只能做不一致性恢複。

SQL> shutdownabort;

ORACLE instance shut down.

 

SQL> !rm -rf/DBBak2/oradata/WWL/*.dbf

 

SQL> !cp/DBBak2/oradata/WWL2/*.dbf /DBBak2/oradata/WWL/

 

SQL> !cp /DBBak2/oradata/WWL2/*.dbf/DBBak2/oradata/WWL/

 

5、執行基於取消的不完全恢複

SQL> startup

ORACLE instance started.

 

Total System Global Area  100663296 bytes

Fixed Size                  1217884 bytes

Variable Size              88083108 bytes

Database Buffers            8388608 bytes

Redo Buffers                2973696 bytes

Database mounted.

ORA-01113: file 1 needs media recovery

ORA-01110: data file 1:'/DBBak2/oradata/WWL/system01.dbf'

 

SQL>select * fromv$recover_file;

 

    FILE# ONLINE  ONLINE_ ERROR                   CHANGE# TIME

---------- ------- --------------------------- ---------- ---------

        1 ONLINE  ONLINE                          1783695 31-JUL-12

        2 ONLINE  ONLINE                          1783695 31-JUL-12

        3 ONLINE  ONLINE                          1783695 31-JUL-12

        4 ONLINE  ONLINE                          1783695 31-JUL-12

        5 ONLINE  ONLINE                          1783695 31-JUL-12

        6 ONLINE  ONLINE                          1783695 31-JUL-12

        7 ONLINE  ONLINE                          1783695 31-JUL-12

 

7 rows selected.

 

SQL> recoverdatabase until cancel;

ORA-00279: change 1783695 generated at07/31/2012 15:32:04 needed for thread 1

ORA-00289: suggestion :/DBSoft/product/10.2.0/db_1/dbs/arch/1_2_790095025.dbf

ORA-00280: change 1783695 for thread 1 isin sequence #2

 

 

Specify log: {<RET>=suggested |filename | AUTO | CANCEL}

cancel

Media recovery cancelled.

SQL>

 

SQL> select * fromv$recover_file;

 

    FILE# ONLINE  ONLINE_ ERROR                   CHANGE# TIME

---------- ------- --------------------------- ---------- ---------

        1 ONLINE  ONLINE                          1783695 31-JUL-12

        2 ONLINE  ONLINE                          1783695 31-JUL-12

        3 ONLINE  ONLINE                          1783695 31-JUL-12

        4 ONLINE  ONLINE                          1783695 31-JUL-12

        5 ONLINE  ONLINE                          1783695 31-JUL-12

        6 ONLINE  ONLINE                          1783695 31-JUL-12

        7 ONLINE  ONLINE                          1783695 31-JUL-12

 

7 rows selected.

 

SQL> alterdatabase open resetlogs;

 

Database altered.

 

SQL> conn wwl/wwl

Connected.

 

SQL> select * fromwwl001;

 

       ID NAME

---------- ------------------

        1 jetsen

        2 woo

        3 prudence

        4 beijin

 

SQL>

相關閱讀:

探索Oracle之RMAN_01概念

探索Oracle之RMAN_02基本使用

探索Oracle之RMAN_03非一致性備份

探索Oracle之RMAN_04非一致性備份

探索Oracle之RMAN_05增量備份

探索Oracle之RMAN_06備份策略

探索Oracle之RMAN_07單個資料檔案丟失恢複

探索Oracle之RMAN_07整個業務資料表空間丟失恢複

探索Oracle之RMAN_07 磁碟損壞資料丟失恢複

探索Oracle之RMAN_07 資料庫所有檔案全部丟失恢複

探索Oracle之RMAN_07 重做日誌redu檔案丟失恢複

探索Oracle之RMAN_07 參數檔案丟失恢複

探索Oracle之RMAN_07控制檔案丟失恢複

探索Oracle之RMAN_07 system資料表空間丟失恢複

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.