首先要查詢表空間,可以乙個個查,也可以一起查詢,找到自己的表空間資料資訊;尤其要找到【表空間具體名稱】查詢語句如下:
select upper(f.tablespace_name) "表空間名",
d.tot_grootte_mb "表空間大小(m)",
d.tot_grootte_mb - f.total_bytes "已使用空間(m)",
to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,2),'990.99') "使用比",
f.total_bytes "空閒空間(m)",
f.max_bytes "最大塊(m)"
from (select tablespace_name,
round(sum(bytes) / (1024 * 1024), 2) total_bytes,
round(max(bytes) / (1024 * 1024), 2) max_bytes
from sys.dba_free_space
group
by tablespace_name) f,
(select dd.tablespace_name,
round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
from sys.dba_data_files dd
group
by dd.tablespace_name) d
where d.tablespace_name = f.tablespace_name
orderby4
desc
;
select * from dba_data_files where tablespace_name like
'users%';
如果確切知道要查詢的表空間名,可以直接等號操作:
select * from dba_data_files where tablespace_name ='你的表空間名稱';
重新規定表空間大小(resize)和擴充套件最大資料塊大小(maxsize);這裡datafile後面是表空間檔案的目錄,要帶檔案型別的;我這裡是dbf,你自己的要根據自己檔名替換;
--增加當前資料檔案的大小41054
alter
database
datafile '表空間目錄\表空間名稱.dbf'
resize 30000m;
--在使用過程中,如果想改變某個資料塊的最大大小,可以
alter
database
datafile '表空間目錄\表空間名稱.dbf'
autoextend on
maxsize 30000m;
resize和maxsize會收到兩個限制:
1.是硬碟的物理記憶體大小,這個大家都知道;
2.是資料塊的大小和資料檔案大小是有關聯的;如果資料塊大小是8k,能建立的最大資料大小是2^22*8k=32g;
如何處理Oracle中TEMP表空間滿的問題
正常來說,在完成select語句 create index等一些使用temp表空間的排序操作後,oracle是會自動釋放掉臨時段a的。但有些有侯我們則會遇到臨時段沒有被釋放,temp表空間幾乎 滿的狀況,甚至是我們重啟了資料庫仍沒有解決問題。這個問題在論壇中也常被問到,下面我總結一下,給出幾種處理方...
如何處理Oracle中TEMP表空間滿的問題?
正常來說,在完成select語句 create index等一些使用temp 表空間的排序操作後,oracle 是會自動釋放掉臨時段a的。但有些有侯我們則會遇到臨時段沒有被釋放,temp 表空間幾乎滿的狀況,甚至是我們重啟了資料庫仍沒有解決問題。這個問題在論壇中也常被問到,下面我總結一下,給出幾種處...
如何處理Oracle中TEMP表空間滿的問題?
正常來說,在完成select語句 create index等一些使用temp表空間的排序操作後,oracle是會自動釋放掉臨時段a的。但有些有侯我們則會遇到臨時段沒有被釋放,temp表空間幾乎滿的狀況,甚至是我們重啟了資料庫仍沒有解決問題。方法一 重啟庫 庫重啟時,smon程序會完成臨時段釋放,te...