1、首先查詢使用者的預設臨時表空間
sqlplus "/ as sysdba"
select username,temporary_tablespace from dba_users;
select name from v$tempfile;
2、重建新的臨時表空間並進行切換:
create temporary tablespace temp tempfile 'd:oracleoradatawebora9temp01.dbf' size 100m extent management local uniform size 1m
alter database default temporary tablespace temp;
3、刪除其他臨時表空間和資料檔案:
drop tablespace temp1 including contents and datafiles;
4、查詢表空間的使用情況:
select tablespace_name, sum(bytes) / 1024 / 1024
from dba_segments
group by tablespace_name
order by tablespace_name;
select a.a1 表空間名稱,c.c2 型別,c.c3 區管理,b.b2 / 1024 / 1024 表空間大小m,(b.b2 - a.a2) / 1024 / 1024 已使用m,substr((b.b2 - a.a2) / b.b2 * 100, 1, 5) 利用率
from (select tablespace_name a1, sum(nvl(bytes, 0)) a2 from dba_free_space group by tablespace_name) a,
(select tablespace_name b1, sum(bytes) b2 from dba_data_files group by tablespace_name) b,
(select tablespace_name c1, contents c2, extent_management c3 from dba_tablespaces) c
where a.a1 = b.b1 and c.c1 = b.b1
order by a.a1;
select b.file_name 資料檔名,b.tablespace_name 表空間,b.bytes/1024/1024 大小m,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用m,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name;
select a.tablespace_name 表空間名稱,b.bytes 大小bytes,b.file_name 資料檔名
from dba_tablespaces a, dba_data_files b
where a.tablespace_name=b.tablespace_name and a.contents='temporary';
select * from v$tempfile;
select * from v$temp_space_header;
select se.username,
se.sid,
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
Oracle臨時表空間
oracle臨時表空間主要是用來做查詢和存放一些快取的資料的,磁碟消耗的乙個主要原因是需要對查詢的結果進行排序,如果沒有猜錯的話,在磁碟空間的 記憶體 的分配上,oracle使用的是貪心演算法,如果上次磁碟空間消耗達到1gb,那麼臨時表空間就是1gb,如果還有增長,那麼依此類推,臨時表空間始終保持在...
Oracle 臨時表空間
我多表查詢大概五十萬條資料的檢視引發了乙個錯誤,報空間記憶體不足,開始思考分析還有哪些情況下是會使用到temp臨時表空間,在海量資料的情況下表空間不足是常見的問題 ora 01114 將塊寫入檔案 201 時出現 io 錯誤 塊 3136640 ora 27072 檔案 i o 錯誤 additio...
oracle臨時表空間
oracle臨時表空間主要是用來做查詢和存放一些快取的資料的,磁碟消耗的乙個主要原因是需要對查詢的結果進行排序,如果沒有猜錯的話,在磁碟空間的 記憶體 的分配上,oracle使用的是貪心演算法,如果上次磁碟空間消耗達到1gb,那麼臨時表空間就是1gb,如果還有增長,那麼依此類推,臨時表空間始終保持在...