重建oracle臨時表空間

2021-04-29 18:58:38 字數 2187 閱讀 7194

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,如果還有增長,那麼依此類推,臨時表空間始終保持在...