目標:丟失所以控制文件,數據庫文件,redo文件。只有rman全備的和所有歸檔的恢復

目標:丟失所以控制文件,數據庫文件,redo文件。只有rman全備的和所有歸檔的恢復

 

 

1. 創建測試表

2. rman全備

3. 模擬丟失所以控制文件,數據庫文件,redo文件

4. 開始恢復

 

 

 

測試步驟


1. 創建測試表

 

C:/Documents and Settings/Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on 星期二 11月 2 11:36:44 2010

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


連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> create table skate tablespace users as select * from dba_objects;

表已創建。

 

SQL> select count(1) from skate;

  COUNT(1)
----------
     50031

SQL>

 

 

2. rman全備

 


C:/Documents and Settings/Administrator>rman target /

恢復管理器: Release 10.2.0.4.0 - Production on 星期二 11月 2 11:39:00 2010

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

連接到目標數據庫: AIBO (DBID=831121923)

 

RMAN> backup database;

啓動 backup 於 02-11月-10
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 啓動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
輸入數據文件 fno=00001 name=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/SYSTEM01.DBF
輸入數據文件 fno=00003 name=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/SYSAUX01.DBF
輸入數據文件 fno=00002 name=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/UNDOTBS01.DBF
輸入數據文件 fno=00004 name=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/USERS01.DBF
通道 ORA_DISK_1: 正在啓動段 1 於 02-11月-10
通道 ORA_DISK_1: 已完成段 1 於 02-11月-10
段句柄=E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/AIBO/BACKUPSET/2010_11_02/O1
_MF_NNNDF_TAG20101102T113914_6DZ1Z38S_.BKP 標記=TAG20101102T113914 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:01:05
通道 ORA_DISK_1: 啓動全部數據文件備份集
通道 ORA_DISK_1: 正在指定備份集中的數據文件
備份集中包括當前控制文件
在備份集中包含當前的 SPFILE
通道 ORA_DISK_1: 正在啓動段 1 於 02-11月-10
通道 ORA_DISK_1: 已完成段 1 於 02-11月-10
段句柄=E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/AIBO/BACKUPSET/2010_11_02/O1
_MF_NCSNF_TAG20101102T113914_6DZ2153F_.BKP 標記=TAG20101102T113914 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:03
完成 backup 於 02-11月-10

RMAN>

 


rman全備已經ok,現在模擬所有的數據文件和redo丟失

 

3. 模擬丟失所以控制文件,數據庫文件,redo文件

 

關閉數據庫:
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。

 

未丟失前:
 E:/oracle/product/10.2.0/oradata/aibo 的目錄

2010-11-02  10:54    <DIR>          .
2010-11-02  10:54    <DIR>          ..
2010-11-02  11:38         7,061,504 CONTROL01.CTL
2010-11-02  11:38         7,061,504 CONTROL02.CTL
2010-11-02  11:38         7,061,504 CONTROL03.CTL
2010-11-02  11:36        52,429,312 REDO01.LOG
2010-11-02  11:36        52,429,312 REDO02.LOG
2010-11-02  11:36        52,429,312 REDO03.LOG
2010-11-02  11:36       262,152,192 SYSAUX01.DBF
2010-11-02  11:36       503,324,672 SYSTEM01.DBF
2010-11-02  10:54        20,979,712 TEMP01.DBF
2010-11-02  11:36        26,222,592 UNDOTBS01.DBF
2010-11-02  11:38         7,872,512 USERS01.DBF
              11 個文件    999,024,128 字節
               2 個目錄 42,864,582,656 可用字節

E:/oracle/product/10.2.0/oradata/aibo>

 

 

我更改了文件名稱“E:/oracle/product/10.2.0/oradata/aibo” 改爲“E:/oracle/product/10.2.0/oradata/aibo3”

 

當前場景分析:


模擬所有的數據文件和redo丟失,只有rman的全備份的所有歸檔

 

 

4. 開始恢復

 

開始恢復:

SQL> startup nomount
ORACLE 例程已經啓動。

Total System Global Area  574619648 bytes
Fixed Size                  1297944 bytes
Variable Size             159384040 bytes
Database Buffers          406847488 bytes
Redo Buffers                7090176 bytes
SQL>

 


C:/Documents and Settings/Administrator>rman target /

恢復管理器: Release 10.2.0.4.0 - Production on 星期二 11月 2 11:48:53 2010

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

連接到目標數據庫: aibo (未裝載)

 

從指定備份集中恢復控制文件

 

RMAN> restore controlfile from 'E:/oracle/product/10.2.0/flash_recovery_area/AIB
O/BACKUPSET/2010_11_02/O1_MF_NNNDF_TAG20101102T113914_6DZ1Z38S_.BKP';

 

啓動 restore 於 02-11月-10
使用目標數據庫控制文件替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK

通道 ORA_DISK_1: 正在還原控制文件
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 11/02/2010 11:50:15 上) 失敗
ORA-19697: 在備份集中找不到備用控制文件

 

說明控制文件沒在這個備份集中

 

RMAN> restore controlfile from 'E:/oracle/product/10.2.0/flash_recovery_area/AIB
O/BACKUPSET/2010_11_02/O1_MF_NCSNF_TAG20101102T113914_6DZ2153F_.BKP';

 

啓動 restore 於 02-11月-10
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在還原控制文件
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 11/02/2010 11:50:39 上) 失敗
ORA-19870: 讀取備份段 E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/AIBO/BACKUPSE
T/2010_11_02/O1_MF_NCSNF_TAG20101102T113914_6DZ2153F_.BKP 時出錯
ORA-19504: 無法創建文件"E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/CONTROL01.CTL"
ORA-27040: 文件創建錯誤, 無法創建文件
OSD-04002: 無法打開文件
O/S-Error: (OS 3) 系統找不到指定的路徑。

 

這個是因爲沒有創建文件夾的權限,我創建文件夾“E:/oracle/product/10.2.0/oradata/aibo”,問題就解決


RMAN> restore controlfile from 'E:/oracle/product/10.2.0/flash_recovery_area/AIB
O/BACKUPSET/2010_11_02/O1_MF_NCSNF_TAG20101102T113914_6DZ2153F_.BKP';

 

啓動 restore 於 02-11月-10
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在還原控制文件
通道 ORA_DISK_1: 還原完成, 用時: 00:00:02
輸出文件名=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/CONTROL01.CTL
輸出文件名=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/CONTROL02.CTL
輸出文件名=E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/CONTROL03.CTL
完成 restore 於 02-11月-10

RMAN>

 


RMAN> alter database mount;

數據庫已裝載
釋放的通道: ORA_DISK_1

 

RMAN> restore database;

啓動 restore 於 02-11月-10
啓動 implicit crosscheck backup 於 02-11月-10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
已交叉檢驗的 3 對象
完成 implicit crosscheck backup 於 02-11月-10

啓動 implicit crosscheck copy 於 02-11月-10
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 於 02-11月-10

搜索恢復區中的所有文件
正在編制文件目錄...
目錄編制完畢

已列入目錄的文件的列表
=======================
文件名: E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/AIBO/BACKUPSET/2010_11_02/O
1_MF_NCSNF_TAG20101102T113914_6DZ2153F_.BKP

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在開始恢復數據文件備份集
通道 ORA_DISK_1: 正在指定從備份集還原的數據文件
正將數據文件00001還原到E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/SYSTEM01.DBF
正將數據文件00002還原到E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/UNDOTBS01.DBF
正將數據文件00003還原到E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/SYSAUX01.DBF
正將數據文件00004還原到E:/ORACLE/PRODUCT/10.2.0/ORADATA/AIBO/USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份片段 E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/A
IBO/BACKUPSET/2010_11_02/O1_MF_NNNDF_TAG20101102T113914_6DZ1Z38S_.BKP
通道 ORA_DISK_1: 已還原備份片段 1
段句柄 = E:/ORACLE/PRODUCT/10.2.0/FLASH_RECOVERY_AREA/AIBO/BACKUPSET/2010_11_02/
O1_MF_NNNDF_TAG20101102T113914_6DZ1Z38S_.BKP 標記 = TAG20101102T113914
通道 ORA_DISK_1: 還原完成, 用時: 00:01:05
完成 restore 於 02-11月-10

 

 

RMAN> recover database;

 

啓動 recover 於 02-11月-10
使用通道 ORA_DISK_1

正在開始介質的恢復

無法找到存檔日誌
存檔日誌線程 =1 序列=1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 11/02/2010 12:01:33 上) 失敗
RMAN-06054: 介質恢復正請求未知的日誌: 線程 1 seq 1 lowscn 582659

 

RMAN> recover database until scn 582659;

 

啓動 recover 於 02-11月-10
使用通道 ORA_DISK_1

正在開始介質的恢復

無法找到存檔日誌
存檔日誌線程 =1 序列=1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 11/02/2010 12:01:33 上) 失敗
RMAN-06054: 介質恢復正請求未知的日誌: 線程 1 seq 1 lowscn 582659

 

 

RMAN> alter database open resetlogs;

數據庫已打開

RMAN>

 

到此數據庫已經open,驗證數據是否丟失!!!


C:/Documents and Settings/Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on 星期二 11月 2 12:04:30 2010

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


連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select count(1) from skate;

  COUNT(1)
----------
     50031

SQL>

 

 

數據存在,到此恢復過程已經成功結束!!!

 

 

 

 

------end---

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章