今回は

みなさん、こんにちはMaxGaugeを販売しております日本エクセムの製品担当です。

今回は一時表領域枯渇時にMaxGaugeを使用して調査する方法を紹介します。
MaxGaugeなら一時表領域を使用しているセッションやSQLをWEB UIから簡単に調査することができるので、『調査時間の短縮』『原因や要因の特定の時間短縮』などの効果に期待できます。

待望の日本エクセム様の技術連載第8弾です!
前回の記事も是非ご覧ください!

 

 

ORA-01652:一時セグメントを拡張できません

データベースを運用していると「ORA-01652:一時セグメントを拡張できません」が発生して、
SQLが異常終了するなどの事象を経験された方は多いと思います。

ORA-01652の調査には事象発生時に実行されていたセッションやSQLの一時表領域の使用状況を調べる必要があります。

事象発生時であればV$ビュー(動的パフォーマンス・ビュー)などから調査可能ですが、
過去に発生した状況の調査(事後調査)ならばASH(Active Session History)などから調査する必要があります。
(ASHの使用にはOracle Database Enterprise Edition とオプションのライセンスが必要になります)

MaxGaugeならば、セッション情報を1秒間隔で取得していることから
一時表領域を使用しているセッションはリアルタイムで事後調査でも簡単に特定することができます。

MaxGaugeで一時表領域を使用しているセッションを特定する

一時表領域が適切なサイズで設定された環境下で「ORA-01652:一時セグメントを拡張できません」が発生する状況として、一時表領域を大量に使用しているセッション(SQL)が存在するケースが多いです。

この場合、一時表領域を大量に使用するセッションを特定して実行していたSQLを改善する対応が必要となります。

MaxGaugeを使用した調査方法ではSQLを実行中のセッションで発生した待機イベントの情報などから一時表領域を使用していたセッションを特定します。

MaxGaugeでの調査ポイント
  • 一時表領域を大量に使用するセッションは「direct path write temp」「direct path read temp」の待機イベントで待機しているセッションを特定します
  • 統計指標の「temp space allocated」の値からインスタンス全体の一時表領域の使用状況を確認します

リアルタイム調査

一時表領域の使用率監視などで閾値を超過した場合やORA-01652発生直後などであれば、リアルタイムに一時表領域を使用しているセッションを特定することができます。

MaxGaugeのリアルタイムモニタでSQLを実行中のセッションリストが表示されます。
「Wait」列からセッションで発生している待機イベントに確認します。

「direct path write temp」「direct path read temp」が発生しているセッションが一時表領域を使用してSQLの処理を実行していることが判断できます。

調査方法

セッションリスト(SQLを実行中のセッション一覧)からセッションの待機イベントを確認します。
「direct path write temp」「direct path read temp」が発生しているセッションが一時表領域を使用しているセッションになります。
統計指標の「temp space allocated」の推移を確認します。
表示されているグラフをダブルクリックするとセッション毎のtemp space allocated 値を示す別窓が表示されます。

「Value」列からセッション単位の一時表領域の使用量を確認することができます。

事後調査

過去に発生した一時表領域の使用率上昇やORA-01652が発生した状況をMaxGaugeで分析するにはパフォーマンスアナライザより調査することが可能です。

基本的にはリアルタイム調査と同じで一時表領域を使用しているセッションやSQLを特定する調査方法になります。

調査方法

パフォーマンスアナライザ > 推移分析 > 性能トレンド の順に画面を遷移して調査の対象となる日時で検索します。
表示されたアクティブセッションのリストからセッションの待機イベントを確認します。
 「direct path write tempdirect path read tempが発生しているセッションが一時表領域を使用しているセッションになります。
統計指標の「temp space allocatedのグラフも表示して一時表領域の使用状況の全体推移も確認します。

最後に

今回はMaxGaugeで一時表領域を使用しているセッションの調査方法を中心に紹介しました。
MaxGaugeなら短時間で問題があったセッションやSQLを特定することができるので調査時間の大幅な短縮(工数削減)ができます。

一時表領域の使用で発生する「direct path write temp」「direct path read temp」の待機イベントの詳細について過去の記事がありますので、興味がありましたらご覧ください。

過去記事URL👉https://www.ex-em.co.jp/blog/direct-path-readwrite-temp/

 

いかがでしたでしょうか?
次回の記事もお楽しみに♪

投稿者プロフィール

日本エクセム株式会社
日本エクセム株式会社
日本エクセム株式会社 プロダクトソリューション部
MaxGaugeの製品販売、およびDBAサービス(データベース管理サービス)、データベースチューニング支援、障害解析支援など幅広いサービスを実施しています。弊社でもデータベースに関する記事など書いていますがOracleデータベースの待機イベントの記事がおすすめです。