最近由於單位數據庫硬盤空間不足,整理的時候查了許多文章,也進行了測試,整理後得出一些經驗供大家參考。
首先,在網上看到一篇文章,如何Shrink Undo表空間,釋放過度占用的空間 ,用上面的指令看了一下,發現我們的硬盤上的UNDO空間也占了2G,所以想到先把這個空間清出來,以解燃眉之急,所以立即進行了測試。
測試通過,但有一個問題,上面用的drop tablespace undotbs1 including contents;指令,沒把undotbs1.dbf文件也清除掉,硬盤還是滿滿的。(後來想,是否可以用drop tablespace undotbs1 including contents and datafiles;呢?索性就直接刪除硬盤上的文件。)文章中說到要等原undo表空間所有UNDO SEGMENT OFFLINE,這個我不知道怎樣操作,也看不明白上面指令看到的結果。但用指令查,確定UNDO表空間已經轉到undotbs2了。
為了刪掉UNDO文件,進行了測試。
selecct name from v$datafile; 在列出的數據文件中已經沒有這個undotbs1.dbf文件了。
停掉ORACLE服務,停掉監聽。把undotbs1.dbf文件移到其他空間。打開ORACLE服務,打開監聽。服務正常。證明這個文件是可以刪掉的。