入力支援機能を大幅強化 複数のSQL文の同時実行も可能に

プロダクトフォーカス
Oracle開発/管理支援ツール「SI Object Browser Ver.10」
システムインテグレータ
プロダクトフォーカス
Oracle開発/管理支援ツール
SI Object Browser Ver.10
トレース情報
チューニング/入力支援機能を大幅強化
複数のSQL文の同時実行も可能に
Oracleデータベースの開発/管理ツール「SI Object Browser」の最新
バージョン10が、8月10日にリリースされた。本バージョンでは、パフォ
ーマンスチューニングやSQL文入力の支援機能が大幅に強化。SQL文の部
分実行および複数文同時実行、コメントの一括参照といった機能を加えて開
発効率を高めている。また、稼動環境としてWindows Vistaに正式対応した。
本稿では、それらの新機能の詳細と使いどころを紹介する。
株式会社システムインテグレータ 後迫
潤
USHIROZAKO, Jun
発行された
SQL文
発行された
SQL文
SQL文
を抽出
発行された
SQL文
SQL
キャッチ
遅い
SQL文
インデックス 作成
アドバイザ
インデックス
・現在のインデックス
・候補提示
・作成前後のコスト比較
・インデックス作成/削除
たほか、SQL文に対して最適なインデックス
図:遅いSQLをキャッチし、インデックスアドバイザを利用してインデックスを作成
をアドバイスする機能、SQL文の入力作業
をアシストする機能、パフォーマンス情報を
定期間隔で自動保存してパフォーマンス分
デックスは赤く
Ver.10ではSQLの作成/実行の両面にお
発/管理作業の効率化を実現している。以
表 示され 、不
いて使い勝手を向上するため、次のような
降では、それらを順に紹介していく。
要なインデック
機能が追加された。
析を支援する機能などにより、Oracle 開
画面1:インデックスアドバイザ
スは[DELET
S I Object Browserとは
ォーマンスチューニングなどの作業をすべて
GUI上で行なうことができる。そうした機能
E]ボタンで削
■SQLの高速化を支援するインデックスア
QLの高速化を支援する
S
ドバイザ機能
インデックスアドバイザ機能
システムインテグレータが開発/販売する
性と分かりやすいインターフェイスが評価さ
Ver.10で追加された「インデックスアドバ
「SI Object Browser」は、Oracleデータベ
れ、現在までに日本国内で10万ライセンス
イザ」
(画面1)
は、その名のとおり、最適な
を超える販売実績を持っている。
除できる。
画面2:インデックスアドバ
イザのテスト結果
画面3:コード補完
また 、画 面
下段の「作成するインデックス」ペインには、
●コード補完機能
最近のプログラム開発環境では多くサポ
ートされている「コード補完機能(インテリセ
ンス)」が搭載された。例えば、SCOTTに
インデックスをアドバイスしてくれる機能だ。
ており、稼動中に発行されているSQL文の
そのSQL文に対して有効と思われるインデ
続けて「.」
(ドット)
を入力すると、画面3のよ
インワンで統合したツールである。本製品
約 2 年半ぶりのバージョンアップとなる
インデックスの役割はもちろんSQL文の実行
トレース情報から遅いSQL文を一覧表示
ックスの候補がテーブルごとに複数表示さ
うにSCOTTユーザーの持つオブジェクトが
を使用することで、テーブルの作成やストア
Ver.10では、表に挙げるような便利な機能
速度を向上させることだが、実行時に必ず
できる。インデックスアドバイザ機能は、そこ
れる。この候補の中からいずれかを選択
入力候補として一覧表示される。一覧から
ドプロシージャのコンパイル、デバッグ、パフ
が追加された。Windows Vistaへ対応し
しも用意したインデックスが使用されるとは
から任意のSQL文に対して候補インデック
し、
[作成]ボタンをクリックすることで実際
選択したオブジェクト名がエディタに自動入
限らない。実際にインデックスを参照するか
スを提示する。
にインデックスを作成できる。
力されるので、SQL入力の手間が省けるほ
ースの開発/管理に必要な機能をオール
表:SI Object Browser Ver.10の新機能
特定のSQL文に対して、既存インデックスの使用/未使用状況と、新たなインデックス
インデックスアドバイザ
候補を表示。インデックス作成前と作成後でパフォーマンスのテストも可能。遅いSQL
マルチSQL
複数のSQL文が同時実行可能。SELECT文の結果は複数のタブシートに分割して表示
のパフォーマンスチューニングが可能
コード補完
SQL文の入力をサポートする。例えば、
「SELECT * FROM SCOTT」と入力して
(
. ドット)を入力した時点で、SCOTTユーザーのオブジェクト一覧が表示される
SQL文の改行位置、大文字/小文字を自動変換し、フォーマットを自動で整える。範
SQL整形
囲選択して、部分的な整形も可能。フォーマットのルールはオプション画面により変更
できる
範囲指定実行
コメントチェック
範囲選択されたSQL文の一部分のみを実行する。オプションによりON/OFFが可能
プログラムからコメント行のみを抜き出して一覧表示。該当ソースにジャンプする。複
数のプログラムを同時出力可能。結果はクリップボードやExcelにも出力可能
定期的にパフォーマンス情報の各パラメータを自動保存する。定期的に保存するこ
パフォーマンス自動保存
とにより、パフォーマンスが悪化した場合に過去のパラメータと比較して原因を分析
できる
オブジェクトコピー
Vista対応
オブジェクトリスト上でのコピー&ペースト操作により、テーブルやストアドプログラム
のコピーが作成可能
Windows Vistaに正式対応
●
そのほかの新機能
マイオブジェクト機能(ユーザーを限定して表示)
特徴的なのは、単にインデックスの候補を
ただし、そのインデックスが使用されるか
最近のオプティマイザはコストベースなので、
アドバイスするだけでなく、インデックス作成
どうかはSQL文を実行してみるまで分から
入力候補にはオブジェクト以外にも、テー
レコード数やカーディナリティ、ヒストグラム
の判断や試行が容易にできる点である。現
ない。そこで、作成前後のコスト比較を行
ブルの列やパッケージのサブプログラムな
などの統計情報によってインデックスが採択
在、どのようなインデックスが作成されてお
なうテスト機能を使用する。
[テスト]ボタン
どが状況に応じて一覧表示される。SQL特
されない場合もある。
り、それらが当該SQL文で使用されている
をクリックすると、画面2のようにインデック
有のテーブルの別名(エイリアス)
にも対応
オプティマイザの判断は統計情報により変
かどうかも示した上で、候補インデックスが
ス作成前と後でそれぞれ実行にかかった
しているので、例えば「SELECT * FROM
化する。システムが稼動してデータ量が大
提示される。また、インデックス作成の前と
コストが表示される。インデックスが使用さ
EMP e WHERE e」に続けてドットを入力し
幅に増加した際、インデックスが適切に作成
後のコスト比較も表示できるので、提示され
れるかどうかだけでなく、パフォーマンスが
た時点で、EMP表にある列名が自動的に
されていないためにパフォーマンスが低下
たインデックスから、最も効果のあるものを
どれほど向上するかまで分かるので、ユー
一覧表示される。
することも多い。また、インデックスが作成さ
選んで作成することが可能である
(図)。
れていても、実際には利用されていないと
インデックスアドバイザはメニューから起動
いったケースもある。このようにパフォーマ
することもできる。チューニングの対象となる
ンス問題が生じた場合にはSQL文をチュー
SQL文を入力して
[解析]
ボタンをクリックす
か、テーブル名などの誤入力も防げる。
ザーは複数のインデックス候補を順にテスト
し、最も結果の良かった候補を選ぶことで、
最適なインデックスを作成できる。
●SQL整形
不ぞろいなSQL文のフォーマットを整え
る機能である。SQL実行画面を右クリック
し、コンテキストメニューから
[SQL整形]
を
●
サンプル表示(ストアドプログラムのサンプルコードを表示)
ニングすることになるが、インデックスアドバ
ると、画面中段の「現在のインデックス」ペイ
●
デッドロック履歴(アラートログファイルを読み取り、デッドロックの履歴を表示)
イザ機能はそうしたときに役立つ。
ンに、SQL文が参照するテーブルと、そのテ
大幅に強化されたSQL実行画面
選択するだけで、SQL文中の大文字/小文
●
テーブル画面の[データ]タブに右クリックメニューを追加(件数や合計などの集計
Object Browserには、遅いSQL文を抽
ーブルに付加されたインデックスの使用状況
Object Browserで最も使用されている
字やWHERE句のANDの位置などが自動
●
マテリアライズドビューへの対応など
出する「SQLキャッチ」
という機能が備わっ
がツリー表示される。使用されていないイン
機能は、何と言ってもSQL 実行画面だ。
的に整形される
(画面4)
。整形(フォーマッ
情報が表示可能)
178
どうかはオプティマイザによって判断される。
DB Magazine 2007 November
■ 大幅に強化されたSQL実行画面
DB Magazine 2007 November
179
プロダクトフォーカス
Oracle開発/管理支援ツールSI「Object Browser Ver.10」
ト)のルールはオプション画面で変更可能
となった。
チェックできる。
で、自社のコーディング規約に合わせて定
義できる。
この機能を利用するには、オブジェクトリ
●範囲指定実行
ストからチェックしたいプログラムをすべて
SQL文の一部分を範囲選択して実行す
選択し、右クリックしてコンテキストメニュー
る機能も追加された。この機能を使用すれ
から
[コメントチェック]
を選択する。それだ
複数のSQL文を同時に実行することが
ば、複数のSQL文を書いている状態でもコ
けの操作で、画面6のようにコメント行のみ
いう機能を使用してテーブルのバックアップ
可能になった。複数のSQL文を「/」
(スラッ
メントアウトする必要なく、任意の部分を実
を抽出した結果が一覧表示される。結果は
を作成可能だったが、Ver.10ではオブジェ
シュ)行で区切って記述することで、それら
行できる。ただし、本機能はエンジニアによ
Excelに出力することも可能だ。
クトリスト上でコピーしたいオブジェクトを選
が一括実行される。また、各SQLの実行結
って好き嫌いがあるので、オプション画面で
果は、個別のタブシートに表示される。例
有効/無効を指定可能だ。
●マルチSQL
画面8:オブジェクトコピー機能
えば、画面5のように3つのSELECT文と1
つのINSERT 文を発行した場合、SELE
CT文の結果が3つのタブシートで別々に表
コ
画面9:サンプルコード表示
に
[CTRL]
+
[V]
キーで貼り付けるという、
ると、プログラム内の対象のコメント行にジ
ャンプする。これにより、即座にコメントを
■コメ
ントの一括チェック機能
メントの一括チェック機能
択して
[CTRL]
+
[C]
キーでコピーし、さら
また、一覧中のコメントをダブルクリックす
画面7:パフォーマンス情報の自動保存設定
修正できる。
マンス情報の各パラメータをスナップショッ
Windowsのエクスプローラでファイルをコピ
ザーアカウント制御)機能の制限により、
ーするときのような感覚で、テーブルのバッ
Windows Vista上で動作させることがで
クアップやプログラムのコピーが作成できる。
きなかったが、Ver.10ではWindows Vista
示される。それぞれの結果を簡単に切り替
多くの企業では、コーディング規約により
貼り付け時には、画面8のようにオブジェ
コメントの挿入基準や記入形式が定義され
ューニングに役立つパフォー
チ
自動保存機能
マンス情報自動保存機能
トで保存する機能を提供している。パフォ
えて確認できるので、同一テーブルの更新
ーマンスが悪化したときに、どこが変化した
クト名を入力するダイアログが表示され、コ
前、更新後の比較などを行なうことも可能
ている。しかし、プログラム開発の現場では
最初は良好に稼動していたシステムも、デ
から悪くなったのかを時系列で比較しなが
ピー先のオブジェクト名を任意指定できる。
プログラマが規約に違反するコメントを記入
ータ量や利用ユーザー数の増加、メモリ不
ら検討できるので原因究明がしやすい。
コピー対象がテーブルの場合は、
「テーブル
限定してオブジェクトを表示する「マイオブジ
していたり、まったくコメントを入れないプロ
足、データ断片化の進行、CPU使用率の限
ただし、これまで保存操作は手動で行な
データも含める」
というチェックボックスをON
ェクト機能」や、デッドロックの履歴を表示す
グラムを作ったりするケースも少なくない。ま
界などさまざまな原因で遅くなることがあ
う必要があったため、保存を忘れてしまう
にすると、コピー先のテーブルにレコードも
る「デッドロック履歴機能」
、テーブル画面の
た、
「この処理は後で見直す」
といった備忘
る。このような環境関連に起因する問題の
ことがあった。そのため、パフォーマンスが
一緒にINSERTできる。
録的なコメントを消し忘れ、そのまま本番導
場合、Oracleのシステム統計パラメータや
悪化して、過去のパラメータを見ようとして
入してしまうといったミスも起こりやすい。
I/O統計パラメータなどを見れば、原因を推
も履歴がなく、比較できないというケースが
定することが可能だ。
生じていた。
●整形前
そこでVer.10では、プログラムを一括選
●整形後
画面4:SQL整形
■チューニングに役立つパフォーマンス情報
P サンプル表示機能
示機能
Object Browserでストアドプロシージャ
況が悪化してはじめて確認することが多い。
保存する機能が追加されている。利用する
を新規作成する際には、
「CREATE OR
この時点でパラメータから原因を見つけ出
には、オプション画面の
[詳細設定]
タブ(画
REPLACE PROCEDURE…」から始まる
で、プログラミング作業の途中や最終納品
すのは、Oracleの専門知識を持ったエンジ
面7)
で「DB接続終了時に自動保存を行う」
ストアドプロシージャの定義文の構成が自動
前に、不適切なコメントがないかを一斉に
ニアでもなかなか難しい。そこで、Object
をONにし、さらに「自動保存間隔」を設定
的に表示される。これまでも、この構成に従
Browserでは良好な状態のときにパフォー
する。例えば、保存期間を“30日”
と設定す
って処理内容を書くことでストアドプロシージ
ると、30日間隔でデータベースの切断時あ
ャの作成を省力化できたが、Ver.10ではこ
るいはObject Browserの終了時にパラメ
れに加えてサンプルプログラムを用意した。
しかし、これらのパラメータの値は稼動状
出して一覧表示する「コメントチェック」機能
を新しく備えた。この機能を使用すること
ータが自動保存され、履歴も残される。保
ストアドプロシージャ画面内にある
[サンプ
存した情報はパフォーマンス情報画面で参
ル]
ボタンをクリックすると、画面9のようなウ
照可能で、どの値が大きく変化したから問
ィンドウが表示される。カーソルや変数の宣
題が生じたのかを容易に把握できる。
言、IFやFORなどの制御文、例外処理など
基本的なPL/SQLのコードが書かれている
■データも含めたオブジ
ェクトコピー機能
ータも含めたオブジェク
ト
デコピー機能
*
*
*
ここまでに紹介した以外にも、ユーザーを
[データ]
タブで右クリックメニューで集計情
報表示、マテリアライズドビューへの対応な
■PL/SQLのリ
ファレンスとなるサンプル表
L/SQLのリファレンスとなる
これを改善するために、Ver.10では自動
択して、その中からコメント行部分のみを抽
に正式に対応した。
ので、構文文法を忘れたときの確認や例外
ど、さまざまな機能改善が施されている。
なお、本誌付録CD-ROMにObject Bro
wser Ver.10のトライアル版を収録してい
るので、実際に各機能を試してみてほしい。
■ 動作環境
対象RDBMS:Oracle8/8i/9i/10g
動作OS:Windows 2000/XP/Server
2003/Vista
メモリ:24MB以上
HDD:30MB以上の空き容量
その他:Microsoft Excel 97以降
■ 価格
4万8825円(1クライアントライセンス、
税込み)
■ 問い合わせ先
株式会社システムインテグレータ
担当:勝間
TEL:048-707-7061
処理の記述漏れの防止に役立つだろう。
オブジェクトリスト
(ログイン直後にされるオ
ブジェクト一覧画面)上で、オブジェクトのコ
ピーを作成することが可能になった。以前
のバージョンでも
「ユーザー定義コマンド」
と
画面5:マルチSQL
180
DB Magazine 2007 November
■ Windows
Vistaに対応
indows
Vistaに対応
W
これまでのバージョンでは、UAC(ユー
本誌付録CD-ROMに、
「SI Object Bro
wser Ver.10トライアル版」を収録して
います。
画面6:コメントチェック
DB Magazine 2007 November
181