您好,登錄后才能下訂單哦!
這篇“oracle丟失temp表空間如何處理”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“oracle丟失temp表空間如何處理”文章吧。
之前有做臨時表空間的切換,切換后沒drop tablespace就刪除了temp01.dbf結果排序跟查dba_temp_files報錯
SQL> select tablespace_name,file_id,file_name,bytes/1024/1024 Mbytes from dba_temp_files; select tablespace_name,file_id,file_name,bytes/1024/1024 Mbytes from dba_temp_files * ERROR at line 1: ORA-01116: error in opening database file 201 ORA-01110: data file 201: '/home/oracle/oradata/osa/temp01.dbf' ORA-27041: unable to open file Linux-x86_64 Error: 2: No such file or directory Additional information: 3
兩種方法可以恢復
1、重啟數據庫
重啟后系統會自動重建,數據庫會提示re-creating在bdump的alter_sid.log中
Re-creating tempfile /home/oracle/oradata/osa/temp01.db
2、重建
alter tablespace temp add tempfile '/oracle/oradata/osa/temp03.dbf' size 50m;
alter tablespace temp drop tempfile '/oracle/oradata/osa/temp01.dbf' ;
答案是系統會自動重建;
實驗如下:
我們先查看Temp表空間對應的數據文件
SQL> select FILE_NAME,TABLESPACE_NAME,STATUS from dba_temp_files; FILE_NAME TABLESPACE_NAME STATUS ---------------------------------------- ------------------------------------------------------------------------------------------ --------------------- /u01/oracle/oradata/orcl/temp01.dbf TEMP ONLINE
然后登陸到sys用戶下,shutdown immediate
在文件系統層面去刪除該數據文件
cd /u01/oracle/oradata/orcl/ ls rm -f temp01.dbf
啟動過程中,可觀察到Alert日志中出現如下語句
Re-creating tempfile /u01/oracle/oradata/orcl/temp01.dbf
然后Oracle正常啟動,查看文件系統,又多了temp01.dbf
實驗結束。
還有一種情況,考慮到生產環境,數據庫需要7*24小時的運轉,假如說運行過程中temp數據文件出問題,而該問題又沒有導致數據庫異常關閉的情況下,該如何修復? 值得注意的是,temp表有排序的功能。
由于實驗過程不好模擬,我們需要執行的操作就是丟一個temp02.dbf的數據文件給臨時表空間,然后去掉temp01.dbf的數據文件就可以了。
以上就是關于“oracle丟失temp表空間如何處理”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。