
納品したWebシステムの性能試験で、SELECT実行時に一時表領域の容量不足というSQLエラーが発生しました。
7.1GBにリサイズしても状況は変わらなかったそうです。
一時表領域は自動拡張なしです。
ユーザからSQLの修正を求められたので、修正して自社環境ではありますが、Webシステムの各機能ごとに一時表領域の拡張を監視して、最終的な最大値を調査しました。
そこで、400MBという結果が出たのですが、Webシステムを複数ユーザで並列に使用することを考慮すると、これが妥当なのかどうかが分かりません。
一時表領域容量の見積は可能なのでしょうか?
見積もれない場合は、ユーザに何と回答したら良いでしょうか?
No.2ベストアンサー
- 回答日時:
#1 です
一時表領域を使用する全てのアクセスパスはわかりません
おそらく大量に存在するでしょう。
その仕組み上からインラインビューや分析関数、マージジョインなどが大量消費する代表です。
EXPLAIN PLAN を使って調べればわかります。
No.1
- 回答日時:
最大400MBというのは1セッションによる調査結果ということですね。
性能評価と同じデータで評価している前提で、かつ、
400MBの一時領域を使用するSQLが同時に呼び出されるのであれば
400MB×平均同時セッション数×データの増加係数
は必要でした・・とユーザに謝ります。
(同時セッション数=並列に使用するユーザ数)
いつまで拡張なしに稼動できるかはユーザと相談してください。
事前に平均レコード長、総レコード数、増加レコード数
などの容量見積もり作業はしていましたか?
大容量になる場合、いきなり xxx GB必要です。
と数値だけ言われても相手は納得してくれないでしょう。
あと
もし一時表領域の縮小の問題が解決できているのなら
親切にフォローもついていますので放置しておくのはどうかと思います
回答ありがとうございます。
やはりセッション数に比例するんですね。
予想通りでした。
ユーザが想定する最大同時セッション数は1000だそうで、それだと400GBも必要になります。
ただ、400MBという結果報告に対して、「もう少しSQLを修正して」とか「ではxxxGBにしておきます」のような回答はまだ来ていません。
SQLはもう修正の余地があまり残されていません。
サブクエリを削除してSQLを単純化し、その代わりにSQLの発行回数を増やして、画面で必要なデータを形成するといった方法しかありませんが、それだとシステム全体のパフォーマンスを考慮しなくてはならなくなって、話が大きくなります。
ちなみに、一時表領域が使用される仕組みはご存知でしょうか?
私の場合、メモリソートができないときに使用するとか、サブクエリの結果を展開しておくために使用するくらいしか知りません。
使用量はサブクエリの結果のレコード件数に比例しますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(動画サービス) 動画のストリーミングについての質問です。 1 2023/03/22 02:48
- 物理学 示すように,真空中の直交座標系を考える。y平面に平行な つ領域Iと領域Iがあり,軸上の領域Iと領域I 1 2023/06/25 14:46
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- CPU・メモリ・マザーボード ストリーミングの一時処理用の領域について 1 2023/04/11 21:55
- 戦争・テロ・デモ 日本防衛省の防衛力強化と日本正規軍隊の転換に対する質問です。 2 2022/12/20 21:34
- C言語・C++・C# あまりわかりません。 複素数$c$を具体的に定めた複素写像写像$f_c(z)$に対して、原点を含む領 4 2022/10/25 09:17
- ノートパソコン パソコンを、アップグレードした後に出来た、Cドライブの後に出来た、このドライブは? 3 2023/04/03 17:10
- 日本語 「に」について 9 2022/10/25 16:32
- ドライブ・ストレージ HDDの未割り当て領域が認識されない 7 2022/11/27 18:51
- Windows 10 【PC】デュアルディスプレイ利用時に2画面分で最大化できる? 3 2023/03/22 01:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
4GB = 4096MB ではない?
-
xy平面上の点P(x,y)に対し,点Q(...
-
表領域の作成について
-
クローンソフトで、Acronis Tru...
-
なぜ再起動すると空き領域が増...
-
表領域に追加したファイルの削除
-
AccessでORA-01114
-
新規表領域の作成について
-
DB容量の確認方法
-
DBCDで作られた USERS(表領...
-
エンタープライズマネージャ『...
-
UNDO表領域
-
UNDO表領域(AUTOEXTENDのデフ...
-
HDの不良クラスタをパーティシ...
-
データファイルの拡張
-
HDDの代替領域とは?
-
ORA-01013のエラーについて経験...
-
はじめまして!
-
Oracleで流したSQLのログを取得...
-
CASE文のエラーについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
xy平面上の点P(x,y)に対し,点Q(...
-
クローンソフトで、Acronis Tru...
-
4GB = 4096MB ではない?
-
新規表領域の作成について
-
sysauxの読み方について
-
表領域の作成について
-
Oracle バッファ領域に...
-
どうしてpn接合ではp領域とn領...
-
フォルダウィンドウのデータフ...
-
データファイルの拡張
-
エクセルVBAでRangeの引数制限?
-
表領域 TEMPの使用率。
-
DB容量の確認方法
-
なぜ再起動すると空き領域が増...
-
HDの不良クラスタをパーティシ...
-
表領域に追加したファイルの削除
-
SQLSERVERでも表領域は作れます...
-
Oracle8で表領域の現在のエクス...
-
オフラインリカバリが必要なDBF...
-
HDDの代替領域のサイズについて
おすすめ情報