RMAN學習-資料檔案損壞
在SCOTT模式下建立一個表:
create table test01 as select rownum rn from dual connect by rownum <= 1000;
update test01 set rn = rn*2;
然後在RMAN中使用backup database plus archivelog做一個備份之後關閉資料庫。
預設情況下test01表位於表空間USERS01。將資料檔案移動到其他位置。
啟動資料庫時,發生錯誤:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 2488635392 bytes
Fixed Size 2798928 bytes
Variable Size 721423024 bytes
Database Buffers 1744830464 bytes
Redo Buffers 19582976 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 6 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 6: 'C:\ORACLE\ORADATA\ORCL\USERS01.DBF'
進入RMAN, 使用list backup檢視現有的備份
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
2 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
3 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
5 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
6 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
可以看到, 缺失的資料檔案編號是6。
RMAN中輸入命令:
RMAN> restore datafile 6;
啟動 restore 於 13-1月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=62 裝置型別=DISK
通道 ORA_DISK_1: 正在開始還原資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
通道 ORA_DISK_1: 將資料檔案 00006 還原到 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份片段 C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\20
15_01_13\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP
通道 ORA_DISK_1: 段控制程式碼 = C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\2015_01_13
\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP 標記 = TAG20150113T202605
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:01
完成 restore 於 13-1月 -15
RMAN> recover datafile 6;
啟動 recover 於 13-1月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:00
完成 recover 於 13-1月 -15
RMAN> alter database open;
至此, 資料檔案恢復完成。
我們也可以指定恢復的資料檔案為其他名字,使用如下RMAN指令碼
set newname for datafile 6 to 'c:\users01.dbf'; --將資料檔案恢復至其他物理位置
run{
startup mount
set newname for datafile 6 to 'c:\users01.dbf';
restore datafile 6;
switch datafile 6;
recover datafile 6;
alter database open;
}
RMAN> run{
2> startup mount
3> set newname for datafile 6 to 'F:\users01.dbf';
4> restore datafile 6;
5> switch datafile 6;
6> recover datafile 6;
7> alter database open;
8> }
Oracle 例項已啟動
資料庫已裝載
系統全域性區域總計 2488635392 位元組
Fixed Size 2798928 位元組
Variable Size 721423024 位元組
Database Buffers 1744830464 位元組
Redo Buffers 19582976 位元組
正在執行命令: SET NEWNAME
啟動 restore 於 13-1月 -15
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=3 裝置型別=DISK
通道 ORA_DISK_1: 正在開始還原資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
通道 ORA_DISK_1: 將資料檔案 00006 還原到 F:\users01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\20
15_01_13\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP
通道 ORA_DISK_1: 段控制程式碼 = C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\2015_01_13
\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP 標記 = TAG20150113T202605
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:01
完成 restore 於 13-1月 -15
資料檔案 6 已轉換成資料檔案副本
輸入資料檔案副本 RECID=2 STAMP=868913855 檔名=F:\USERS01.DBF
啟動 recover 於 13-1月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:00
完成 recover 於 13-1月 -15
已處理語句
create table test01 as select rownum rn from dual connect by rownum <= 1000;
update test01 set rn = rn*2;
然後在RMAN中使用backup database plus archivelog做一個備份之後關閉資料庫。
預設情況下test01表位於表空間USERS01。將資料檔案移動到其他位置。
啟動資料庫時,發生錯誤:
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 2488635392 bytes
Fixed Size 2798928 bytes
Variable Size 721423024 bytes
Database Buffers 1744830464 bytes
Redo Buffers 19582976 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 6 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 6: 'C:\ORACLE\ORADATA\ORCL\USERS01.DBF'
進入RMAN, 使用list backup檢視現有的備份
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
2 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF
3 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
5 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
6 Full 191358074 13-1月 -15 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
可以看到, 缺失的資料檔案編號是6。
RMAN中輸入命令:
RMAN> restore datafile 6;
啟動 restore 於 13-1月 -15
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=62 裝置型別=DISK
通道 ORA_DISK_1: 正在開始還原資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
通道 ORA_DISK_1: 將資料檔案 00006 還原到 C:\ORACLE\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份片段 C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\20
15_01_13\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP
通道 ORA_DISK_1: 段控制程式碼 = C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\2015_01_13
\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP 標記 = TAG20150113T202605
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:01
完成 restore 於 13-1月 -15
RMAN> recover datafile 6;
啟動 recover 於 13-1月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:00
完成 recover 於 13-1月 -15
RMAN> alter database open;
至此, 資料檔案恢復完成。
我們也可以指定恢復的資料檔案為其他名字,使用如下RMAN指令碼
set newname for datafile 6 to 'c:\users01.dbf'; --將資料檔案恢復至其他物理位置
run{
startup mount
set newname for datafile 6 to 'c:\users01.dbf';
restore datafile 6;
switch datafile 6;
recover datafile 6;
alter database open;
}
RMAN> run{
2> startup mount
3> set newname for datafile 6 to 'F:\users01.dbf';
4> restore datafile 6;
5> switch datafile 6;
6> recover datafile 6;
7> alter database open;
8> }
Oracle 例項已啟動
資料庫已裝載
系統全域性區域總計 2488635392 位元組
Fixed Size 2798928 位元組
Variable Size 721423024 位元組
Database Buffers 1744830464 位元組
Redo Buffers 19582976 位元組
正在執行命令: SET NEWNAME
啟動 restore 於 13-1月 -15
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=3 裝置型別=DISK
通道 ORA_DISK_1: 正在開始還原資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
通道 ORA_DISK_1: 將資料檔案 00006 還原到 F:\users01.dbf
通道 ORA_DISK_1: 正在讀取備份片段 C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\20
15_01_13\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP
通道 ORA_DISK_1: 段控制程式碼 = C:\ORACLE\FAST_RECOVERY_AREA\ORCL\BACKUPSET\2015_01_13
\O1_MF_NNNDF_TAG20150113T202605_BCB3PXYS_.BKP 標記 = TAG20150113T202605
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:01
完成 restore 於 13-1月 -15
資料檔案 6 已轉換成資料檔案副本
輸入資料檔案副本 RECID=2 STAMP=868913855 檔名=F:\USERS01.DBF
啟動 recover 於 13-1月 -15
使用通道 ORA_DISK_1
正在開始介質的恢復
介質恢復完成, 用時: 00:00:00
完成 recover 於 13-1月 -15
已處理語句
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-1400773/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman 恢復---歸檔丟失and資料檔案損壞
- 陣列櫃故障造成控制檔案損壞,資料檔案損壞陣列
- 非系統資料檔案損壞,rman備份恢復
- 資料檔案損壞、丟失
- RMAN_部分資料檔案丟失或者損壞的恢復
- 資料檔案或者tablespace損壞基於rman恢復測試
- system資料檔案頭損壞修復
- 資料檔案丟失損壞的恢復--
- undo 檔案損壞
- 磁碟損壞造成RMAN備份檔案有壞塊的恢復案例
- Oracle 11g RMAN恢復-場景1:所有的資料檔案損壞,資料庫CLOSEOracle資料庫
- RMAN_資料庫的絕大部分資料檔案丟失或者損壞的恢復資料庫
- 磁碟損壞,system及部分資料檔案丟失
- 某個資料檔案損壞完全恢復(三)
- InterBase資料庫檔案損壞的修復方法資料庫
- 使用RMAN恢復完全損壞的資料庫資料庫
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- 利用RMAN修復資料檔案中的壞塊
- 學習這篇Oracle資料庫檔案壞塊損壞的恢復方法,擴充你的知識面Oracle資料庫
- rman執行與控制檔案損壞_loss_小測試
- Oracle資料檔案損壞恢復例項二則Oracle
- REDO日誌損壞,非歸檔模式資料檔案恢復模式
- Oracle 11g RMAN恢復-場景2:所有的資料檔案損壞,OPEN狀態Oracle
- [ORACLE] 系統故障資料庫恢復--資料檔案無損壞Oracle資料庫
- 一個控制檔案損壞
- u盤檔案損壞怎麼恢復資料 u盤損壞無法讀取怎麼恢復資料
- 臨時表空間資料檔案損壞的解決
- 磁碟損壞導致資料檔案丟失的恢復
- 備份與恢復--資料檔案損壞或丟失
- Oracle單個資料檔案損壞,在Rman命令裡設定表空間、資料檔案offline方式來恢復最方便Oracle
- RMAN備份恢復典型案例——資料檔案存在壞快
- 使用dbv和RMAN檢查資料檔案中的壞塊
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- 備份與恢復--重建控制檔案後資料檔案損壞的恢復
- undo檔案丟失或損壞
- PostgreSQL DBA(30) - Backup&Recovery#3(資料檔案損壞恢復)SQL
- MongoDB 資料檔案損壞修復救命repair與致命危險MongoDBAI
- 回滾段表空間資料檔案損壞解決方法