症例その 5: 突然のサービス停止
ロック待ちによりすべてのセッションが待機 診察
症例その 5: 突然のサービス停止
1
個のセッションが残りすべてのロック待ちを 引き起こしていることが 確認できる
診察
原因
:
ロック解放機能障害
[三大リーク病のひとつ]
症例その 5: 突然のサービス停止
症例その 5: 突然のサービス停止
ロック・リークはセッション・リークと同時に起きやすく例外処理内での
COMMIT / ROLLBACK
の処理に問題があることが多い
コネクション・プーリングをしていると、リークしているセッションは ロックを獲得したままコネクションを返却してしまいデータベースは
COMMIT
もROLLBACK
もされないまま放置される 原因症例その 5: 突然のサービス停止
try { ...
rset = pstmt.executeUpdate();
...
conn.commit();
pstmt.close();
conn.close();
} catch (SQLException e) { e.printStackTrace();
}
原因
例外処理に行ってしまうと COMMITしていない
しかもセッション・リーク している
症例その 5: 突然のサービス停止
try { ...
rset = pstmt.executUpdate();
...
conn.commit();
} catch (SQLException e) {
if (conn != null ) try {conn.rollback();} catch (SQLException e) {...}
e.printStackTrace();
} finally {
if (pstmt != null) try {pstmt.close();} catch (SQLException e) {...}
if (conn != null) try {conn.close();} catch (SQLException e) {...}
}
処方箋
失敗したときには
ROLLBACK
本セッションのまとめ
本セッションのまとめ
これらの原因の多くは一般的によく知られている問題である
しかし無視されていることが現実には多い
これらの問題が引き起こす影響はDBA
の視点からは不可解_ 人人人人人人 _
> 問題の長期化 <
 ̄
Y^Y^Y^Y^Y^Y
 ̄ Developer
は悪いアプリケーション・コードを書かないDBA
は悪いアプリケーション・コードを素早く見つけることが重要 アプリケーション・コードがシステム・パフォーマンスに与える影響Oracle Database 11g : SQL チューニング・ワークショップ
Database
コース内容
■Oracle Databaseアーキテクチャの検討
■SQLチューニングの概要
■オプティマイザの概要
■オプティマイザ演算子
■オプティマイザ・ヒントの使用
■SQLチューニングの自動化
■実行計画の解釈
■ケース・スタディ: スター型変換
■オプティマイザ統計
■バインド変数の使用
■アプリケーション・トレース
対象者 ・データベースアプリケーション開発者
受講料
(2012年9月現在)
定価¥218,295(税込)
※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。
集合研修 教室での集合研修も絶賛開催中。
集合研修の日程は
http://education.oracle.co.jp/ 左上コース検索にて、「チューニング」で検索頂けます
Oracle Database 11g
でSQL
を効率的にチューニングするための知識とノウハウを習得!本コースではチューニング方法のみならず、チューニングの方法論までも理解できます。使用するOracleの診断ツールおよび機能は、自動
SQLチューニング・コンポーネント、EXPLAIN、SQL TraceおよびTKPROF、SQL*Plus AUTOTRACEです。また、物理的なスキーマおよび SQL構文を変更することによるオプティマイザの動作への影響についても習得できます。
本コース修了時には、以前のリリースで行っていた手動でのチューニング方法と比較した上で、現在のリリースで提供される自動SQLチュー ニング機能を使用できるようになります。受講者は、Oracleオプティマイザの概念を理解し、体系化されたマシン演習を通じて、講義内容をよ り深く理解できます。
ToD
トレーニングオ ンデマンドにて 提供中
ドキュメント内
PowerPoint Presentation
(ページ 44-55)