oracle 資料庫全庫恢復實驗

paulyibinyi發表於2008-09-23

資料庫全庫恢復實驗
C:\Documents and Settings\paulyi>sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 9月 23 09:38:27 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


連線到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

SQL> select count(*) from test;

  COUNT(*)
----------
    236096  

SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production中斷開

C:\Documents and Settings\paulyi>d:

D:\>cd backup

D:\backup>dir                             --資料庫的備份檔案存放目錄
 驅動器 D 中的卷是 software
 卷的序列號是 3C2B-605D

 D:\backup 的目錄

2008-09-23  09:11   

          .
2008-09-23  09:11              ..
2008-09-23  09:08         6,141,952 ARC_T20080923_S%S
2008-09-23  09:05       526,868,480 BAK_T20080923_S%S
2008-09-23  09:05         2,064,384 C-1964268543-20080923-03
2008-09-23  09:08         2,064,384 C-1964268543-20080923-04
2008-09-23  09:11         2,064,384 C-1964268543-20080923-05
2008-09-23  09:11       419,438,592 IMAGE_T%T_S%S
               6 個檔案    958,642,176 位元組
               2 個目錄  7,517,093,888 可用位元組

D:\backup>
--這個時候 我們測試因為某種原因資料庫完全損壞,需要做全庫恢復  用dbca工具完全刪除test資料庫
刪除完後,以下是利用rman備份恢復資料庫全庫過程
1.建立相關例項目錄
C:\Documents and Settings\paulyi>mkdir D:\oracle\admin\test\bdump

C:\Documents and Settings\paulyi>mkdir D:\oracle\admin\test\cdump

C:\Documents and Settings\paulyi>mkdir D:\oracle\admin\test\create

C:\Documents and Settings\paulyi>mkdir D:\oracle\admin\test\pfile

C:\Documents and Settings\paulyi>mkdir D:\oracle\admin\test\udump


C:\Documents and Settings\paulyi>mkdir D:\oracle\oradata\test

2.用oradim工具建立例項名
C:\Documents and Settings\paulyi>set ORACLE_SID=test

C:\Documents and Settings\paulyi>D:\oracle\ora92\bin\oradim.exe -new  -sid TEST
-startmode m

C:\Documents and Settings\paulyi>D:\oracle\ora92\bin\oradim.exe -edit  -sid TEST
 -startmode a
3.用orapwd工具建立密碼
C:\Documents and Settings\paulyi>D:\oracle\ora92\bin\orapwd.exe file=D:\oracle\o
ra92\database\PWDtest.ora password=abcdefg

4.利用rman恢復
C:\Documents and Settings\paulyi>rman target /

恢復管理器: 版本9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

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

RMAN> startup nomount;

啟動失敗: ORA-01078: failure in processing system parameters
LRM-00109: N^7(4r?*2NJ}ND

正在嘗試在沒有引數檔案的情況下啟動 Oracle 例程...
Oracle 例程已啟動

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

Fixed Size                      453312 位元組
Variable Size                 46137344 位元組
Database Buffers              50331648 位元組
Redo Buffers                    667648 位元組

RMAN> restore spfile to 'D:\ORACLE\ORA92\DATABASE\SPFILETEST.ORA' from 'd:\backu
p\C-1964268543-20080923-04';                           --恢復spfile引數檔案

啟動 restore 於 23-9月 -08

正在使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=9 devtype=DISK
通道 ORA_DISK_1: 已找到的自動備份: d:\backup\C-1964268543-20080923-04
通道 ORA_DISK_1: 從自動備份復原 SPFILE 已完成
完成 restore 於 23-9月 -08

RMAN> shutdown immediate;      

Oracle 例程已關閉

RMAN> startup nomount;    --用spfile引數啟動

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

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

Fixed Size                      454032 位元組
Variable Size                201326592 位元組
Database Buffers             293601280 位元組
Redo Buffers                    667648 位元組

RMAN> restore controlfile from 'd:\backup\C-1964268543-20080923-04';      --恢復控制檔案

啟動 restore 於 23-9月 -08

分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=13 devtype=DISK
通道 ORA_DISK_1: 正在恢復控制檔案
通道 ORA_DISK_1: 恢復完成
正在複製控制檔案
輸出檔名=D:\ORACLE\ORADATA\TEST\CONTROL01.CTL
輸出檔名=D:\ORACLE\ORADATA\TEST\CONTROL02.CTL
輸出檔名=D:\ORACLE\ORADATA\TEST\CONTROL03.CTL
完成 restore 於 23-9月 -08

RMAN> alter database mount;     --載入資料庫

資料庫已載入

RMAN> restore database;     --恢復資料檔案

啟動 restore 於 23-9月 -08

使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
正將資料檔案00002恢復到D:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
正將資料檔案00003恢復到D:\ORACLE\ORADATA\TEST\CWMLITE01.DBF
正將資料檔案00004恢復到D:\ORACLE\ORADATA\TEST\DRSYS01.DBF
正將資料檔案00005恢復到D:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF
正將資料檔案00006恢復到D:\ORACLE\ORADATA\TEST\INDX01.DBF
正將資料檔案00007恢復到D:\ORACLE\ORADATA\TEST\ODM01.DBF
正將資料檔案00008恢復到D:\ORACLE\ORADATA\TEST\TOOLS01.DBF
正將資料檔案00009恢復到D:\ORACLE\ORADATA\TEST\USERS01.DBF
正將資料檔案00010恢復到D:\ORACLE\ORADATA\TEST\XDB01.DBF
通道 ORA_DISK_1: 已恢復備份段 1
段 handle=D:\BACKUP\BAK_T20080923_S%S tag=TAG20080923T090347 params=NULL
通道 ORA_DISK_1: 恢復完成
完成 restore 於 23-9月 -08

RMAN> restore archivelog all;   --恢復歸檔日誌檔案

啟動 restore 於 23-9月 -08

使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動到預設目標的存檔日誌恢復
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=2
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=3
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=4
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=5
通道 ORA_DISK_1: 已恢復備份段 1
段 handle=D:\BACKUP\ARC_T20080923_S%S tag=TAG20080923T090821 params=NULL
通道 ORA_DISK_1: 恢復完成
完成 restore 於 23-9月 -08

RMAN> recover database;      --介質恢復

啟動 recover 於 23-9月 -08
使用通道 ORA_DISK_1

正在開始介質的恢復

存檔日誌檔名 =D:\BACKUP\ARC00002.001 執行緒 =1 序列 =2
存檔日誌檔名 =D:\BACKUP\ARC00003.001 執行緒 =1 序列 =3
存檔日誌檔名 =D:\BACKUP\ARC00004.001 執行緒 =1 序列 =4
存檔日誌檔名 =D:\BACKUP\ARC00005.001 執行緒 =1 序列 =5
無法找到存檔日誌
存檔日誌執行緒 =1 序列=6
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 09/23/2008 10:50:37
RMAN-06054: media recovery requesting unknown log: thread 1 scn 219895

RMAN> alter database open resetlogs;   --重置日誌開啟資料庫

資料庫已開啟

RMAN> exit


恢復管理器完成。

 

C:\Documents and Settings\paulyi>sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 9月 23 10:51:31 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


連線到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

SQL> select count(*) from test;

  COUNT(*)
----------
    236096

SQL>
對數 資料沒有丟失,全庫恢復完成

最後再做個資料庫全備份
RMAN> backup database format 'd:\backup\BAK1_T%T_S%S';

啟動 backup 於 23-9月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動 full 資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00001 name=D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
輸入資料檔案 fno=00002 name=D:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
輸入資料檔案 fno=00005 name=D:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF
輸入資料檔案 fno=00010 name=D:\ORACLE\ORADATA\TEST\XDB01.DBF
輸入資料檔案 fno=00006 name=D:\ORACLE\ORADATA\TEST\INDX01.DBF
輸入資料檔案 fno=00009 name=D:\ORACLE\ORADATA\TEST\USERS01.DBF
輸入資料檔案 fno=00003 name=D:\ORACLE\ORADATA\TEST\CWMLITE01.DBF
輸入資料檔案 fno=00004 name=D:\ORACLE\ORADATA\TEST\DRSYS01.DBF
輸入資料檔案 fno=00007 name=D:\ORACLE\ORADATA\TEST\ODM01.DBF
輸入資料檔案 fno=00008 name=D:\ORACLE\ORADATA\TEST\TOOLS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 23-9月 -08
通道 ORA_DISK_1: 已完成段 1 於 23-9月 -08
段 handle=D:\BACKUP\BAK1_T20080923_S%S comment=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:01:05
完成 backup 於 23-9月 -08

啟動 Control File and SPFILE Autobackup 於 23-9月 -08
段 handle=D:\BACKUP\C-1964268543-20080923-04 comment=NONE
完成 Control File and SPFILE Autobackup 於 23-9月 -08

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

相關文章