3

私は、SUM のような集計関数を持ち、複数のテーブルとビューを結合する、Oracle 11g でいくつかの複雑な SQL クエリに取り組んでいます。大量のデータをクエリしようとすると、IO エラーとテーブルスペース不足エラーが発生します。

エラー番号 1 は ORA-01114: IO Error writing block to file(block #) ORA-01114: IO Error writing block to file 201(block #1343798) ORA-27063: 読み取り/書き込みバイト数が正しくありません

エラー番号 2 loaddate > 12 か月の場合、データベースの一時領域が不足することがある

これは、DBA が解決しなければならない Oracle 固有のエラーですか、それともクエリに何か問題がありますか? 不十分なテーブルスペース プロンプトを回避するには、クエリのパフォーマンスを微調整するにはどうすればよいですか? クエリがどのように見えるかのダミーサンプルを書いています

SELECT Sum(s.stock + s.accept + s.new)    AS result, 
       Floor(( s.sales / s.stock ) * 100) AS sales_per,, 
       f.load_date,, 
       u.user_id, 
       Sum(s.falsepos + s.realvio)        AS closed_ale, 
       Sum(f.nbrecords)                   AS nb_records 
FROM   stocks s, 
       facts f, 
       zones z, 
       users u 
WHERE  s.sid = f.fid 
       AND z.zoneid = f.zoneid 
       AND u.userid = z.userid 
       AND f.load_date BETWEEN '20081010' AND '20121030' 
4

2 に答える 2

1

このコマンドは皆さんを救うかもしれません。

テーブルスペースの一時縮小スペースを変更すると、40m が保持されます。

おそらく、システムが一時用のスペースを確保しすぎている可能性があります。したがって、このスペースを解放するだけで、適切に動作するために使用可能なリソースを取り戻すことができます。

于 2016-11-02T04:03:40.323 に答える