2017-02-09 57 views
0

給我這個錯誤的查詢現在運行了6個月,並且工作正常。今天由於某種原因給了我這個錯誤:無法在表空間中將temp段擴展16 PSTEMP

Error in running query because of SQL Error, Code=1652, Message=ORA-01652: unable to extend temp segment by 16 in tablespace PSTEMP (50,380).

我不想擴展「PSTEMP」文件。查詢不應該是問題,因爲我提到它到現在爲止工作得很好。

我不知道這是否會幫助,但查詢有提示值,如果我輸入了錯誤的值,它工作正常,但是當我從上週輸入值時,我知道它應該返回16行,以上錯誤。

+1

歡迎來到SO。請閱讀[問],並顯示[mcve]。 – OldProgrammer

+0

用完(temp)空間並不一定意味着您的查詢有問題。但是我幾乎可以保證,與6個月前相比,數據庫的狀態是不同的;更多的數據(可能),不同的用戶數量,不同的使用模式等。很有可能再次重新運行查詢將會起作用。或不。 – BobC

回答

0

您可以

SELECT * FROM dba_temp_free_space; 

檢查您的臨時空間,但它不一定是儘管錯誤消息溫度。

select a.tablespace_name,sum(a.tots/1048576) Tot_Size, 
    sum(a.sumb/1048576) Tot_Free, 
    round(sum(a.sumb)*100/sum(a.tots),2) Pct_Free, 
    sum(a.largest/1024) Max_Free,sum(a.chunks) Chunks_Free 
    from 
    (
    select tablespace_name,0 tots,sum(bytes) sumb, 
    max(bytes) largest,count(*) chunks 
    from dba_free_space a 
    group by tablespace_name 
    union 
    select tablespace_name,sum(bytes) tots,0,0,0 from 
     dba_data_files 
    group by tablespace_name) a 
    group by a.tablespace_name 
order by pct_free; 
0

最有可能的,你的SQL變得作爲底層數據變得過於沉重:

與檢查表空間的自由空間。您可以嘗試優化SQL,或者如果這不是一個選項,請DBA增加撤消表空間(PSTEMP)。