程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 一步一步學RMAN第九篇 實戰rman恢復(1)丟失控制文件的恢復

一步一步學RMAN第九篇 實戰rman恢復(1)丟失控制文件的恢復

編輯:關於SqlServer

無數次我對自己說,可以了,足夠了,你已經明白了,需要學習的東西還很多,趕緊沖著下個目標去吧。尤幸的是在下一刻,另一個聲音在腦海中響起,再加把勁,真的搞明白了,親手去做個測試吧。

前面說過的,在非恢復目錄(catalog)模式下,rman的備份信息都將存儲在目標數據庫的控制文件中,所以一旦控制文件丟失,不僅目標數據庫崩潰,而且rman備份信息也盡數丟失,這種情況下,如果您有控制文件備份,那還有救(沒有備份的話,也並非完全沒有希望,如果您對自己的oracle結構非常了解,可以通過寫腳本的方式自已重建控制文件。看看Oracle是不是考慮的很周全了,很多情況下你認為沒救了的時候,也並非完全陷入絕境)。

本章將模擬歸檔模式下,控制文件丟失情況下的恢復,在本例中,我們仍然借助上節中建立的備份做恢復,大家應該還記的。

在應用備份恢復時,必須知道目標數據庫的DBID,有多種方式可查,比如我們創建自動備份時,如果沒有更改其命名方式,文件名中會包含DBID;或者查看之前的rman備份日志,其中登陸到rman之後會顯示出目標數據庫的DBID

SQL> select *from JSs.tmp3;

COL

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

test4

test1

test2

test3

SQL> shutdown immediate;

數據庫已經關閉。

已經卸載數據庫。

Oracle 例程已經關閉。

SQL>host del F:\OraHome1\oradata\JSsweb\CONTROL*;

SQL> EXIT;

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

恢復管理器: 版本9.2.0.1.0 - Production

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

連接到目標數據庫: JSsweb(未安裝)

RMAN> set dbid 3391142503

#####由於目標數據庫控制文件丟失,在此處必須指定dbid

正在執行命令: SET DBID

RMAN> 

;restore controlfile from 'd:\backup\C-3391142503-20070718-04';

########如果打開了自動備份,通過restore controlfile from autobackup也可以

########不過需要注意,因為控制文件沒有了,所以rman的配置信息也丟失了,你需要用 set controlfile autobackup format for device type disk to 'd:\backup\%F';命令重設一個自動備份的控制文件所在路徑。

啟動 restore 於 18-7月 -07

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在恢復控制文件

通道 ORA_DISK_1: 恢復完成

正在復制控制文件

輸出文件名=F:\ORAHOME1\ORADATA\JSSWEB\CONTROL01.CTL

輸出文件名=F:\ORAHOME1\ORADATA\JSSWEB\CONTROL02.CTL

輸出文件名=F:\ORAHOME1\ORADATA\JSSWEB\CONTROL03.CTL

完成 restore 於 18-7月 -07

RMAN> sql 'alter database mount';

#######控制文件已恢復,將目標數據庫置為加載狀態

正在使用目標數據庫控制文件替代恢復目錄

sql 語句: alter database mount

RMAN> restore database;

########修復數據庫

啟動 restore 於 18-7月 -07

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=12 devtype=DISK

通道 ORA_DISK_1: 正在開始恢復數據文件備份集

通道 ORA_DISK_1: 正在指定從備份集恢復的數據文件

正將數據文件00001恢復到F:\ORAHOME1\ORADATA\JSSWEB\SYSTEM01.DBF

正將數據文件00002恢復到F:\ORAHOME1\ORADATA\JSSWEB\UNDOTBS01.DBF

正將數據文件00003恢復到F:\ORAHOME1\ORADATA\JSSWEB\DRSYS01.DBF

正將數據文件00004恢復到F:\ORAHOME1\ORADATA\JSSWEB\EXAMPLE01.DBF

正將數據文件00005恢復到F:\ORAHOME1\ORADATA\JSSWEB\INDX01.DBF

正將數據文件00006恢復到F:\ORAHOME1\ORADATA\JSSWEB\ODM01.DBF

正將數據文件00007恢復到F:\ORAHOME1\ORADATA\JSSWEB\TOOLS01.DBF

正將數據文件00008恢復到F:\ORAHOME1\ORADATA\JSSWEB\USERS01.DBF

正將數據文件00009恢復到F:\ORAHOME1\ORADATA\JSSWEB\XDB01.DBF

正將數據文件00010恢復到F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA

通道 ORA_DISK_1: 已恢復備份段 1

段 handle=D:\BACKUP\1AIN4JU5_1_1 tag=TAG20070718T092837 params=NULL

通道 ORA_DISK_1: 恢復完成

完成 restore 於 18-7月 -07

RMAN> recover database;

########恢復數據庫

啟動 recover 於 18-7月 -07

使用通道 ORA_DISK_1

正在開始介質的恢復

存檔日志線程 1 序列 7 已作為文件 F:\ORAHOME1\ORADATA\JSSWEB\REDOC02.LOG 存在於

盤上

存檔日志線程 1 序列 8 已作為文件 F:\ORAHOME1\ORADATA\JSSWEB\REDOA01.LOG 存在於

盤上

存檔日志線程 1 序列 9 已作為文件 F:\ORAHOME1\ORADATA\JSSWEB\REDOB02.LOG 存在於

盤上

通道 ORA_DISK_1: 正在啟動到默認目標的存檔日志恢復

通道 ORA_DISK_1: 正在恢復存檔日志

存檔日志線程 =1 序列=5

通道 ORA_DISK_1: 已恢復備份段 1

段 handle=D:\BACKUP\1BIN4K16_1_1 tag=TAG20070718T093014 params=NULL

通道 ORA_DISK_1: 恢復完成

存檔日志文件名 =F:\ORAHOME1\RDBMS\ARC00005.001 線程 =1 序列 =5

存檔日志文件名 =F:\ORAHOME1\RDBMS\ARC00006.001 線程 =1 序列 =6

存檔日志文件名 =F:\ORAHOME1\ORADATA\JSSWEB\REDOC02.LOG 線程 =1 序列 =7

存檔日志文件名 =F:\ORAHOME1\ORADATA\JSSWEB\REDOA01.LOG 線程 =1 序列 =8

存檔日志文件名 =F:\ORAHOME1\ORADATA\JSSWEB\REDOB02.LOG 線程 =1 序列 =9

完成介質的恢復

完成 recover 於 18-7月 -07

RMAN> sql 'alter database open resetlogs';

######由於使用備份的控制文件恢復,該文件內不包含目標數據庫redologs和數據文件頭部scn信息,所以必須通過resetlogs方式open。

sql 語句: alter database open resetlogs

RMAN> host;

Microsoft Windows [版本 5.2.3790]

(C) 版權所有 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus jss/JSs

SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 7月 18 17:40:28 2007

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 *from tmp3;

COL

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

test4

test1

test2

test3

#######成功恢復,數據也沒有丟失

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\Administrator>exit

主機命令完成

RMAN>

注意,恢復之後表忘了重建臨時表空間。另外,由於resetlogs,建議立即對數據庫進行一次完全備份。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved