詳解如何刪除Oracle數(shù)據(jù)庫(kù)臨時(shí)表空間
前言
因生產(chǎn)環(huán)境磁盤(pán)空間不足,影響了業(yè)務(wù),短時(shí)間內(nèi)無(wú)法擴(kuò)容磁盤(pán),經(jīng)過(guò)排查發(fā)現(xiàn),可以釋放temp臨時(shí)表空間來(lái)臨時(shí)釋放部分空間。
本文記錄了如何釋放臨時(shí)表空間的詳細(xì)操作步驟。
1、查看舊的臨時(shí)表空間
首先查看舊的臨時(shí)表空間的空間占用情況
SQL>select tablespace_name,tablespace_size/1024/1024, allocated_space/1024/1024,free_space/1024/1024 from dba_temp_free_space; TABLESPACE_NAME TABLESPACE_SIZE/1024/1024 ALLOCATED_SPACE/1024/1024 FREE_SPACE/1024/1024 -------------------- ------------------------- ------------------------- -------------------- TEMP 23069 23069 23067
2、新建temp表空間
創(chuàng)建新的臨時(shí)表空間,用于替換舊的臨時(shí)表空間
SQL>create temporary tablespace temp1 tempfile ‘+DATA' size 100m autoextend on; Tablespace created.
3、修改默認(rèn)臨時(shí)表空間
將新的臨時(shí)表空間設(shè)置為默認(rèn)的臨時(shí)表空間
SQL>alter database default temporary tablespace temp1; Database altered.
4、查看新建的臨時(shí)表空間使用情況
新的臨時(shí)表空間被設(shè)置為默認(rèn)臨時(shí)表空間后,新的臨時(shí)數(shù)據(jù)會(huì)寫(xiě)到新的臨時(shí)表空間中,下面查看新建的臨時(shí)標(biāo)快的空間占用情況
SQL>select tablespace_name,tablespace_size/1024/1024 total, allocated_space/1024/1024 allocated ,free_space/1024/1024 free from dba_temp_free_space; tablespace_name total allocated free -------------------- ------------------------- ------------------------- -------------------- TEMP 23069 23069 23067 TEMP1 100 3 99
5、查看臨時(shí)表空間使用情況
5.1、查看誰(shuí)在使用臨時(shí)表空間
下面的SQL查詢(xún)哪些會(huì)話在占用舊的臨時(shí)表空間
SQL>Col PROGRAM for a20 SQL>Col MACHINE for a20 SQL>col username for a15 SQL>SELECT se.username, sid, serial#, sql_address, machine, program, tablespace, segtype, contents FROM v$session se,v$sort_usage su WHERE se.saddr=su.session_addr order by 7,1;
5.2、然后查看用戶(hù)的狀態(tài)是active還是inactive,如果是inactive,直接kill即可
如果舊的臨時(shí)表空間的會(huì)話是active,需要謹(jǐn)慎,不能直接kill,需要等待會(huì)話消失或者變成inactive狀態(tài)。如果是inactive狀態(tài),可以直接kill會(huì)話。
SQL>select * from v$session where sid=‘1042'; SQL>alter system kill session ‘1042,48682';
5.3、查看臨時(shí)表空間上正在執(zhí)行哪些SQL
上面的SQL查看哪些會(huì)話運(yùn)行在舊的臨時(shí)表空間, 下面的SQL將查詢(xún)active會(huì)話中,正在執(zhí)行的SQL語(yǔ)句。以此來(lái)判斷是否是關(guān)鍵的事物。
SQL>Col tablespace name for a20 SQL>SELECT se.username, se.sid, se.serial#, su.extents, su.blocks \* to\_number(rtrim(p.value)) AS Space, tablespace, segtype, sql\_text FROM v$sort\_usage su,v$parameter p ,v$session se,v$sql s WHERE p.NAME = ‘db\_block\_size' AND su.session\_addr = se.saddr AND s.hash\_value = su.sqlhash AND s.address = su.sqladdr ORDER BY se.username ,se.sid;
6、確定舊的臨時(shí)表空間沒(méi)有在被使用,直接刪除即可
通過(guò)上面的兩個(gè)SQL語(yǔ)句確認(rèn)舊的臨時(shí)表空間上沒(méi)有會(huì)話和事物之后,就可以刪除舊的臨時(shí)表空間了。
SQL>drop tablespace temp including contents and datafiles;
到此這篇關(guān)于詳解如何刪除Oracle數(shù)據(jù)庫(kù)臨時(shí)表空間的文章就介紹到這了,更多相關(guān)刪除Oracle臨時(shí)表空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
優(yōu)化Oracle停機(jī)時(shí)間及數(shù)據(jù)庫(kù)恢復(fù)
優(yōu)化Oracle停機(jī)時(shí)間及數(shù)據(jù)庫(kù)恢復(fù)...2007-03-03Oracle存儲(chǔ)過(guò)程語(yǔ)法代碼示例詳解
本文講解Oracle存儲(chǔ)過(guò)程語(yǔ)法,包括總體結(jié)構(gòu)、存儲(chǔ)過(guò)程聲明、參數(shù)定義、變量聲明、游標(biāo)聲明、行數(shù)據(jù)類(lèi)型聲明、變量賦值、條件判斷、WHILE循環(huán)、FOR循環(huán)、游標(biāo)使用、異常捕捉、異常處理、存儲(chǔ)過(guò)程調(diào)用、存儲(chǔ)過(guò)程代碼示例調(diào)用代碼示例、調(diào)用結(jié)果展示,感興趣的朋友一起看看吧2025-04-04Oracle數(shù)據(jù)庫(kù)下載及安裝圖文操作步驟
本文將介紹Oracle數(shù)據(jù)庫(kù)下載及安裝等一系列步驟,需要了解的朋友可以參考下2012-12-12Oracle單實(shí)例升級(jí)補(bǔ)丁全過(guò)程記錄
這篇文章主要介紹了Oracle單實(shí)例升級(jí)補(bǔ)丁,oracle19.3升級(jí)補(bǔ)丁到19.18,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08Oracle獲取GUID和生成批量插入語(yǔ)句實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于Oracle獲取GUID和生成批量插入語(yǔ)句實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友可以參考下2023-08-08WIN7下ORACLE10g服務(wù)端和客戶(hù)端的安裝圖文教程
WIN7下安裝ORACLE10gd的服務(wù)端和客戶(hù)端的方法,在安裝之前需要先卸載oracle 10g,具體安裝方法和詳細(xì)說(shuō)明大家可以參考下本文2017-07-07Oracle數(shù)據(jù)庫(kù)執(zhí)行腳本常用命令小結(jié)
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)執(zhí)行腳本常用命令小結(jié)的相關(guān)資料,需要的朋友可以參考下2015-12-12