誤刪Oracle數據庫實例的控制文件
誤刪Oracle數據庫實例的控制文件會給Oracle數據庫的操作帶來很多的麻煩,下文中將為大家帶來了詳細的講解,希望對大家能夠有所幫助。
前兩天我在備份數據時,發現C:\oracle\product\10.2.0\oradata\GXSN\TEMP01.DBF文件大小竟然為23G多,完全消耗掉C盤空間,匆忙間我以為oradata/GXSN整個文件夾下文件為臨時文件,將其完全刪除。
因為Oracle的數據文件都存放在E盤下,不知道oradata/GXSN存放的是控制文件,造成數據庫無法使用。我通過查詢相關資料想重建控制文件,但發現重建控制文件是在ORACLE控制文件已經備份的前提下的,我之前沒有備份過Oracle的控制文件,所以無法恢復。
在整個解決問題的過程中,我曾嘗試了多種思路。雖然失敗,但鍛煉了解決問題的能力,也總結了一些經驗。
0.求助Oracle中國技術支持,竟然周末無人服務,需要等待工作日。(失敗)
1.使用EasyRecovery恢復刪除的控制文件,因為服務器的E盤較大,達到3T,EasyRecovery無法使用。又使用了其他數據恢復軟件,都無法恢復刪除的數據。(失敗)
2.查詢相關資料,嘗試重建控制文件。(失敗)
CREATE CONTROLFILE reuse set DATABASE orcl RESETLOGS noARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1600
LOGFILE
group 1 ('E:\oracle\product\10.2.0\oradata\orcl\redo01.log') size 100k ,
group 2 ('E:\oracle\product\10.2.0\oradata\orcl\redo02.log') size 100k,
group 3 ('E:\oracle\product\10.2.0\oradata\orcl\redo03.log') size 100k,
datafile
'E:\oracle\product\10.2.0\oradata\orcl\users01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\system01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf',
'E:\oracle\product\10.2.0\oradata\orcl\example01.dbf';
3.在別的機器上創建相同的GXSN數據庫,然后將其下面的控制文件導入服務器的數據庫下,但發現失敗。
4.在服務器上新建ORACLE服務實例,生成相應的控制文件,將其下面的控制文件導入的數據庫GXSN下,但發現失敗。
5.將新建的數據庫實例刪除,原來的數據庫在CMD控制臺上使用SQLPLUS無法連接
sqlplus /nolog
conn /as sysdba
出現ORA-12360:TNS:協議適配器錯誤
無語了,竟然無法連接到原數據庫實例上了。
兩三T的數據只能重新錄入,這次自己的失誤,真的是損失慘重!自己以后在心態浮躁時一定要冷靜點,不可急躁。自己在ORACLE的學習上需更深一步,免得再犯如此低級的嚴重錯誤!