Oracle恢復測試

ljm0211發表於2012-06-20
Case 1:資料庫資料檔案損壞與恢復(資料庫無法開啟)

測試場景:


ywzkr中資料檔案hx_data_tbs01資料檔案受損,資料庫啟動過程停留在載入模式中。

SQL> startup

ORACLE 例程已經啟動。


Total System Global Area 6442450944 bytes

Fixed Size                  2065792 bytes

Variable Size            3875539584 bytes

Database Buffers         2550136832 bytes

Redo Buffers               14708736 bytes

資料庫裝載完畢。

ORA-01113: 檔案 6 需要介質恢復

ORA-01110: 資料檔案 6: '/ywzkr_db/ywzkr/hx_data_tbs01.dbf'

輸入操作:

將備份從磁帶恢復資料到磁碟

rman target / catalog rman/rman_ywcw@cwyy

RMAN> list backupset;

RMAN> Restore datafile 6;

RMAN> Recover datafile 6;

SQL> alter database open;

期望結果:

恢復成功。

實際輸出結果:

$ rman target / catalog rman/rman_ywcw@cwyy


恢復管理器: Release 10.2.0.4.0 - Production on 星期四 4月 16 11:10:05 2009


Copyright (c) 1982, 2007, Oracle.  All rights reserved.


已連線到目標資料庫: YWZKR (DBID=734179557, 未開啟)

連線到恢復目錄資料庫



RMAN> list backupset;

……

720     Full    1.08G      DISK        00:00:30     2009-04-16 10:31:31

BP 關鍵字: 725   狀態: AVAILABLE  已壓縮: NO  標記: YWZKR_FULL

段名:/ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

備份集 720 中的資料檔案列表

檔案 LV 型別 Ckp SCN    Ckp 時間            名稱

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

1       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/system01.dbf

2       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/undotbs01.dbf

6       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_data_tbs01.dbf

8       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_data_tbs03.dbf

10      Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_index_tbs01.dbf

……

RMAN> restore datafile 6;


啟動 restore 於 2009-04-16 11:13:39

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=871 devtype=DISK



通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00006還原到/ywzkr_db/ywzkr/hx_data_tbs01.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:00:36

完成 restore 於 2009-04-16 11:14:16


RMAN> recover datafile 6;


啟動 recover 於 2009-04-16 11:14:26

使用通道 ORA_DISK_1


正在開始介質的恢復

介質恢復完成, 用時: 00:00:01

完成 recover 於 2009-04-16 11:14:27

RMAN> exit                   



恢復管理器完成。

$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 4月 16 11:14:53 2009

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


連線到:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options



SQL> alter database open;



資料庫已更改。

結論:恢復成功。


Case 2:資料庫資料檔案損壞與恢復(資料庫處於開啟狀態,使用者訪問資料庫出錯)


測試場景:

ywzkr中資料檔案hx_data_tbs01資料檔案受損丟失,資料庫處於開啟狀態,使用者訪問資料庫出錯。

SQL> select * from BUSINESS.ACCMAINVOUCHERERR;

select * from BUSINESS.ACCMAINVOUCHERERR

*

第 1 行出現錯誤:

ORA-01116: 開啟資料庫檔案 6 時出錯

ORA-01110: 資料檔案 6: '/ywzkr_db/ywzkr/hx_data_tbs01.dbf'

ORA-27041: 無法開啟檔案

HPUX-ia64 Error: 2: No such file or directory

Additional information: 3

輸入操作:

方法一:

將備份從磁帶恢復資料到磁碟

rman target / catalog rman/rman_ywcw@cwyy

RMAN> list backupset;

RMAN> sql "alter database datafile 6 offline";

RMAN> Restore datafile 6;

RMAN> Recover datafile 6;

RMAN> sql "alter database datafile 6 online";

方法二:

將備份從磁帶恢復資料到磁碟

rman target / catalog rman/rman_ywcw@cwyy

RMAN> list backupset;

RMAN> sql "alter tablespace hx_data_tbs offline immediate";

RMAN> Restore datafile 6;

RMAN> Recover tablespace hx_data_tbs;

RMAN> sql "alter tablespace hx_data_tbs online";

期望結果:

恢復成功。

實際輸出結果:

方法一:

$ rman target / catalog rman/rman_ywcw@cwyy



恢復管理器: Release 10.2.0.4.0 - Production on 星期四 4月 16 11:10:05 2009



Copyright (c) 1982, 2007, Oracle.  All rights reserved.



已連線到目標資料庫: YWZKR (DBID=734179557, 未開啟)

連線到恢復目錄資料庫



RMAN> list backupset;

……

720     Full    1.08G      DISK        00:00:30     2009-04-16 10:31:31

BP 關鍵字: 725   狀態: AVAILABLE  已壓縮: NO  標記: YWZKR_FULL

段名:/ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

備份集 720 中的資料檔案列表

檔案 LV 型別 Ckp SCN    Ckp 時間            名稱

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

1       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/system01.dbf

2       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/undotbs01.dbf

6       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_data_tbs01.dbf

8       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_data_tbs03.dbf

10      Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_index_tbs01.dbf

……

RMAN> sql "alter database datafile 6 offline";



sql 語句: alter database datafile 6 offline



RMAN> restore datafile 6;



啟動 restore 於 2009-04-16 16:12:47

使用通道 ORA_DISK_1



通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00006還原到/ywzkr_db/ywzkr/hx_data_tbs01.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:00:35

完成 restore 於 2009-04-16 16:13:23



RMAN> recover datafile 6;



啟動 recover 於 2009-04-16 16:13:29

使用通道 ORA_DISK_1



正在開始介質的恢復

介質恢復完成, 用時: 00:00:03



完成 recover 於 2009-04-16 16:13:32

正在啟動全部恢復目錄的 resync

完成全部 resync



RMAN> sql "alter database datafile 6 online";



sql 語句: alter database datafile 6 online

結論:恢復成功。



方法二:

$ rman target / catalog rman/rman_ywcw@cwyy



恢復管理器: Release 10.2.0.4.0 - Production on 星期四 4月 16 11:10:05 2009



Copyright (c) 1982, 2007, Oracle.  All rights reserved.



已連線到目標資料庫: YWZKR (DBID=734179557, 未開啟)

連線到恢復目錄資料庫



RMAN> list backupset;

……

720     Full    1.08G      DISK        00:00:30     2009-04-16 10:31:31

BP 關鍵字: 725   狀態: AVAILABLE  已壓縮: NO  標記: YWZKR_FULL

段名:/ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

備份集 720 中的資料檔案列表

檔案 LV 型別 Ckp SCN    Ckp 時間            名稱

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

1       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/system01.dbf

2       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/undotbs01.dbf

6       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_data_tbs01.dbf

8       Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_data_tbs03.dbf

10      Full 17813259   2009-04-16 10:31:01 /ywzkr_db/ywzkr/hx_index_tbs01.dbf

……

RMAN> sql "alter tablespace hx_data_tbs offline immediate";

sql 語句: alter tablespace hx_data_tbs offline immediate


RMAN> restore datafile 6;

啟動 restore 於 2009-04-16 16:15:23

使用通道 ORA_DISK_1


通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00006還原到/ywzkr_db/ywzkr/hx_data_tbs01.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:00:36

完成 restore 於 2009-04-16 16:16:00



RMAN> recover tablespace hx_data_tbs;



啟動 recover 於 2009-04-16 16:16:31

使用通道 ORA_DISK_1



正在開始介質的恢復

介質恢復完成, 用時: 00:00:00



完成 recover 於 2009-04-16 16:16:32

正在啟動全部恢復目錄的 resync

完成全部 resync



RMAN> sql "alter tablespace hx_data_tbs online";



sql 語句: alter tablespace hx_data_tbs online

結論:恢復成功。



Case 3:資料庫整個資料表空間的損壞與恢復

測試場景:

Ywzkr資料庫中hx_data_tbs表空間中多個或全部資料檔案損壞後丟失,可以逐個按照Case 2中的方法進行恢復,不過為了減少操作的繁雜程度,可以進行整個表空間的恢復。

輸入操作:

將備份從磁帶恢復資料到磁碟

rman target / catalog rman/rman_ywcw@cwyy

RMAN> list backupset;

RMAN> sql "alter tablespace hx_data_tbs offline immediate";

RMAN> Restore tablespace hx_data_tbs;

RMAN> Recover tablespace hx_data_tbs;

RMAN> sql "alter tablespace hx_data_tbs online";

期望結果:

恢復成功。

實際輸出結果:

RMAN> sql "alter tablespace hx_data_tbs offline immediate";


sql 語句: alter tablespace hx_data_tbs offline immediate


RMAN> restore tablespace hx_data_tbs;


啟動 restore 於 2009-04-16 16:28:05

使用通道 ORA_DISK_1


通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00007還原到/ywzkr_db/ywzkr/hx_data_tbs02.dbf

正將資料檔案00009還原到/ywzkr_db/ywzkr/hx_data_tbs04.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_51_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_51_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:00:56

通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00006還原到/ywzkr_db/ywzkr/hx_data_tbs01.dbf

正將資料檔案00008還原到/ywzkr_db/ywzkr/hx_data_tbs03.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684325861_50_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:00:56

完成 restore 於 2009-04-16 16:29:59


RMAN> recover tablespace hx_data_tbs;


啟動 recover 於 2009-04-16 16:30:26

使用通道 ORA_DISK_1


正在開始介質的恢復

介質恢復完成, 用時: 00:00:01


完成 recover 於 2009-04-16 16:30:27

正在啟動全部恢復目錄的 resync

完成全部 resync


RMAN> sql "alter tablespace hx_data_tbs online";


sql 語句: alter tablespace hx_data_tbs online

結論:恢復成功。


Case 4:全庫損壞與恢復


測試場景:

Ywzkr資料庫災難性損壞,重灌了資料庫軟體,需要取磁帶中的備份進行全庫恢復。

輸入操作:

將備份從磁帶恢復資料到磁碟

sqlplus / as sysdba

SQL> startup nomount

rman target / catalog rman/rman_ywcw@cwyy

RMAN> restore spfile;

SQL> shutdown immediate;

SQL> startup nomount;

rman target / catalog rman/rman_ywcw@cwyy

RMAN> restore controlfile;

RMAN> sql "alter database mount";

SQL> select group#,sequence#,status from v$log;


GROUP#  SEQUENCE# STATUS

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

1          1 CURRENT

2          0 UNUSED

5          0 UNUSED

4          0 UNUSED

3          0 UNUSED

RMAN> restore database until sequence 2;

RMAN> recover database until sequence 2;

RMAN> sql "alter database open resetlogs";

最後再進行一個資料庫的完整備份。

期望結果:

恢復成功。

實際輸出結果:

$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 4月 16 17:52:57 2009

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


已連線到空閒例程。

SQL> startup nomount

ORACLE 例程已經啟動。


Total System Global Area 6442450944 bytes

Fixed Size                  2065792 bytes

Variable Size            3858762368 bytes

Database Buffers         2566914048 bytes

Redo Buffers               14708736 bytes


$ rman target / catalog rman/rman_ywcw@cwyy


恢復管理器: Release 10.2.0.4.0 - Production on 星期四 4月 16 17:55:21 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.


連線到目標資料庫: ywzkr (未裝載)

連線到恢復目錄資料庫

RMAN> restore spfile;

啟動 restore 於 2009-04-16 17:55:29

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=871 devtype=DISK


通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 還原 SPFILE

輸出檔名=/ywzkr_ora/product/10.2.0/dbs/spfileywzkr.ora

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_ora/product/10.2.0/dbs/c-734179557-20090416-00

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_ora/product/10.2.0/dbs/c-734179557-20090416-00 標記 = TAG20090416T173909

通道 ORA_DISK_1: 還原完成, 用時: 00:00:01

完成 restore 於 2009-04-16 17:55:30


SQL> shutdown immediate;

ORA-01507: 未裝載資料庫


ORACLE 例程已經關閉。

SQL> startup nomount

ORACLE 例程已經啟動。


Total System Global Area 6442450944 bytes

Fixed Size                  2065792 bytes

Variable Size            3875539584 bytes

Database Buffers         2550136832 bytes

Redo Buffers               14708736 bytes


$ rman target / catalog rman/rman_ywcw@cwyy


恢復管理器: Release 10.2.0.4.0 - Production on 星期四 4月 16 17:58:44 2009


Copyright (c) 1982, 2007, Oracle.  All rights reserved.


連線到目標資料庫: ywzkr (未裝載)

連線到恢復目錄資料庫


RMAN> restore controlfile;


啟動 restore 於 2009-04-16 17:58:52

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=870 devtype=DISK


通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在還原控制檔案

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_ora/product/10.2.0/dbs/c-734179557-20090416-00

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_ora/product/10.2.0/dbs/c-734179557-20090416-00 標記 = TAG20090416T173909

通道 ORA_DISK_1: 還原完成, 用時: 00:00:01

輸出檔名=/ywzkr_db/ywzkr/control01.ctl

輸出檔名=/ywzkr_db/ywzkr/control02.ctl

輸出檔名=/ywzkr_db/ywzkr/control03.ctl

完成 restore 於 2009-04-16 17:58:54


RMAN> sql "alter database mount";


sql 語句: alter database mount


RMAN> restore database until sequence 2;


啟動 restore 於 2009-04-16 18:01:51

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=874 devtype=DISK



通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00001還原到/ywzkr_db/ywzkr/system01.dbf

正將資料檔案00002還原到/ywzkr_db/ywzkr/undotbs01.dbf

正將資料檔案00006還原到/ywzkr_db/ywzkr/hx_data_tbs01.dbf

正將資料檔案00008還原到/ywzkr_db/ywzkr/hx_data_tbs03.dbf

正將資料檔案00010還原到/ywzkr_db/ywzkr/hx_index_tbs01.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684351508_63_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684351508_63_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:01:35

通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00003還原到/ywzkr_db/ywzkr/sysaux01.dbf

正將資料檔案00004還原到/ywzkr_db/ywzkr/users01.dbf

正將資料檔案00005還原到/ywzkr_db/ywzkr/example01.dbf

正將資料檔案00007還原到/ywzkr_db/ywzkr/hx_data_tbs02.dbf

正將資料檔案00009還原到/ywzkr_db/ywzkr/hx_data_tbs04.dbf

正將資料檔案00011還原到/ywzkr_db/ywzkr/hx_index_tbs02.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684351508_64_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684351508_64_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:01:25

完成 restore 於 2009-04-16 18:04:52


SQL> select group#,sequence#,status from v$log;


GROUP#  SEQUENCE# STATUS

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

1          1 CURRENT

2          0 UNUSED

5          0 UNUSED

4          0 UNUSED

3          0 UNUSED

RMAN> recover database until sequence 2;


啟動 recover 於 2009-04-16 18:14:27

使用通道 ORA_DISK_1


正在開始介質的恢復


存檔日誌檔名 =/ywzkr_arch/archive/arch_2bc2b0e5_1_684349818_1.log 執行緒 =1 序列 =1

介質恢復完成, 用時: 00:00:03

完成 recover 於 2009-04-16 18:14:33


RMAN> sql "alter database open resetlogs";


sql 語句: alter database open resetlogs

在恢復目錄中註冊的資料庫的新原型

正在啟動全部恢復目錄的 resync

完成全部 resync


RMAN> exit


恢復管理器完成。


結論:恢復成功。


Case 5:基於時間點的恢復(恢復使用者錯誤等)

測試場景:

Ywzkr資料庫由於使用者的錯誤操作刪除了某個表,需要執行不完全恢復到刪除表之前的時間點。

輸入操作:

將備份從磁帶恢復資料到磁碟(7天內的備份存在於磁碟上,不需要從磁帶上進行恢復)

$sqlplus business/yw090414

SQL> set time on;

SQL> create table test_rec as select * from all_users;


呼叫備份指令碼進行一個全庫備份

$ /ywzkr_arch/dbbackup/rmanbackup/sh/startrman.sh

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> $


SQL> drop table test_rec;

SQL> select count(*) from test_rec;


$ rman target / catalog rman/rman_ywcw@cwyy

RMAN> run {

2> shutdown immediate;

3> startup mount;

4> sql “alter session set nls_date_format=’’yyyy-mm-dd hh24:mi:ss’’”;

5> set until time ‘2009-##-## ##:##:##’;

6> restore database;

7> recover database;

8> alter database open resetlogs;}

進行一個資料庫的完整備份。

SQL> select count(*) from test_rec;

SQL> drop table test_rec;

最後再進行一個資料庫的完整備份,恢復資料庫測試前狀態。

期望結果:

恢復成功。

實際輸出結果:

$ sqlplus business/yw090414

SQL*Plus: Release 10.2.0.4.0 - Production on 星期五 4月 17 10:01:22 2009

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


連線到:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> set time on;

10:01:28 SQL> create table test_rec as select * from all_users;


表已建立。


10:02:05 SQL>


$ ./startrman.sh

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> $

10:02:05 SQL> drop table test_rec;

表已刪除。

10:06:52 SQL>

$ rman target / catalog rman/rman_ywcw@cwyy

恢復管理器: Release 10.2.0.4.0 - Production on 星期五 4月 17 10:09:33 2009


Copyright (c) 1982, 2007, Oracle.  All rights reserved.


連線到目標資料庫: YWZKR (DBID=734179557)

連線到恢復目錄資料庫

RMAN> run {

2> shutdown immediate;

3> startup mount;

4> sql "alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''";

5> set until time '2009-04-17 10:06:50';

6> restore database;

7> recover database;

8> alter database open resetlogs;}


資料庫已關閉

資料庫已卸裝

Oracle 例項已關閉


已連線到目標資料庫 (未啟動)

Oracle 例項已啟動

資料庫已裝載


系統全域性區域總計    6442450944 位元組

Fixed Size                     2065792 位元組

Variable Size               3875539584 位元組

Database Buffers            2550136832 位元組

Redo Buffers                  14708736 位元組

sql 語句: alter session set nls_date_format=''yyyy-mm-dd hh24:mi:ss''


正在執行命令: SET until clause


啟動 restore 於 2009-04-17 10:14:16

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=872 devtype=DISK


通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00003還原到/ywzkr_db/ywzkr/sysaux01.dbf

正將資料檔案00004還原到/ywzkr_db/ywzkr/users01.dbf

正將資料檔案00005還原到/ywzkr_db/ywzkr/example01.dbf

正將資料檔案00007還原到/ywzkr_db/ywzkr/hx_data_tbs02.dbf

正將資料檔案00009還原到/ywzkr_db/ywzkr/hx_data_tbs04.dbf

正將資料檔案00011還原到/ywzkr_db/ywzkr/hx_index_tbs02.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684410565_86_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684410565_86_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:01:16

通道 ORA_DISK_1: 正在開始恢復資料檔案備份集

通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案

正將資料檔案00001還原到/ywzkr_db/ywzkr/system01.dbf

正將資料檔案00002還原到/ywzkr_db/ywzkr/undotbs01.dbf

正將資料檔案00006還原到/ywzkr_db/ywzkr/hx_data_tbs01.dbf

正將資料檔案00008還原到/ywzkr_db/ywzkr/hx_data_tbs03.dbf

正將資料檔案00010還原到/ywzkr_db/ywzkr/hx_index_tbs01.dbf

通道 ORA_DISK_1: 正在讀取備份片段 /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684410565_85_1.bkp

通道 ORA_DISK_1: 已還原備份片段 1

段控制程式碼 = /ywzkr_arch/dbbackup/rmanbackup/backupset/full_YWZKR_684410565_85_1.bkp 標記 = YWZKR_FULL

通道 ORA_DISK_1: 還原完成, 用時: 00:01:26

完成 restore 於 2009-04-17 10:16:59


啟動 recover 於 2009-04-17 10:17:00

使用通道 ORA_DISK_1


正在開始介質的恢復

介質恢復完成, 用時: 00:00:03


完成 recover 於 2009-04-17 10:17:03


資料庫已開啟

在恢復目錄中註冊的資料庫的新原型

正在啟動全部恢復目錄的 resync

完成全部 resync


$ sqlplus business/yw090414


SQL*Plus: Release 10.2.0.4.0 - Production on 星期五 4月 17 10:18:17 2009

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



連線到:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select count(*) from test_rec;


COUNT(*)

----------

33


SQL> select group#,sequence#,status from v$log;


GROUP#  SEQUENCE# STATUS

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

1          1 CURRENT

2          0 UNUSED

3          0 UNUSED

4          0 UNUSED

5          0 UNUSED

$ ./startrman.sh

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> $

到此,恢復完成。


刪除測試Table,進行一個全備份恢復到測試前狀態

SQL> drop table test_rec;

$ ./startrman.sh

RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> $


結論:恢復成功。

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

相關文章