前兩天我在備份資料時,發現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的學習上需更深一步,免得再犯如此低級的嚴重錯誤!