連載
» 2015年09月25日 05時00分 公開

Oracle Databaseを例に見るデータベース高速化のポイントとスナップショットを例に探る運用改善のヒントデータベース高速化のいま(3)(2/3 ページ)

[吉村哲樹,@IT]

Oracle Databaseのスペシャリスト集団による性能改善の実例

キヤノンITソリューションズ 基盤・セキュリティソリューション事業本部 IT保守サービス部 オラクルDBサービス部 城内大輔氏

 同セッションでは杉山氏に続いてキヤノンITソリューションズ 基盤・セキュリティソリューション事業本部 IT保守サービス部 オラクルDBサービス部 城内大輔氏が登壇、「DB診断サービスのご紹介」と題して、同社が提供する「DB診断サービス」を使ったOracle Database高速化ソリューションを紹介した。

 同社は日本オラクルSpecialization認定パートナーとして、1994年からオラクル製品サポートサービスを提供している。そこで培ったノウハウを反映させたのが、Oracle Database環境の稼働状況を診断して、問題点を切り出してその解決策を提案する「DB診断サービス」だという。

 具体的には、Oracle Database標準の機能であるSTATSPACK(Statistics Package)を利用することで、稼働状況の統計データのスナップショットを時間単位で取得し、詳細を分析するものだ。

DB診断サービスでのSTATSPACKを利用した分析例

 これにより、CPUで処理を行う「サービス時間」や応答待ちでプロセスを持ち続ける「待機時間」を分析し、問題点を洗い出す。問題点は、ストレージI/O待ちが原因の場合もあれば、「WHERE句の中で“!=”や“IS NOT NULL”が多用されており、そのたびに全表操作処理が走る」というSQL側が原因の場合もある。講演で示された事例の一つでは、パッケージ製品のSQL実装に問題があったため、SQLの修正ではなくバッファーキャッシュを利用して改善したという。ストレージI/Oだけでなく、データベースの処理を理解した上で全体の挙動から最適な改善策を検討していることが分かる。

ここで示した例ではSTATSPACKによる分析からSQLの問題が判明。対策可能な方法として、全表走査時のパフォーマンス改善を提案している

 Oracle Databaseユーザーであれば、STATSPACKでデータを取得できることは知っていると思うが、日常のデータベース運用ワークフローと並行して統計情報を分析し、ボトルネック発見に至る調査を実施するのは手間が掛かる作業だ。この部分を外注化することで、より効率よくデータベースシステムの改善策を練ることができるという。

 なお、データベースパフォーマンスの改善策が決定している場合でも、改善策実施後の成果検証を目的として「DB診断サービス」を利用する企業もあるとのことだった。

 「データベースの問題点を解決するには、現状を正確に把握することが重要。弊社のDB診断サービスは、さまざまなOracle Database環境の状況をいろんな切り口から解析し、その問題点を切り分けて解決策を提案してきた実績がある。ぜひOracle Databaseのパフォーマンスに課題をお持ちの企業にご活用いただきたい」(城内氏)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。