昨天老項目的客戶來電話說系統有問題了,過去一看是數據庫起不來了,看來一下日志。
Errors in file /opt/ora9/admin/xwoa/udump/xwoa_ora_17933.trc:
ORA-01115: 從文件 16 讀取塊時出現 IO 錯誤 (塊 # 189544)
ORA-27072: skgfdisp: I/O 錯誤
Linux Error: 25: Inappropriate ioctl for device
Additional information: 189543
靠,數據表空間文件被刪除。
好在數據庫采用了歸檔模式。
開始恢復:
1、SQL>shutdown immediate
備份全部數據文件和控制文件和log以防恢復過程中出現問題。
2、SQL> startup mount;
3、SQL> alter database create datafile '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' as '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' reuse;
創建誤刪除的數據文件。
4、recover datafile '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf';
ORA-00279: 更改 57900012 (在 09/19/2007 10:27:05 生成) 對于線程 1 是必需的
ORA-00289: 建議: /opt/ora9/oradata/xwoa/archive/1_863.dbf
ORA-00280: 更改 57900012 對于線程 1 是按序列 # 863 進行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
輸入:AUTO回車
開始恢復過程,這個時間比較長。
5、SQL> select d.file#,d.name,d.status,h.status from v$datafile d,v$datafile_header
h where d.file#=h.file# ;
查看一下數據文件是否online。
如果沒有online,
6、SQL> ALTER DATABASE DATAFILE '/opt/ora9/oradata/xwoa/CHAOYANGJP.dbf' ONLINE;
ok!完成恢復過程。