Pick Upテクノロジー
Oracle Enterprise Managerをなぜ使うのか 第1回 生きた情報をリアルタイムに掴む
株式会社コーソルでデータベースエンジニアとして活躍している渡部亮太氏は、普段の業務のさまざまな場面でOracle Enterprise Manager(EM)を活用している。今回から4回に渡り、EMを使うメリットを現場の視点から説明していただく。(編集部)
《Oracle Enterprise Managerをなぜ使うのか》シリーズをお見逃しなく!
- 第1回 生きた情報をリアルタイムに掴む
- 第2回 EM内のデータを活用する
- 第3回 アドバイザ機能との親和性・統合性
- 第4回 定期的バックアップと迅速な復旧作業
■さまざまな情報を得られるOracle Database
Oracle Databaseの特長として、内部アーキテクチャを含めた、多様な管理情報、性能診断情報を公開している点があると考えています。最近では「ソースコード」という究極の内部情報を公開するオープンソースソフトウェアが一般的になってきたため、近年はOracle Databaseのオープン性にあまり着目されていないように思われますが、「情報公開」という意味ではなかなかの優等生であると思います。
この管理情報、性能診断情報は、「ディクショナリビュー(DBA_?、ALL_?、USER_?)」、「動的パフォーマンスビュー(V$ビュー)」として、SQLで問い合わせ可能な表形式で公開されています。またその提供ビューは数多く(Oracle Database 11g Release 2のディクショナリビューDBA_?の総数:642、動的パフォーマンスビューの総数:460)、これらのビューから得られるデータを活用することで、運用管理、性能監視に必要な全てのデータを得られるといっても過言ではないでしょう。
■取得した情報をどう活用するか
これらのビューはSQLやPL/SQLパッケージでアクセス可能なため、データベースエンジニアにとっては親しみやすい面があります。しかし、実際の運用管理、性能監視で利用するためには、これらのビューから得られる膨大な「生データ」を「活用可能なデータ」に加工する必要があります。このため、都度ゼロからSQLをコーディングして情報を取得するのではなく、あらかじめSQLをスクリプト化して取得できるよう工夫をしているエンドユーザーが多いようです。
しかしこの方法は、定型的な情報の取得には有効ですが、非定形的なアドホックな状況監視や、突発的な状況に対応するための情報取得には向いていません。また、基本的に出力形式は表に限定され、さらにデータの加工手段がSQLの機能に依存するため、分析用途などの複雑なデータの加工は不向きです。ビューから得られたデータを別途Excelなどの表計算ツールで加工する必要がある場合もあります。さらに、作業を行うには技術の蓄積が必要であり、Oracle Databaseに不慣れなエンジニアがすぐにできる作業ではありません。
■EMが従来型アプローチの欠点を解消する
このような点から、リアルタイムでの情報取得/分析は難しく、どうしても事後的になりがちです。加えて、分析に必要な情報は状況により異なるため、現象発生時に全ての情報を取得することができるとは限りません。このため再現時に、より詳細な情報を収集するという形で収めざるを得ず、結局原因の特定に至らないままになってしまう場合もよくあります。
しかし、これらの従来型のアプローチの欠点は「Oracle Enterprise Manager 11g」(以下、EM)を用いた運用管理、監視により解決できるようになります。また画面構成が優れており、比較的操作しやすいことも特長の1つです。
以前、外出先からOracle Databaseに不慣れなエンジニアに対し、携帯電話で作業を指示しなければならなくなったときがありました。具体的には「高負荷SQLの実行計画を取得」という作業でしたが、EMを使用してもらうことで難を逃れました。『「パフォーマンス」画面の「上位SQL」欄から問題のSQLを選択し、「実行計画」を選択する』といった指示でエンジニアに伝わったのです。
SQL、PL/SQLベースの手順では、このように口頭で説明することはほとんど無理でしょう。もしかしたら、外出先から会社に戻る羽目になったかもしれません。EMにとても感謝しています。
EMの操作容易性を示すエピソード:容易なSQLチューニング
(文:株式会社コーソル 渡部亮太)
■関連資料