溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

oracle丟失temp表空間如何處理

發(fā)布時(shí)間:2023-05-05 14:22:25 來(lái)源:億速云 閱讀:113 作者:iii 欄目:開發(fā)技術(shù)

這篇“oracle丟失temp表空間如何處理”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“oracle丟失temp表空間如何處理”文章吧。

之前有做臨時(shí)表空間的切換,切換后沒drop tablespace就刪除了temp01.dbf結(jié)果排序跟查dba_temp_files報(bào)錯(cuò)

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

兩種方法可以恢復(fù)

1、重啟數(shù)據(jù)庫(kù)

重啟后系統(tǒng)會(huì)自動(dòng)重建,數(shù)據(jù)庫(kù)會(huì)提示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' ;

Oracle 11g的Temp表空間怎么恢復(fù)?

答案是系統(tǒng)會(huì)自動(dòng)重建;

實(shí)驗(yàn)如下:

我們先查看Temp表空間對(duì)應(yīng)的數(shù)據(jù)文件

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

在文件系統(tǒng)層面去刪除該數(shù)據(jù)文件

cd /u01/oracle/oradata/orcl/
ls
rm -f temp01.dbf

啟動(dòng)過(guò)程中,可觀察到Alert日志中出現(xiàn)如下語(yǔ)句

Re-creating tempfile /u01/oracle/oradata/orcl/temp01.dbf

然后Oracle正常啟動(dòng),查看文件系統(tǒng),又多了temp01.dbf
實(shí)驗(yàn)結(jié)束。

還有一種情況,考慮到生產(chǎn)環(huán)境,數(shù)據(jù)庫(kù)需要7*24小時(shí)的運(yùn)轉(zhuǎn),假如說(shuō)運(yùn)行過(guò)程中temp數(shù)據(jù)文件出問題,而該問題又沒有導(dǎo)致數(shù)據(jù)庫(kù)異常關(guān)閉的情況下,該如何修復(fù)? 值得注意的是,temp表有排序的功能。

由于實(shí)驗(yàn)過(guò)程不好模擬,我們需要執(zhí)行的操作就是丟一個(gè)temp02.dbf的數(shù)據(jù)文件給臨時(shí)表空間,然后去掉temp01.dbf的數(shù)據(jù)文件就可以了。

以上就是關(guān)于“oracle丟失temp表空間如何處理”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI