普通資料檔案丟失的恢復方法
普通資料檔案是相對重要的資料檔案system和undo來說的。並不是這些資料檔案不重要,而是這些資料檔案丟失可能不會使資料庫例項崩潰。
使用RMAN恢復普通資料檔案比較簡單,通常是先將損壞的資料檔案offline,然後執行restore資料檔案,接下來執行recover資料檔案,最後再將該資料檔案online。
我們來看看下面的試驗:
實驗一,例項關閉狀態下丟失了example01.dbf檔案的恢復方式
1,當前資料庫資料檔案地址
select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/oradata/practice/system01.dbf
/u01/oradata/practice/sysaux01.dbf
/u01/oradata/practice/undotbs01.dbf
/u01/oradata/practice/users01.dbf
/u01/oradata/practice/example01.dbf
2,完全關閉資料庫
shutdown immediate;
3,人為造成資料檔案example01.dbf的丟失。使用mv的方式比rm更加安全些,建議使用。
[oracle@single ~]$ mv /u01/oradata/practice/example01.dbf /u01/oradata/practice/example01.dbf.bak
4,嘗試啟動例項,提示無法找到5號資料檔案
startup;
ORACLE instance started.
Total System Global Area 580395008 bytes
Fixed Size 2255392 bytes
Variable Size 406848992 bytes
Database Buffers 167772160 bytes
Redo Buffers 3518464 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/u01/oradata/practice/example01.dbf’
5,例項啟動失敗,但是當前處於mount狀態。使用rman執行下列恢復步驟
RMAN> run{
2> sql 'alter database datafile 5 offline';
3> restore datafile 5;
4> recover datafile 5;
5> sql 'alter database datafile 5 online';
6> alter database open;
7> }
6,再一次登入sqlplus驗證恢復是否成功
SYS@practice >col name for a40
SYS@practice >select name,status from v$datafile;
NAME STATUS
---------------------------------------- -------
/u01/oradata/practice/system01.dbf SYSTEM
/u01/oradata/practice/sysaux01.dbf ONLINE
/u01/oradata/practice/undotbs01.dbf ONLINE
/u01/oradata/practice/users01.dbf ONLINE
/u01/oradata/practice/example01.dbf ONLINE
實驗二,例項執行狀態下丟失了example01.dbf檔案的恢復方式
1,承接剛才的試驗,現在例項處於執行狀態,手工刪除example01.dbf
$ mv /u01/oradata/practice/example01.dbf /u01/oradata/practice/example01.dbf.bak2
2,查詢屬於example01.dbf資料檔案中的資料,會提示找不到該資料檔案
SYS@practice >select * from hr.employees;
select * from hr.employees
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/u01/oradata/practice/example01.dbf'
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
3,線上使用RMAN恢復資料檔案
RMAN> run{
2> sql 'alter database datafile 5 offline';
3> restore datafile 5;
4> recover datafile 5;
5> sql 'alter database datafile 5 online';
6> }
4,檢測恢復效果
SYS@practice >select count(*) from hr.employees;
COUNT(*)
----------
107
5,如果剛才丟失資料檔案後觸發了檢查點alter system checkpoint就不會這麼幸運了,例項會被abort。我們接著剛才的例子再次刪除資料檔案example01.dbf
mv /u01/oradata/practice/example01.dbf /u01/oradata/practice/example01.dbf.bak2
6,手工發起檢查點事件,end of file on communication channel,直接失聯。系統遭到了一次致命的恐怖襲擊。
SYS@practice >alter system checkpoint;
alter system checkpoint
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
Process ID: 25239
Session ID: 38 Serial number: 3
SYS@practice >select open_mode from v$database;
ERROR:
ORA-03114: not connected to ORACLE
SYS@practice >!ps -ef | grep ora_
oracle 25692 25236 0 12:43 pts/3 00:00:00 /bin/bash -c ps -ef | grep ora_
oracle 25694 25692 0 12:43 pts/3 00:00:00 grep ora_
7,恢復方法很容易,和第一次執行的恢復方法基本相同。需要注意的是先啟動例項到numount狀態,將丟失的資料檔案offline後迅速將例項啟動,保證其它資料可以訪問,然後在還原、恢復丟失的資料檔案,最後將該資料檔案online。與第一次操作的區別是,縮短了資料庫open的時間。
RMAN> run{
2> startup mount;
3> sql 'alter database datafile 5 offline';
4> alter database open;
5> restore datafile 5;
6> recover datafile 5;
7> sql 'alter database datafile 5 online';
8> }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29047826/viewspace-1290849/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 歸檔模式下丟失普通資料檔案並恢復模式
- 資料檔案丟失的恢復
- Sql Server資料庫檔案丟失的恢復方法SQLServer資料庫
- 資料檔案丟失如何恢復
- RMAN恢復案例:丟失全部資料檔案恢復
- 僅僅丟失一個普通使用者資料檔案的恢復A(聯機恢復)
- RMAN完全恢復丟失的資料檔案
- 資料檔案丟失損壞的恢復--
- 電腦檔案丟失資料恢復資料恢復
- Oracle備份與恢復【丟失資料檔案的恢復】Oracle
- 歸檔模式下資料檔案丟失的恢復模式
- 恢復案例:歸檔模式下丟失全部資料檔案的恢復模式
- 備份恢復之資料檔案丟失
- RMAN恢復案例:丟失非系統資料檔案恢復
- 恢復丟失的控制檔案
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- rman 恢復---歸檔丟失and資料檔案損壞
- 引數檔案控制檔案和資料檔案丟失的恢復
- 資料檔案丟失的恢復(改變目錄)
- 撤消表空間資料檔案丟失的恢復.
- chkdsk 後資料丟失的恢復方法
- 完全恢復之所有資料庫檔案丟失資料庫
- 資料庫各種檔案丟失恢復大全。資料庫
- Oracle不同檔案丟失/損壞的恢復方法Oracle
- 【恢復】Redo日誌檔案丟失的恢復
- 隨身碟檔案丟失怎麼辦 隨身碟資料丟失快速恢復方法
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- 控制檔案全部丟失的恢復
- 控制檔案部分丟失的恢復
- Oracle Password檔案丟失的恢復Oracle
- 控制檔案丟失的RMAN恢復
- 【資料庫資料恢復】Sql Server資料庫檔案丟失的資料恢復過程資料庫資料恢復SQLServer
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- 【北亞資料恢復】MongoDB資料遷移檔案丟失的MongoDB資料恢復案例資料恢復MongoDB
- DATA GUARD主庫丟失資料檔案的恢復(2)