最近遇到這樣乙個問題:前一段時間網頁查詢oracle表正常,可最近一直頁面無法顯示。列印出sql放到pl/sql devoloper 執行,報「無法通過8(在表空間***中)擴充套件 temp 段」,還有乙個頁面,可以查詢出記錄,但無法統計資料!
經過分析產生原因可能是:oracle臨時段表空間不足,因為oracle總是盡量分配連續空間,一但沒有足夠的可分配空間或者分配不連續就會出現上述的現象。
解決方法:知道由於oracle將表空間作為邏輯結構-單元,而表空間的物理結構是資料檔案,資料檔案在磁碟上物理地建立,表空間的所有物件也存在於磁碟上,為了給表空間增加空間,就必須增加資料檔案。先檢視一下指定表空間的可用空間,使用檢視sys.dba_free_space,檢視中每條記錄代表可用空間的碎片大小:
sql>select file_id,block_id,blocks,bytes from sys.dba_free_space where tablespace_name=『***』;
返回的資訊可初步確定可用空間的最大塊,看一下它是否小於錯誤資訊中提到的尺寸,再檢視一下預設的表空間引數:
sql>select initial_extent,next_extent,min_extents,pct_increase from sys.dba_tablespaces where tablespace_name='***';
通過下面的sql命令修改臨時段表空間的預設儲存值:
sql>alter tablespace name default storage (initial 64k next 64k);
適當增大預設值的大小有可能解決出現的錯誤問題,也可以通過修改使用者的臨時表空間大小來解決這個問題:
sql>alter user username temporary tablespace new_tablespace_name;
temp表空間不足 oracle之臨時表空間組
在乙個臨時表空間 組中,使用者可以定義很多臨時表 空間。乙個臨時表空間組包含至少乙個臨時表空間,但是沒有包含最大個臨時表空間個數。注意,臨時表空間組的名子和臨時表空間的名字必須不相同,不然會出現錯誤。任何臨時表空間都可以 在乙個臨時 表空間中新增 刪除甚至 移動到其他臨時表空間組中。臨時表空間的好處...
Oracle臨時表空間
oracle臨時表空間主要是用來做查詢和存放一些快取的資料的,磁碟消耗的乙個主要原因是需要對查詢的結果進行排序,如果沒有猜錯的話,在磁碟空間的 記憶體 的分配上,oracle使用的是貪心演算法,如果上次磁碟空間消耗達到1gb,那麼臨時表空間就是1gb,如果還有增長,那麼依此類推,臨時表空間始終保持在...
Oracle 臨時表空間
我多表查詢大概五十萬條資料的檢視引發了乙個錯誤,報空間記憶體不足,開始思考分析還有哪些情況下是會使用到temp臨時表空間,在海量資料的情況下表空間不足是常見的問題 ora 01114 將塊寫入檔案 201 時出現 io 錯誤 塊 3136640 ora 27072 檔案 i o 錯誤 additio...