循序漸進oracle第7章:備份與恢復之RMAN的簡單備份與恢復
/* 2008/06/04
*環境:Windows XP +Oracle10.2.0.1
*循序漸進oracle——資料庫管理、最佳化與備份恢復
*第7章:備份與恢復之RMAN的簡單備份與恢復
*/
7.7.3 RMAN的備份與恢復(丟失所有的controlfile,datafile,redofile)
1、啟動控制檔案自動備份
>rman target/
>show all;
>RMAN> configure controlfile autobackup on;
舊的 RMAN 配置引數:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新的 RMAN 配置引數:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
已成功儲存新的 RMAN 配置引數
RMAN> backup database tag=full20080604 plus archivelog;
2、模擬介質損壞
RMAN> shutdown immediate
刪除$oracle_HOME\oradata\sid\下所有的檔案,即刪除controlfile,datafile,redofile
3、啟動報錯進行恢復
C:\>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 6月 4 08:07:45 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連線到空閒例程。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 100664100 bytes
Database Buffers 163577856 bytes
Redo Buffers 7139328 bytes
ORA-00205: ?????????, ??????, ???????
C:\>rman target/
恢復管理器: Release 10.2.0.1.0 - Production on 星期三 6月 4 08:08:21 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: risenet (未裝載)
先還原控制檔案:
RMAN> restore controlfile to 'g:\control01.ctl' from autobackup;
啟動 restore 於 04-6月 -08
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
恢復區域目標: G:\oracle\product\10.2.0/flash_recovery_area
用於搜尋的資料庫名 (或資料庫的唯一名稱): RISENET
通道 ORA_DISK_1: 在恢復區域中找到自動備份
通道 ORA_DISK_1: 已找到的自動備份: G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\
RISENET\AUTOBACKUP\2008_06_04\O1_MF_N_656496109_44CPVGG6_.BKP
通道 ORA_DISK_1: 從自動備份復原控制檔案已完成
完成 restore 於 04-6月 -08
然後把改檔案複製三份到$oracle_HOME\oradata\sid\下,分別為
control01.ctl,control02.ctl,control03.ctl
把資料庫到mount狀態下
RMAN> sql 'alter database mount';
sql 語句: alter database mount
釋放的通道: ORA_DISK_1
然後還原所有的資料
RMAN> restore database;
啟動 restore 於 04-6月 -08
啟動 implicit crosscheck backup 於 04-6月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉檢驗的 12 物件
完成 implicit crosscheck backup 於 04-6月 -08
啟動 implicit crosscheck copy 於 04-6月 -08
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 於 04-6月 -08
搜尋恢復區域中的所有檔案
正在編制檔案目錄...
目錄編制完畢
已列入目錄的檔案的列表
=======================
檔名: G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\AUTOBACKUP\2008_06_
04\O1_MF_N_656496109_44CPVGG6_.BKP
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DBF
正將資料檔案00002恢復到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\UNDOTBS01.DBF
正將資料檔案00003恢復到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSAUX01.DBF
正將資料檔案00004恢復到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\USERS01.DBF
正將資料檔案00005恢復到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF
正將資料檔案00006恢復到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\MZL.DBF
通道 ORA_DISK_1: 正在讀取備份段 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RIS
ENET\BACKUPSET\2008_06_04\O1_MF_NNNDF_FULL20080604_44CPRQHO_.BKP
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\BACKUPSET\2008_06_
04\O1_MF_NNNDF_FULL20080604_44CPRQHO_.BKP 標記 = FULL20080604
通道 ORA_DISK_1: 恢復完成, 用時: 00:01:05
完成 restore 於 04-6月 -08
資料檔案已經還原,進行恢復
RMAN> recover database;
啟動 recover 於 04-6月 -08
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌執行緒 1 序列 6 已作為檔案 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
SENET\ARCHIVELOG\2008_06_04\O1_MF_1_6_44CPV4P0_.ARC 存在於磁碟上
存檔日誌檔名 =G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\
2008_06_04\O1_MF_1_6_44CPV4P0_.ARC 執行緒 =1 序列 =6
無法找到存檔日誌
存檔日誌執行緒 =1 序列=7
上面只恢復到歸檔日誌6,日誌7是聯機重做日誌,已經丟失。所以聯機重做日誌檔案檔案沒有了,丟失了聯
機重做日誌的資料。
SQL> archive log list;
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 USE_DB_RECOVERY_FILE_DEST
最早的聯機日誌序列 5
下一個存檔日誌序列 7
當前日誌序列 7
到目前為止,恢復了controlfile,datafile,還差redo檔案
RMAN> sql 'alter database open resetlogs';
sql 語句: alter database open resetlogs
用“alter database open resetlogs”語句則重新生成redofile,日誌序列重新復位。
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------------------
risenet OPEN
SQL> archive log list;
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 USE_DB_RECOVERY_FILE_DEST
最早的聯機日誌序列 0
下一個存檔日誌序列 1
當前日誌序列 1
用"alter database open resetlogs"最好重新進行備份.
這樣簡單恢復了一次不完全恢復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-331113/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 循序漸進oracle第7章:備份與恢復之RMAN完整備份指令碼Oracle指令碼
- 循序漸進oracle第7章:備份與恢復之RMAN映象拷貝完全恢復Oracle
- 循序漸進oracle第7章:備份與恢復之RMAN映象拷貝不完全恢復Oracle
- 循序漸進oracle第7章:備份與恢復之Nocatalog方式的備份方案制定Oracle
- RMAN備份與恢復之加密備份加密
- 循序漸進oracle第7章:備份與恢復之利用控制檔案快照恢復控制檔案Oracle
- Oracle資料庫備份與恢復之RMANOracle資料庫
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- Oracle 備份 與 恢復 概述Oracle
- Oracle RAC備份與恢復Oracle
- Oracle備份與恢復 (zt)Oracle
- Oracle備份與恢復案例Oracle
- Oracle備份與恢復(轉)Oracle
- MongoDB之備份與恢復MongoDB
- 備份與恢復--利用備份的控制檔案恢復
- ORACLE之常用FAQ:備份與恢復Oracle
- ORACLE 備份與恢復之 思路整理Oracle
- 備份與恢復:polardb資料庫備份與恢復資料庫
- 備份與恢復系列 十一 控制檔案的備份與恢復
- Oracle OCR的備份與恢復Oracle
- oracle rman備份恢復的例子Oracle
- 備份&恢復之四:非歸檔模式下的備份與恢復模式
- RMAN 備份與恢復深入解析(二)
- RMAN 備份與恢復深入解析(一)
- 【轉】 RMAN備份與恢復實踐
- 【圖書】《循序漸進Oracle:資料庫管理、優化與備份恢復》評介Oracle資料庫優化
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- MySQL備份與恢復簡介MySql
- Oracle資料庫備份與恢復之RMAN2Oracle資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- Postgresql 備份與恢復SQL
- MySQL備份與恢復MySql
- MySQL 備份與恢復MySql
- 備份與恢復oracle_homeOracle
- Oracle 備份與恢復(一):概念Oracle
- oracle備份與恢復雜記Oracle
- Oracle備份與恢復入門Oracle