2017-02-09 8 views
0

このエラーを表示するクエリは6ヶ月間実行されており、うまくいきました。今日何らかの理由で私にこのエラーがありました:テーブルスペースPSTEMPでtempセグメントを16で拡張できません

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

ようこそ。 [ask]を読んで、[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にUNDO表領域(PSTEMP)を増やすように依頼してください。

関連する問題