ここでは、画面を元に、具体的な使用方法を説明します。

3 - 1 起動

[スタート]メニューよりSI Object Browser を実行します。

SI Object Browserを実行すると、ウィンドウの中央にログオンダイアログが表示されますので、
ユーザーID、パスワード、データベース名(TNS名)を指定し、データベースに接続します。
※ Oracle Database Cloud ServiceへのSSH接続を行う場合、Oracleが推奨する方法を利用してください。


[オブジェクトリスト]ウィンドウが表示されたら、接続完了です。

[接続先リストに登録する]をチェックして接続すると、ウィンドウ上段の[接続先リスト]に登録され、
次回からはこのリストをダブルクリックするだけでデータベースへの接続が可能となります。

接続先リストを削除するには、削除したい接続内容を選択して[Delete]キー、
または「×」ボタンを押して下さい。

▲ ▼にて接続先リストの並び替えも可能です。

[コメント]
接続先についてのコメントを登録する事ができます。

[OS認証]
事前に外部認証ユーザーを作成しておき、このチェックをつけることで
ユーザーID、パスワードの入力をせずに接続可能となります。

[接続モード]
Oracle9i以降でSYSスキーマで接続する時は接続モードをSYSDBAまたは
SYSOPERに変更する事によって接続できます。

[文字コード]
必要に応じて接続時の文字コードを選択します。特に問題が無い場合は「UTF8」を使用してください。

[接続先]
Amazon RDSへの接続時は、「Amazon RDSへの接続」を選択することでRDS用のコマンドを実行します。
※一部機能の動作が変わります。必ず正しい設定を選択して下さい。

[接続色]
データベース接続を識別する色を指定します。
ここで指定した識別色は、データベース接続に関連するウィンドウ上の一部に適用されます。

■接続先リスト取込
これまでにSI Object Browser Ver.10以前をインストールし、使用していた場合は
それぞれのSI Object Browser で登録した接続先リストを取り込むことができます。

ログオン画面左上の「接続先リストの取込」ボタンを押下すると
各バージョンのSI Object Browser に登録されている接続先リストが表示されますので
必要なものを選択し、「取込」ボタンを押下します。

■起動時オプション(自動接続)
SI Object Browser の起動アイコンのプロパティを開きobo.exe の後にオプションを付加する事で、
起動時に指定されたユーザーでログオンする事ができます。
接続先リストに登録されているユーザーについてはパスワードが省略できます。
また、/SYSDBA /SYSOPERオプションを付加する事により、SYSDBA、SYSOPER権限で接続できます。
(接続モードNORMALの場合は不要です。)

例1:ユーザーID demo、パスワード demo でoracle.world データベースに接続します。
 obo.exe /u=demo/demo@oracle.world

例2:ユーザーID test でob.world に接続します。
ユーザーtest のパスワードは、接続先リストより取得します。
 obo.exe /u=test@ob.world

例3:ユーザーID sys でob.world にSYSDBA接続します。
 obo.exe /u=sys/sys_password@ob.world /SYSDBA

3 - 2 ツールバー

画面上部には、よく使用する機能がツールボタンとして表示されています。
これらのツールバーは、機能毎に表示・非表示の指定ができます。


<標準メニュー>
[データベース接続] データベースへの接続を行います。
[データベース切断] データベースへの切断を行います。
[現行データベース] 現在接続中のDBの中から使用したいDBを選択します。
[COMMIT] データベースへの変更操作を確定します。
[ROLLBACK] データベースへの変更操作を取り消します。

<編集メニュー>
[元に戻す] テキストの編集等を取り消します。
[切り取り] 選択中のテキストなどをクリップボードに切り取ります。
[コピー] 選択中のテキストなどをクリップボードに収容します。
[貼り付け] クリップボード内のデータを指定した位置に貼り付けます。

<表示メニュー>
[SQL実行] SQL文を実行するためのウィンドウを表示します。
→ 3−5参照
[スクリプト実行] テキストファイルに格納されたSQLスクリプトを実行します。
→ 3−6参照
[表・列] テーブルと、その列を一覧表示します。
→ 3−7参照

<ツールメニュー>
[オブジェクト比較] オブジェクト比較を行います。
→ 3−15参照
[インデックスアドバイザ] インデックスアドバイザ画面を開きます。
→ 3−17参照
[SQLキャッチ] Oracleに対して発行されている生SQLをキャッチします。
→ 3−9参照
[テーブルアクセス表] トレース情報からSQL文を抽出しテーブル単位にまとめて表示します。
→ 3−10参照

<管理メニュー>
[ユーザー情報] ユーザー・ロール・プロファイル情報画面を表示します。
→ 5−1参照
[表領域情報] 表領域・RBS情報画面を表示します。
→ 5−2参照
[セッション情報] 現在DBに接続中のセッション情報画面を表示します。
→ 5−3参照
[ロック情報] 現在のロック情報を確認できます。
→ 5−4参照
[データベース情報] 現在接続中のデータベース情報を確認できます。
→ 5−6参照
[コンテナデータベース情報] コンテナデータベースに紐づくプラガブルDBの管理を行うことができます。
→ 5−15参照
[インメモリ情報] 現在のインメモリの設定や状況を確認することができます。
→ 5−16参照
[パフォーマンス情報] パフォーマンスに関する情報を保存、履歴で比較表示できます。
→ 5−7参照
[ごみ箱] 10g対応に基づき、ごみ箱からの復元・削除ができます。
→ 5−14参照
[ジョブ情報] ジョブに関する情報画面を表示します。
→ 5−5参照

<新規作成メニュー>
[表][制約] 各オブジェクトを新規に作成します。
(→ 第四章参照)

3 - 3 オブジェクトリスト

データベースに接続すると、そのユーザーが利用可能なデータベースオブジェクトが
[オブジェクトリスト]ウィンドウに表示されます。

ウィンドウ左側には、ユーザーとオブジェクトタイプがツリー表示され、
ここで選択したユーザー、オブジェクトタイプに該当するオブジェクトの一覧が
ウィンドウ右側に表示されます。



一覧表示では、ウィンドウ上段の見出タブをクリックすると表示順序を変更することができます。
また、予想したよりもオブジェクトの数が多い場合は、表示中に[ESC]キーを押すことで、
処理を中断することができます。

ウィンドウ上段に並ぶツールボタンは、それぞれ次のような機能があります。

[ユーザー → オブジェクト順]
 ツリー表示をデータベース、ユーザー、オブジェクトタイプの順に表示します。
[オブジェクト → ユーザー順]
 ツリー表示をデータベース、オブジェクトタイプ、ユーザーの順に表示します。
[データベース選択時にオブジェクト一覧を表示する]
 ツリー表示で第一階層(データベース)のアイコンをクリックした際に、
 そのデータベースに格納されている全てのオブジェクトを一覧表示します。
[ユーザー(オブジェクトタイプ)選択時にオブジェクト一覧を表示する]
 ツリー表示で第二階層(ユーザーまたはオブジェクトタイプ)のアイコンをクリックした際に、
 そのデータベースに格納されている全てのオブジェクトを一覧表示します。
[表示] (リストボックス)
 ツリー表示するユーザを限定したい場合に使用します。
 「すべてのユーザ」、「ログインユーザ」、「設定(各ユーザごとに表示/非表示を選択)」から
 選択可能です。
 そのデータベースに格納されている全てのオブジェクトを一覧表示します。
[オブジェクト名検索]
 操作したいオブジェクトの名称が分かっている場合は、
 このアイコンの横にあるテキストボックスに名称を入力してこのアイコンをクリックすると、
 オブジェクト名にその値が含まれているオブジェクトのみをリスト表示します。
[断片化割合]
 インデックスの断片化割合を表すグラフを表示します。インデックスリスト表示時に活性化します。
[全文検索(GREP)]
 オブジェクトを作成するDDL文(CREATE文)中に指定した文字列が含まれたオブジェクトのみを
 リスト表示します。
 アイコンをクリックすると下記の指示ダイアログが表示されます。
 ※JAVA CLASS/JAVA RESOURCEのみオブジェクト名のみで検索します。


■検索文字列
 ここで指定した文字列がDML文中に含まれたオブジェクトをリスト表示します。
■対象オブジェクト
 検索対象の範囲を指定します。
 なお、「全てのオブジェクト」を指定して検索する場合には、
 オブジェクトリストの左ツリー上部「データベース選択時にオブジェクト一覧を表示する」ボタンを
 ONにする必要があります。
■大文字小文字を区別する
 アルファベットの大文字・小文字を区別して検索するか否かを指定します。

この他にもメニューにある[オプション]を開くと表示方法を変更する事ができます。
(→ 3−12参照)

3 - 4 データベースオブジェクトの操作

データベースオブジェクトに対する操作は、基本的に[オブジェクトリスト]から
目的のオブジェクトを選択し、[オブジェクトリスト]メニュー、もしくは
右クリックによるポップアップメニューから目的の操作を選択します。



選択可能な操作は次の通りです。
[新規作成][貼り付け]以外の操作は、事前にオブジェクトを選択しておく必要があります。

[新規作成] オブジェクトを新しく作成します。
オブジェクト別の詳細については第四章を参照して下さい。
[コピー] オブジェクトをコピーします。コピー後は
貼り付け操作によりコピーを作成することが可能です。
[貼り付け] 現在選択しているユーザの下にオブジェクト のコピーを作成します。
(あらかじめ[コピー]でオブジェクトをコピーしている必要があります。)

まず、名前を入力するダイアログが表示されますので
新しく作成するオブジェクトの名前を指定します。
テーブルの場合は「テーブルデータをコピーする」というチェックが
ありますので、テーブルレコードも同時にコピーしたい場合に
チェックをONにします。
最後にOKボタンを押すとCREATE文が実行され、
コピーが作成されます。
[削除] オブジェクトを削除します。

■ 削除時のエラーを無視する
 エラーが発生した時点で処理を中断せずに、
 次以降のオブジェクトを削除します。

■ INCLUDING TABLES オプション
 CLUSTER 削除時に INCLUDING TABLES オプションを
 適用するか指定します。

■ CASCADE CONSTRAINTS オプション
 TABLE 削除時に CASCADE CONSTRAINTS オプションを
 適用するか指定します。

■ FORCE オプション
 TYPE 削除時に FORCE オプションを適用するか指定します。
[名前の変更] オブジェクトの名前を変更します。
[定義情報を開く] オブジェクトの詳細情報ウィンドウを開きます。
オブジェクト別の詳細については第四章を参照して下さい。
[データを開く] オブジェクトの詳細情報ウィンドウのデータタブを開きます。
[データを開く(件数指定)] 参照するデータ件数を指定するウィンドウを開きます。
[ソースを開く] オブジェクトの詳細情報ウィンドウのソースタブを開きます。
[インデックスの断片化解消] インデックスの断片化を解消します。
[スクリプト出力] オブジェクトのSQLスクリプトをファイルに出力します。
→ 3−4−2参照
[レポート出力] オブジェクト定義情報をEXCELファイルに出力します。
→ 3−4−3参照
[印刷] オブジェクトのSQLスクリプトを印刷します。
[エクスポート] テーブルオブジェクトをエクスポートします。
→ 5−8参照
[エクスポート
(DataPump)]
テーブルオブジェクトをエクスポート(DataPump)します。
→ 5−12参照
[ロード] テーブルに格納されたデータをファイルに書き出す、
またはファイルの値をテーブルに取り込みます(SQL*LOADER)
→ 5−10参照
[表・列] テーブルと、その列を一覧表示します。
→ 3−7参照
[権限] オブジェクト権限情報を表示します。
→ 3−4−6参照
[クロスリファレンス] オブジェクトの参照情報を表示します。
→ 3−4−4参照
[マトリックス表] オブジェクトの相関図を表示します。
→ 3−4−5参照
[統計情報] オブジェクトの統計情報(ANALYZE情報)を取得、削除します。
→ 3−4−7参照
[コメントチェック] プログラムを選択したときのみ有効です。
選択したプログラムのコメントを一覧表示します。
→ 3−4−8参照
[ユーザー定義コマンド] ユーザー定義コマンドを実行します。
[実行] ストアドプログラム実行ウィンドウを表示し、実行します。
→ 3−4−1参照
[再コンパイル] オブジェクトを再コンパイルします。
ビュー、ストアドプログラム、タイプオブジェクトに対して
指定可能です。
[インデックスの監視を開始] インデックスの監視を始めます。(インデックス選択時のみ)
監視中に該当インデックスが使用されたかを記録します。
[インデックスの監視を停止] インデックスの監視を停止します。(インデックス選択時のみ)
監視中の結果を表示します。(オプション「オブジェクト固有の情報を表示する」にチェックがある場合)
[制約を有効にする] 制約を有効にします。(制約選択時のみ)
[制約を無効にする] 制約を無効にします。(制約選択時のみ)
[シノニム作成] シノニムの作成画面を表示します。
→ 4−11参照
[全文検索] DDL文の全文検索を行います。
→ 3−3参照
[ワークスペース] オブジェクトをショートカットの一覧表示欄に追加します。

3 - 4 - 1 ストアドプログラムを実行する

ストアドプロシージャ、ストアドファンクション、パッケージについては、
メニューより[実行]を行った場合、引数設定ウィンドウが表示され
プログラムを実行する事ができます。

パッケージの場合はパッケージ内の関数を選択するコンボボックスが
表示されますので、そこから実行したい関数を選択して下さい。


プログラムに引数や戻り値がある場合は、ウィンドウに
引数名と型が表示されますので、実行時に渡す値を[値]欄に入力します。

[実行]ボタンをクリックすると、プログラムを実行する事ができます。
正常に実行された場合は、画面に「プログラムを実行しました。」のメッセージを表示し、
ウィンドウ下段に DBMS_OUTPUT 値と戻り値の情報を表示します。

[デバッグ]ボタンをクリックすると、デバッグモードで
プログラムを実行する事ができます(Oracle8以降)。


ウィンドウ上段には現在実行中のプログラムソースが表示され、
実行中のステップが黄色で反転表示されます。

行番号をクリックするとブレークポイントの設定/解除が出来ます。

ウィンドウ下段左側はプログラム変数の値を確認する画面です。
値を確認したい変数の名前を[変数名]欄に入力すると、現時点での値を表示します。
値の部分をダブルクリックすることで値の変更も可能です。

ウィンドウ下段右側はプログラムの実行状況を表示します。

ウィンドウ上段に並ぶツールボタンは、それぞれ次の機能があります。

[ステップ]
 次の行を実行するところで処理を一時停止します。
 サブルーチンを呼び出した場合は、そのサブルーチンから
 制御が戻ったところで一時停止します。
 (サブルーチンのデバッグを行いません)

[トレース]
 次の行を実行するところで処理を一時停止します。
 サブルーチンを呼び出した場合は、そのサブルーチンの先頭行で一時停止します。
 (サブルーチンのデバッグを行います)

[戻る]
 現在デバッグ中のプログラムが終了し、呼び出し元に戻ったところで中断します。

[終了]
 実行を中断します。

[ブレークポイントを追加]
 カーソル行にブレークポイントを設定します。

[ブレークポイントを削除]
 カーソル行に設定されているブレークポイントを削除します。

※Oracle12c(12.1.0.2)以降のバージョンではお客様の方で
フレームと変数名を登録していただく仕様になっております。
これはOracle社の仕様変更にともなう制限となりますのでご了承ください。
  フレームについて

 フレームとは、プログラムの実行階層を示します。
 現在の階層は、プログラム実行情報の「StackDepth」に表示されます。
 通常はデバッグ対象プログラムはフレーム 2 となり、サブプログラム内に入る度に加算され、
 サブプログラムから抜け出す度に減算されていきます
 (フレーム 1 は SI Object Browser がデバッグ対象プログラムを呼び出す部分にあたり、
 デバッグ対象外です)。

 この値を指定する事により、トレース中サブプログラムの
 親にあたるプログラムの変数値が参照可能になります。
 フレームが未指定もしくは 0 の場合は、現フレームの変数値を表示します。
 また、特殊用途として、フレームに[スキーマ名.パッケージ名]と記述する事で、
 パッケージ仕様部の変数値が参照できます。

3 - 4 - 2 SQLスクリプトを出力する

メニューより[スクリプト出力]を行った場合、出力先のディレクトリ(一括出力の場合はファイル名)を
指定するウィンドウが表示され、指定したディレクトリにSQLスクリプトを出力できます。
ウィンドウ下段の[出力オプション]を変更すると、スクリプトの出力方法をカスタマイズする事が
できます。


■ 同時に出力するスクリプトを一つにまとめる
 一度に選択したオブジェクトを一つのファイルにまとめる場合にチェックします。
 チェックしない場合は、"オブジェクト名.SQL"というファイル名で出力されます。

■ タイプに応じたサブディレクトリを作成する
 指定したディレクトリに、ユーザー名、オブジェクトタイプ名でのサブディレクトリを作成し、
 その中にスクリプトを出力します。
 全オブジェクトをまとめて出力する際に便利です。

■ 名前TBL
 通常はスクリプト名はデータベースオブジェクト名と同じものが使われますが、
 オブジェクト名とスクリプトファイル名の対応データの入ったテーブルをここで指定する事で、
 任意のファイル名を個々のオブジェクトに対して割り当てる事が出来ます。


テーブル名を指定し[設定]ボタンを押すと、上のような編集画面が表示されます。

データの編集方法はテーブルオブジェクトと同様です。
→ 4−1[データタブ]参照

[登録]
 指定したテーブルを名前テーブルとして登録します。
 存在しないテーブル名を指定した場合は、その名前でテーブルを新規作成し、登録します。

[初期データを登録する]
 登録した名前テーブルに、現時点で存在するデータベースオブジェクトのデータを登録します。

■ 出力先
 スクリプトを出力するデフォルトフォルダを指定します。

■ すでに同じファイルが存在する場合は上書きする
 スクリプトを出力先に、すでに同名ファイルがある場合は上書きしたい場合にチェックします。
 チェックしない場合は、前回の出力結果に追記されます。

■ スキーマ名の出力
 SQL文中にスキーマ名を不可するか否かを指定します。

■ テーブルスクリプトに従属インデックスも追加する
 従属するインデックスも同じファイルに出力する事ができます。

■ テーブルスクリプト出力時、データも出力(INSERT文)
 テーブルの定義と一緒に格納されているデータを INSERT文として出力します。
 データごと他の環境にテーブルを移す場合や、簡易バックアップとしても使えます。
 INSERT文の出力先には次の中から選択可能です。
  ・テーブルスクリプト自身に付加
  ・別フォルダに出力(DATAというフォルダ名に同一のファイル名で作成)
  ・別ファイルに出力(_DATA.SQLというファイル名で作成)

■ エクステント情報を出力する
 PCTFREE/PCTUSED, INITRANS/MAXTRANS, TABLESPACE, STORAGE, CACHE/LOGGING
 の情報をそれぞれ出力するか指定します。
 この設定は、TABLE, INDEX, CLUSTER, SNAPSHOT, SNAPSHOT LOGの
 各オブジェクトに有効です。

■ ビュースクリプト出力時項目名を出力する
 ビューオブジェクトのスクリプトに項目名を付加するか否かを指定します。

■ ビュースクリプト出力時FORCEオプションを付加する
 ビューオブジェクトのスクリプトにFORCEオプションを付加するか否かを指定します。

■ オブジェクト権限を出力する
 各スクリプトの最後に、オブジェクト権限付与のGRANT文を出力します。
 GRANT文の出力先には次の中から選択可能です。
  ・オブジェクトのスクリプト自身に付加
  ・別フォルダに出力(GRANTというフォルダ名に同一のファイル名で作成)
  ・別ファイルに出力(_GRANT.SQLというファイル名で作成)

■ 空白行を出力しない
 出力したスクリプトから空白行を取り除きます。
 SI Object Browser以外のツール(例えばSQL*PLUS)の中には、空白行までを一文とみなして
 スクリプト実行をするものがありますが、それらを使ってスクリプトを実行する場合は、
 ここをチェックしてスクリプトを生成します。

3 - 4 - 3 定義情報をEXCEL出力する

メニューより[レポート出力]を選択した場合、
[オブジェクト一覧表][テーブル定義書][ビュー定義書]
及びユーザーがカスタマイズした定義書をEXCELファイルとして出力する事ができます。

出力するレポートは、「レポート定義の登録」で登録されたものが選択可能です。

[オブジェクト一覧表]
 選択したオブジェクトをタイプ別に一覧形式にまとめたものを作成します。

[オブジェクト定義書]
 選択した TABLEオブジェクトの項目説明を作成します。

[ビュー定義書]
 選択したVIEWオブジェクトの項目説明を作成します。

3 - 4 - 4 クロスリファレンス

メニューより[クロスリファレンス]を行った場合、指定したオブジェクトと
他のオブジェクトとの関連情報が表示されます。

画面左側には、指定したオブジェクトが呼び出しているオブジェクトが一覧表示され、
画面右側には、指定したオブジェクトが呼ばれているオブジェクトが表示されます。


それぞれのオブジェクトを選択し[開く]ボタンを押下、またはダブルクリックすると、
定義情報ウィンドウが表示されます。
画面右側には、指定したオブジェクトが呼ばれているオブジェクトが表示されます。

【 参照 】【 被参照 】の横にあるツールボタンは、それぞれのオブジェクトを
クロスリファレンス図に表示するか否かを指定します。

3 - 4 - 5 マトリックス表

メニューより[マトリックス表]を行った場合、指定したオブジェクトの相関図を表示します。



[OBJECT\被参照]タブ
 縦方向にオブジェクトリストで選択したオブジェクト、
 横方向にはそれらを呼び出しているオブジェクトを表示します。

[OBJECT\参照]タブ
 横方向にオブジェクトリストで選択したオブジェクト、
 縦方向にはそれらが呼び出しているオブジェクトを表示します。

[項目\表]タブ
 横方向にオブジェクトリストで選択したオブジェクト(テーブル、ビュー)、縦方向には項目一覧を表示し、
 通常項目には「○」、主キー項目には「◎」を表示します。
 主に同一項目名で属性が一致しているかどうかを確認する為に使用します。

また、画面上段に表示されているツールボタンは、それぞれ次の機能があります。

[EXCEL出力]
 表示されているマトリックス表を、EXCELファイルに出力します。

[クリップボード出力]
 表示されているマトリックス表を、クリップボードにコピーします。

3 - 4 - 6 権限付与

メニューより[権限]を行った場合、指定したオブジェクトの権限情報を表示します。
複数オブジェクトを選択した場合は、まとめて表示・変更ができます。



画面上段は権限の変更部、画面下段は、指定したオブジェクトに今現在付与されている権限が表示されます。

権限を変更するには、まず、権限を付与したいユーザーまたはロールをユーザー一覧から選択します。
その後、右側の権限一覧のチェックボックスをON,OFFし、[実行]ボタンを押します。

画面上段にある[実行されるSQLを表示する]を押すと、[実行]ボタン押下時に実行されるGRANT/REVOKE文を確認する事が出来ます。

3 - 4 - 7 統計情報

メニューより[統計情報]を行った場合、指定したオブジェクトの統計情報設定画面を表示します。
この画面より、統計情報の取得、削除等を行う事ができます。



■正確な統計を収集する
 指定したテーブル、インデックス、クラスタ中の全データを対象に統計情報を収集します。

■推定の統計を収集する
 指定したテーブル、インデックス、クラスタ中の一部のデータを対象に統計情報を収集します。
 対象データ数は全体の比率で指定します。

■統計情報を削除する
 収集した統計情報を削除します。

■構造チェックを行う
 指定したオブジェクトの構造を検証します。

■移行行・連鎖行を表示する
 指定したオブジェクトの行連鎖をチェックします。

3 - 4 - 8 コメントチェック

メニューより[コメントチェック]を選択した場合、選択したプログラムのコメント行を一覧表示します。
不要なコメントの消し忘れなどを簡単にすることができます。
各行をダブルクリックまたは右クリック→ソース表示ボタンを選択することで、
該当の行に行ジャンプを行うことも可能です。


3 - 5 SQL実行

[表示]メニューの[SQL実行]をクリックするか、ツールバーの[SQL]ボタンをクリックすると
SQL実行ウィンドウが表示されます。SQLを入力し、実行することが可能です。
複数のSQLを同時に実行する場合は各SQLをスラッシュ行で区切り、実行してください。
※バインド変数指定時にマルチバイトとシングルバイトの文字の混在は非推奨です。

■ 結果表示モード


■ 実行計画モード


■ 基本機能
ウィンドウ上段に並ぶツールボタンは、それぞれ次のような機能があります。
[実行] [結果]タブが表示されている場合は、入力したSQL文を実行します。
[実行計画]タブが表示されている場合は、入力したSQL文の実行計画を
表示します。
[前] 過去に入力したSQL文で、現在表示されているSQL文よりも
古い履歴を呼び出します。
[次] 過去に入力したSQL文で、現在表示されているSQL文よりも
新しい履歴を呼び出します。
[履歴] 過去に実行したSQL文の履歴を表示し、SQL実行画面に出力が可能です。
履歴数はオプションの[SQL実行]タブのSQL履歴数にて管理できます。
また、履歴をお気に入りに登録する事で、頻繁に利用するSQL文をすぐに呼び出すことができます。
[終了] ウインドウを閉じます。
[SQL文を読み込む] 指定したファイル中にあるSQL文を画面に表示します。
(エクスプローラから任意のファイルをドラッグ&ドロップしても
同様の結果になります。)
[SQLビルダ] GUIによりSQLを作成します。
[実行計画] このボタンが押されている状態で[実行]ボタンを押した場合は、
SQLの実行計画が表示されます。

実行計画表示の場合、画面中段にはSQL文実行時に発生するI/O情報が、
画面下段にはSQL文の実行計画が階層表示されます。
また、コストベースの場合は実行コストも表示されます。

この結果を元に、予想したインデックスが使用されているか、
テーブルの連結順序が適当か、ソートは効率よく行われているか等を
判断する事ができます。

ウィンドウ左側にあるツールボタンはそれぞれ次の機能があります。
デフォルトではどちらもON の状態になっています。
[統計情報] 統計情報を表示します。
[実行計画] 実行計画を表示します。
[SQL*Plus呼出] 記述されているSQLをSQL*Plusを呼び出して実行します。
何も記述がない場合は、SQL*Plusが見実行の状態で呼び出されます。
[結果を閉じる] SQL実行結果部分の表示の切り替えを行います。
実行結果部分が非表示の時は実行結果部分を表示し、
実行結果部分が表示されている時は実行結果部分を非表示にします。
[データベース] SQL文を実行するデータベースをリストより選択します。


■ [結果] タブ
 ウィンドウ上段に入力したSQL文を実行します。
 SELECT文の場合はウィンドウ下段に結果データが表示されます。
 また[結果を編集可能にする]がチェック状態の場合はデータを変更する事で、
 直接テーブル中のデータを変更する事ができます。
 (行を特定できないSELECT文の場合は編集状態になりません)
 
 修正したデータは行移動時に自動的にCOMMITされます。
 
 その他のDML文については、実行時に対象となったレコード行数を表示します。
 
 画面上段に入力するSQL文はスラッシュ(/)で区切る事で複数文入力する事が出来ます。
 ただしSELECT文を複数指定した場合は最後のSELECT文のみを結果表示します。

ウインドウ左側に並ぶツールボタンは、それぞれ次のような機能があります。

[結果を編集可能にする] 表示されたデータが編集可能か否かを指定します。
編集が必要ない場合はこのボタンをOFF にすると反応が良くなります。
オプション設定により初期状態の設定も可能です。
[出力方向変更] データを横方向または縦方向に表示します。
[結果をEXCELファイル
  に出力する]
表示されているデータの全てをEXCELファイルに出力します。
オプション設定により出力方法の変更が可能です。
[結果をクリップボード
  に出力する]
表示されているデータの全てをクリップボードに出力します。
オプション設定により出力方法の変更が可能です。
[結果をCSVファイル
  に出力する]
表示されているデータの全てをCSVファイルに出力します。
オプション設定により出力方法の変更が可能です。
LOB型データは空データとして出力されます。
[レコードの挿入] データを挿入する為の空白行を作成します。
[レコードの削除] 現在位置のレコードを削除します。

■ エディタ機能(上部アイコンボタン)
エディタ部分に並ぶツールボタンは、それぞれ次のような機能があります。
[SQL文を保存する] 現在入力中のSQL文をファイルに保存します。
[元に戻す] エディタ上での操作を元に戻します。
[やり直し] エディタ上での操作をやり直します。
[検索] 文字列検索用のダイアログを開きます。
[次を検索] 「検索」で指定した条件で、カーソル位置より後ろを検索します。
[前を検索] 「検索」で指定した条件で、カーソル位置より前を検索します。
[置換] 文字列置換用のダイアログを開きます。
文字列の置換を行います。
[検索クリア] 「検索」で指定した条件をクリアします。
[行ジャンプ] エディタ上の指定した行へ移動します。
[大文字に変換] 範囲選択された文字列を大文字に変換します。
[小文字に変換] 範囲選択された文字列を小文字に変換します。
[全角に変換] 範囲選択された文字列を全角に変換します。
[半角に変換] 範囲選択された文字列を半角に変換します。
[インデント] 範囲選択された行をインデントします。
[逆インデント] 範囲選択された行のインデントを戻します。
[コメント挿入/削除] 範囲選択された行にコメントの挿入/削除を行います。
[SQL整形] 範囲選択された部分を整形します。
[マクロ記録開始]
[マクロ記録終了]
エディタ上でのユーザの操作をマクロとして記録します。
マクロ記録中の場合は記録を終了します。
[キーマクロ実行] 記録したマクロを実行します。
[キーマクロの保存] 記録したマクロを保存します。
[キーマクロを開く] 保存したマクロを開きます。
[定義情報ジャンプ] 範囲選択されたオブジェクトの定義情報画面を開きます。
[表・列] 範囲選択されたオブジェクトで表・列画面を開きます。
[SQLテンプレート] 範囲選択された単語でSQLテンプレートを開きます。
[エディタオプション] エディタオプション画面を開きます。

■ エディタ機能(ツールパレット - オブジェクトリスト)


ドラッグアンドドロップでオブジェクト名をエディタ部分に記述するオブジェクトツリーです。
選択(Ctrlキー選択、Shiftキー選択)を行い、記述したい部分にドラッグアンドドロップが出来ます。
Enterキー押下した場合はエディタ上のキャレット位置にテキストが記述されます。
右クリックメニューからオブジェクトの定義情報も開けます。


■ エディタ機能(ツールパレット - 逆引き検索)


子オブジェクト名から親オブジェクトを検索できる機能です。
列名からテーブル名や、シノニム名から参照先オブジェクト名をリストアップいたします。
また、ドラッグアンドドロップ・EnterキーでSQLに記入することが出来ます。

画像では「EMP_CODE」列が12個のテーブルで使用されていることが分かります。
更に調べる場合は右クリックメニューでそのテーブルの定義情報を開くこともできます。


■ エディタ機能(ツールパレット - SQLのプログラムソース化)


SQLをプログラムソースに記載できる形にする機能を実装しました。
ルールに沿って文字列記号等を付加してクリップボードに出力します。
[SQLに戻す]でプログラムソースから元のSQLへ変更することも可能です。
また、カスタムしたルールを登録することも可能です。

<画像の設定ではクリップボードに下記が出力されます>
 sb.Append("SELECT * FROM DUAL");

3 - 6 スクリプト実行

[表示]メニューの[スクリプト実行]をクリックするか、ツールバーの[スクリプト]ボタンをクリックすると
スクリプト実行ウィンドウが表示されます。



このウィンドウは、SQL実行ウィンドウと違い、データベースオブジェクトの一括作成等
スクリプトを連続で実行する事を目的としたウィンドウです。

画面右上に表示されるスクリプトの一覧から、目的のスクリプトをダブルクリックするか、
選択後[<<]ボタンをクリックすると、画面左上に選択したスクリプト名が表示されます。
これが実行予定のスクリプトの一覧となり、[ 実行]ボタンをクリックすると、連続で実行されます。
実行結果は画面下部の結果ログに表示されます。
スクリプトの選択には、エクスプローラからのドラッグ&ドロップにも対応しています。

また、実行予定スクリプトをダブルクリックすると、関連付けられたアプリケーションが起動しますので、
スクリプトファイルにエディタ等を関連付けておけば、ここでスクリプトの内容を確認したり
編集したりできるようになります。

ウィンドウ上段のツールボタンは、それぞれ次のような機能があります。

[実行]
 選択したスクリプトを実行します。
 実行時に表示されるダイアログにより、次のオプションが指定可能です。


 ■正常終了したスクリプトをリストから削除する
  結果的にエラーが発生したスクリプトだけがリストに残るので、
  必要最小限のスクリプトを再実行する事が出来ます。

 ■エラーが発生した時点で処理を中断する
  主従関係のあるスクリプト等、最初のスクリプトがエラーの場合は以降のスクリプトが
  確実にエラーになる場合にチェックしておくと、無駄な実行を行いません。


[終了]
 ウインドウを閉じます。

[上に移動]
 選択したスクリプトをリスト上部に移動します。

[下に移動]
 選択したスクリプトをリスト下部に移動します。

[削除]
 選択したスクリプトをリストから削除します。

3 - 7 表・列

[表示]メニューの[表・列]をクリックするか、ツールバーの[表・列]ボタンをクリックすると
テーブル及びその項目の一覧ウィンドウが表示されます。



ウィンドウの左側には参照可能な表、ビュー、シノニムオブジェクトが一覧表示されます。
(ウィンドウ上段のツールボタンで特定のオブジェクトタイプのみ出力する事も可能)

ウィンドウの右側には、選択したオブジェクトの項目名と属性、主キー情報が一覧表示されます。
(複数選択も可能です。)

ここで特定の項目を選択し、[コピー]ボタンで情報をコピーする事で、
SQL実行ウィンドウやプロシージャのソース編集においてテーブル名や項目名を
キーボードから入力する手間を省けます。

また、[コピー]ボタンのプルダウンメニューにより、通常のコピーとは別に
SELECT文、INSERT文、UPDATE文のコピーが出来ます。

複数のオブジェクトを選択してコピーを行った場合は別名の指定ダイアログボックスが表示され、
オブジェクトの別名を指定することができます。

3 - 8 SQLテンプレート

[表示]メニューの[SQLテンプレート]をクリックすると、ORACLE のコマンドや
関数の簡易マニュアルが表示されます。



画面上段の [Ver.] には、対象となる Oracle のバージョンを指定します。
その下にある[検索]テキストボックスに文字列を指定すると、その文字列を
説明に含んだSQLコマンドや関数だけを抽出することができます。

3 - 9 SQLキャッチ

データベースに対して発行された生SQLをキャッチし、SQL実行画面にペーストできる機能です。
繁雑なトレース情報からSQL文を抽出し、経過時間、CPU時間などの並び順で一覧表示します。
対象となるSQLはセッション単位に指定でき、同一SQLは1つにまとめることも可能です。
キャッチしたSQLをダブルクリックするとSQL実行画面にペーストされ、実行計画を確認できます。
ボトルネックになっているSQL文の検出およびSQLチューニング作業を支援することができます。

※Amazon RDS では SYSDBA権限 を付与できないためトレースは使用できません。


@[開始]ボタンを押し、データベーストレース/セッショントレースの開始を行います。
Aトレース開始後、ORACLE は SQL が実行される度にその内容を
 トレースファイルに書き出すようになります。
B[表示]ボタンを押すと、SI Object Browser は ORACLE が発行した
 トレースファイルの内容SQL文のみを抽出し、整形結果を画面下段に表示します。
 (初回実行時はトレースログのフォルダ選択が必要になります→後述)
Cトレースを終了する場合は、[停止]ボタンを押してトレースを終了できます。

手順Bについてはトレースファイルが有効な間は何度でも実行できます。
また、トレースログ自体はトレース終了後にも残りますので、トレースを終了させた後でも
情報の表示は可能です。



画面上段のボタンを押し、開始するセッションを選択します。



開始ボタン押下


個別にセッションを開始してトレースログを取得したい場合は、開始ボタン押下時に表示される
ウィンドウにてセッションを選択して「開始」を押します。
同様の操作で、セッションを停止する時は停止ボタンを押します。

取得したトレースを表示する場合は「表示」ボタンを押します。


初回実行時や、トレースログフォルダが見つからない場合、SI Object Browser は
トレースログの格納先を指定するダイアログを表示します。
トレースログの格納場所は実行環境により指定する手順が異なりますので注意して下さい。

@ORACLE サーバーと SI Object Browser が同一マシン上で動作している場合
1. Oracle 12c 以降をご利用の場合
SQL実行画面を開き、下記のSQLを実行してください。1件の結果が表示されます。

SELECT p.tracefile FROM v$session s JOIN v$process p ON s.paddr = p.addr WHERE s.sid = SYS_CONTEXT('userenv','sid')

結果として出力されたファイルパス (例 C:\APP\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_ora_xx.trc) がトレースログファイルのパスですので、このファイルが含まれるフォルダをトレースログフォルダに指定します。
(コンテナDBとそれに対応するプラガブルDBのトレースログファイルは、同一のフォルダに出力されます)

2. Oracle 11g 以前をご利用の場合
データベース情報画面の[初期化パラメータ]タブにある USER_DUMP_DEST の値がトレースログフォルダとなりますので、その場所を指定します。

AORACLE サーバーと SI Object Browserが別マシン上で動作している場合
まずはケース@と同様の方法でトレースログフォルダを確認します。
次にこのフォルダを、SI Object Browser が動作しているマシン(以下クライアント)にネットワーク共有可能かどうかを検討します。
可能であれば、サーバー側で該当フォルダをネットワーク共有状態にし、クライアント側からみたサーバー上の共有フォルダ位置をトレースログフォルダとして指定します。

共有が難しいようでしたら、データのリアルタイム性は損なわれますが、トレースログフォルダにはクライアント上の適当なフォルダを指定し、
必要に応じてサーバーのログをそのフォルダにコピーすることでSQLキャッチを実行することができます。

※ORACLEサーバーの OS が Windows では無い場合
手順自体はケースAと同様ですが、さらに文字コード変換の手順が必要になります。
サーバー側に生成されるトレースログが SJIS 以外の文字コードでしたら、SI Object Browser がログを読み込む際に SJIS コードに変換して下さい。
(SQL文に2バイトコードを使用しない場合は特に問題ありません)



SQLキャッチ結果画面


結果リストの各項目は次のような値となります。

SID SQLを実行したセッションIDを表示します。
[同一SQLの結果をまとめる]にチェックが入っている場合、
複数セッションで実行されたSQLには「*」が表示されます。
COUNT SQLを実行した回数を表示します。
CPU SQLの解析・実行・フェッチに費やした CPU 時間を表示します。
単位は秒でミリ秒までの値が表示されます。
ELAPSED SQLの解析・実行・フェッチに費やした経過時間を表示します。
単位は秒でミリ秒までの値が表示されます。
DISK SQLの解析・実行・フェッチにより物理読込みが発生した際の
読込みブロック数を表示します。
QUERY SQLの解析・実行・フェッチにより一貫モードで読み出された
バッファ数を表示します。
CURRENT SQLの解析・実行・フェッチにより現行モードで読み出された
バッファ数を表示します。
ROWS SQLによって処理されたデータ行数を表示します。
SQL SQL文を表示します。

実行結果
ボタンを選択またはSQL文をダブルクリックすると、選択した SQL 文の実行計画を表示します。
SQL文をコピー
ボタンを選択し、選択した SQL 文をクリップボードにコピーします。
[同一SQL結果をまとめる]場合、各値には平均値がセットされます。

実行計画画面

3 - 10 テーブルアクセス表

トレース情報からSQL文を抽出し、テーブル単位にまとめて表示します。
同一SQL構文は1つにまとめることもできます。テーブルに対してインデックスを設定する際に
どのようなSQLが発行されているかを参考にできます。
また CRUD 表生成の基礎資料としてもお使いいただけます。

※Amazon RDS では SYSDBA権限 を付与できないためトレースは使用できません。

テーブルアクセス表画面


テーブルアクセス表の実行

アクセスを確認したいテーブルを左の一覧にてチェックを入れてください。

開始ボタン押下


個別にセッションを開始してトレースログを取得したい場合は、開始ボタン押下時に表示される
ウィンドウにてセッションを選択して「開始」を押します。
同様の操作で、セッションを停止する時は同様の操作で停止ボタンを押します。

取得したトレースを表示する場合は、「表示」ボタンを押します。
生成されたトレースログを表示するための参照先ディレクトリ(ログが生成された)選択します。


初回実行時や、トレースログフォルダが見つからない場合、SI Object Browser は
トレースログの格納先を指定するダイアログを表示します。
トレースログの格納場所は実行環境により指定する手順が異なりますので注意して下さい。

@ORACLE サーバーと SI Object Browser が同一マシン上で動作している場合
1. Oracle 12c 以降をご利用の場合
SQL実行画面を開き、下記のSQLを実行してください。1件の結果が表示されます。

SELECT p.tracefile FROM v$session s JOIN v$process p ON s.paddr = p.addr WHERE s.sid = SYS_CONTEXT('userenv','sid')

結果として出力されたファイルパス (例 C:\APP\ORACLE\diag\rdbms\orcl\orcl\trace\orcl_ora_xx.trc) がトレースログファイルのパスですので、このファイルが含まれるフォルダをトレースログフォルダに指定します。
(コンテナDBとそれに対応するプラガブルDBのトレースログファイルは、同一のフォルダに出力されます)

2. Oracle 11g 以前をご利用の場合
データベース情報画面の[初期化パラメータ]タブにある USER_DUMP_DEST の値がトレースログフォルダとなりますので、その場所を指定します。

AORACLE サーバーと SI Object Browserが別マシン上で動作している場合
まずはケース@と同様の方法でトレースログフォルダを確認します。
次にこのフォルダを、SI Object Browser が動作しているマシン(以下クライアント)にネットワーク共有可能かどうかを検討します。
可能であれば、サーバー側で該当フォルダをネットワーク共有状態にし、クライアント側からみたサーバー上の共有フォルダ位置をトレースログフォルダとして指定します。

共有が難しいようでしたら、データのリアルタイム性は損なわれますが、トレースログフォルダにはクライアント上の適当なフォルダを指定し、
必要に応じてサーバーのログをそのフォルダにコピーすることでSQLキャッチを実行することができます。

※ORACLEサーバーの OS が Windows では無い場合
手順自体はケースAと同様ですが、さらに文字コード変換の手順が必要になります。
サーバー側に生成されるトレースログが SJIS 以外の文字コードでしたら、SI Object Browser がログを読み込む際に SJIS コードに変換して下さい。
(SQL文に2バイトコードを使用しない場合は特に問題ありません)



※トレースフォルダを途中で変更したい場合
 「選択」ボタンを押すか
 トップメニューから[SQLキャッチ]→[トレースフォルダ選択]でフォルダの変更ができます。

テーブルアクセス表結果画面


結果リスト(右欄)の各項目は次のような値となります。
テーブル名 SQL 文中で使用しているテーブル名が表示されます。
複数のテーブルを対象とする SQL の場合は、
対象テーブルの数だけ結果が細分化されます。
C SQL 文が[テーブル名]に対して INSERT 操作を行う場合 * を表示します。
R SQL 文が[テーブル名]に対して SELECT 操作を行う場合 * を表示します。
SELECT 操作がテーブルに対して全件検索となっている場合は F を表示します。
これはインデックスが使用されていない状態です。
U SQL 文が[テーブル名]に対して UPDATE 操作を行う場合 * を表示します。
D SQL 文が[テーブル名]に対して DELETE 操作を行う場合 * を表示します。
SQL SQL 文を表示します。

実行結果を選択し、ポップアップメニューを表示させることで、
その SQL 文に対する詳細情報が確認できます。

3 - 11 ユーザー定義コマンド

使用者が独自のSQL文を登録し、SI Object Browser の機能を拡張する画面です。
例えば、テーブルのデータを全部削除したい場合、この画面で

TRUNCATE TABLE &OWNER.&NAME

というSQL文を登録する事で、オブジェクトリストから目的のテーブルを選び、
ポップアップメニューからSQL文を選ぶとデータを削除する事ができます。



SQL文を登録するには、まず、画面上段左側の一覧の任意の場所を選択して下さい。
その次に画面上段右側にある[名前]テキストボックスを入れて下さい。
この名前がポップアップメニュー上に表示されます。
ショートカットを使用する場合は、ショートカットのテキストボックスを選択し、
ショートカットにするキーを実際に押すことによって
テキストボックスにショートカットが表示されます。

その下にあるチェックボックスは、それぞれ次の意味があります。

■実行時に確認画面を表示する
 チェックすると処理を開始する際に確認ダイアログが表示されます。

■SQL実行画面を使用する
 チェックすると、実行結果が表示されるようになります。
 SELECT文などを登録する場合に使用します。

■エラーを無視する
 複数オブジェクトを対象とした処理の場合、エラー発生時に
 処理を中断するか否かを指定します。

最後に画面下段にSQL文を入力します。
オブジェクトリストの情報を取り込むには、擬似バインド変数を利用します。
(厳密にはバインド変数とは異なります)

利用可能擬似バインド変数一覧
&0又は&NAME オブジェクト名を返します。
&1又は&OWNER オブジェクトのスキーマを返します。
&2又は&TYPE オブジェクトのタイプを返します。
&3〜 オブジェクトリストの列番号に応じた値を返します。
3が一番左端の列(オブジェクト名)の値となります。

最後に[作成]ボタンをクリックし、保存します。

※ 主な使用例
 ■テーブルデータを初期化する
  TRUNCATE TABLE &OWNER.&NAME

 ■バックアップテーブルを作成する
  CREATE TABLE &OWNER.&NAME_BK AS SELECT * FROM &OWNER.&NAME

3 - 12 オプション設定

オプション設定で、 SI Object Browserを利用者の使いやすいようにカスタマイズする事ができます。



[オブジェクトリスト]タブ

 ■ ツリー順序
  ツリーの表示順序を指定します。
  初期値は[ユーザー>オブジェクトタイプ順]ですが、例えばデータベース中の
  全テーブルの保守作業の場合は、[オブジェクトタイプ>ユーザー順]の方が使いやすいでしょう。
  (オブジェクトリストのツールボタン上にも同様の設定があります。)

 ■ 表示するオブジェクトタイプ
  通常は使用しないオブジェクトタイプがある場合、ここでチェックを外しておくと
  ツリー表示に出てこなくなり、ユーザーの一覧性があがります。

 ■接続ユーザーを一番最初に表示する
  接続ユーザーをツリーリスト上で一番最初に表示するようにします。
  ユーザー数が多い場合にチェックすると便利です。

 ■ オブジェクト固有の詳細情報を表示する
  オブジェクトリストの表示情報を変更します。

 ■ 一覧表示中の途中経過を表示する
  チェックを入れると、オブジェクト一覧を逐次再描画を行いながら表示していきます。
  チェックを外すと、全てのオブジェクト情報を取得するまでリストの描画は行わなくなりますが、
  その分処理速度が向上します。

 ■ オブジェクト選択時、行全体を反転する
  オブジェクトリストでオブジェクトを選択した場合、名前のみを反転させるか
  行全体を反転させるかを指定します。

 ■ オブジェクト一括削除時のエラーを無視する
  オブジェクトリストから複数オブジェクトを削除する際、エラー発生時に処理を中断するか
  エラーを無視して次のオブジェクトを削除するかを選択します。
  (削除時のダイアログボックスにも同様の設定があります)

 ■ 絞り込み検索機能を表示する
  オブジェクトリストの上段に[絞込検索]の項目を表示するか否かを指定します。
  同時に、指定した値で総称検索を行うかどうかを指定します。

 ■ 総称検索を行う(LIKE '%検索値%')
  絞込み検索機能を有効にした場合、指定した値で総称検索を行うかどうかを指定します。




[定義情報]タブ

 ■ 初期表示タブ
  オブジェクトを開いた時に、最初に表示されるタブを指定します。

 ■ 定義変更時に実行されるDDL文を表示する
  [作成]ボタン押下時に実行されるDDL文を画面に表示します。

 ■ 定義変更時にエラーが発生しなかった場合自動でDDL実行画面を閉じる
  各画面で[作成]ボタンを押すと、実行した DDL 文とその結果をログ表示しますが、
  全ての DDL 文が正常終了した場合は自動でログ表示画面を閉じるか否かを指定します。

 ■ テーブル再作成時に、データ退避テーブルを作成する
  テーブルの定義を変更する時、変更内容によっては DROP TABLE/CREATE TABLE 文を使用して
  テーブルを再作成する事がありますが、その際に既存データを退避するテーブルを
  作成するか否かを指定します。
  ただし、テーブルのソースを直接編集した場合は、データの退避は行われますが、
  変更後のテーブルへのデータ復旧は行われません。
  データを退避したテーブルは、全ての変更作業が正常に終了した場合には自動削除されますが、
  変更作業時にエラーが発生した場合には自動削除は行われませんので、
  必要に応じて手動で削除して下さい。
  チェックを外すと、テーブルを再作成時にデータの退避・復旧は一切行われなくなります。

 ■ テーブル再作成時の DROP TABLE 文に PURGE オプションを付加する
  テーブルの定義を変更する時、変更内容によっては DROP TABLE/CREATE TABLE 文を使用して
  テーブルを再作成する事がありますが、その際に発行する DROP TABLE 文に
  PURGE オプションを付加するか否かを指定します。
  このオプションは、ORACLE 10g 以降のデータベースバージョンで有効になります。

 ■ SQL文に領域情報を含める
  テーブル、インデックス、制約、マテリアライズドビュー等のオブジェクトにおいて、
  ソースに領域情報を出力するか否かを指定します。

 ■ SQL文に項目名を出力する(VIEW)
  ビューのソース表示時、ビュー項目名を出力するか否かを指定します。

 ■ 変更前のソースを保存する
  オブジェクト定義を変更する際、変更前の DDL スクリプトをファイルに出力するか否かを指定します。

 ■ 変更後のソースを保存する
  オブジェクト定義を変更する際、変更後の DDL スクリプトをファイルに出力するか否かを指定します。




[SQL実行]タブ

 ■ SQL履歴数
  [SQL実行]画面での、実行したSQL文の履歴をどれだけ持つかを指定します。

 ■ 文字選択された範囲のSQLのみを実行する
  SQL実行画面にて文字の範囲選択をしている状態で実行した場合、
  選択している部分のSQLのみを実行するか否かを指定します。

 ■ SQL*Plusコマンド
  SQL*Plus呼び出し時、同時に実行されるSQLやコマンドを記述します。



[データ]タブ

 ■ 結果表示
  SQL実行、テーブル、ビュー、マテリアライズドビューデータ出力時のフォント名と
  フォントサイズを指定します。

 ■ 横方向出力時の表示方法
  データを横方向に出力した場合、データを列のどちら側に寄せるかを指定します。
  標準を指定した場合は、文字は左、数値は右に寄ります。

 ■ 縦方向出力時の最大列幅
  データを縦方向に出力した場合の、最大列幅を文字数で指定します。
  通常、列幅はデータ型のサイズを元に自動設定されますが、
  サイズが大きくなると画面に入りきらない場合もある為、
  ここであらかじめ列幅の上限を決めておきます。
  データ表示後には、このサイズを超えて列幅を広げる事も可能です。

 ■ 横方向出力時の列幅
  データを横方向に出力した場合のデフォルトの列幅をポイントで指定します。

 ■ 100列以上表示する際に列幅調整を行う
  100列以上表示する際に列幅調整を有効にします。
  ただし、列数に応じて表示までの時間が長くなります。

 ■ 件数を指定して開く場合の規定レコード件数
  オブジェクトをデータ件数を指定して開く場合の初期値を設定します。

 ■ データ編集時に自動的にCOMMITを行う
  通常は行移動に変更した値が自動COMMITされるのですが、
  これをチェックすると任意のタイミングでCOMMIT/ROLLBACKする事ができます。

 ■ 初期状態をデータ編集可能にする
  SELECT文実行時、データ編集可能モードでカーソルをオープンしようとします。
  ([SQL実行]画面の[結果を編集可能にする]ボタンと同様の機能です)

 ■ NULL値を表示する
  これにチェックを入れるとデータグリッドが一行ごとに色分けされます。

 ■ グリッドを一行ごとに色分けする
  これにチェックを入れるとNULL値を(NULL)と表示します。
  チェックを入れないと、結果にはブランクが表示されます。

 ■ 抽出条件・ソート順序設定画面を予め開いておく
  テーブル、ビュー、マテリアライズドビューの[データ]タブにて、
  抽出条件・ソート順序設定画面を開いた状態にするか否かを指定します。
  ([データ]タブの[表示項目の指定]ボタンと同様の機能です)

 ■ 抽出条件に文字列を指定した際、シングルクォーテーションを自動付加する
  テーブル、ビュー、マテリアライズドビューの[データ]タブにて、
  抽出条件に文字列を指定した際、データ型が文字型の場合は
  シングルクォーテーションを自動付加するか否かを指定します。

 ■ 表示書式
  日付、時刻の書式を指定します。
  テーブルデータタブではDATE型は日付書式/時刻書式が反映され、
  TIMESTAMP型は日付書式のみ反映され、時刻は「HH24:MI:SS.FF」固定で反映されます。
  SQL実行画面ではDATE型/TIMESTAMP型ともに日付書式/時刻書式が反映されますが、
  ミリ秒には未対応です。
  [NLS_DATE_FORMAT 設定]を「設定しない」以外にした場合は
  起動時にALTER SESSION コマンドを実行し、NLS_DATE_FORMAT を変更します。

 ■ NLS_DATE_FORMAT設定
  [表示書式]で指定した書式を、データベースログオン時に NLS_DATE_FORMAT に
  セットするか否かを指定します。



[キー操作]タブ

 デフォルトのショートカットキーを任意のキー割り当てに変更します。



[外部出力]タブ
ファイル入出力
デフォルトの出力先 テーブル、ビュー等の各種情報画面から、ソースファイルを保存する際に使用するデフォルトのフォルダを指定します。
テキストファイルの形式 SI Object Browserで入出力するテキストファイルのキャラクタセットを指定します。
EXCEL出力 Microsoft Excel を使用した定義書の出力や SELECT 文の結果出力に関する設定を行います
デフォルトの出力先 Excelファイルを出力するデフォルトのフォルダを指定します。
出力方向 データを縦方向に出力するか横方向に出力するかを指定します。
列タイトル出力 項目タイトル込みでEXCELファイルに出力するか否かを指定します。 定形フォームファイルに上書きする場合等の項目タイトルの出力が必要ない場合はOFFにします。
最新のデータを読み直してから出力する EXCEL出力時にSELECT 文を再度実行し、最新のデータを出力対象にします。
標準ダイアログを使用する EXCEL出力時に表示されるダイアログを、WINDOWS標準のダイアログにするか、専用のダイアログにするかを指定します。 専用ダイアログの場合は、ファイル名と同時に各自設定の変更が可能です。 その都度設定を変える事が無い場合はWINDOWS標準のダイアログを使用したほうが便利です。
フォームファイル名 各種のEXCEL出力で使用する元ファイルの名前を指定します。 この値を変更することで独自のフォーマットに出力する事が可能です。 (通常は変更しないで下さい)
クリップボード出力 テーブルの結果をクリップボードに転送する際の、項目タイトルの出力有無と区切り文字を指定します。
出力時に確認ダイアログを
表示する
出力時に確認ダイアログを表示するか否かを指定します。
完了時にダイアログを
表示する
出力完了時にダイアログを表示するか否かを指定します。




[詳細設定]タブ

 ■ クロスリファレンス最大階層
  [クロスリファレンス]画面での、ツリー情報の最大階層を指定します。
  値が大きいほうが精度の高い結果となりますが、その分処理時間がかかります。

 ■ データ生成ツールコミット件数
  [データ生成ツール]の実行時に何件ごとにコミットするかを指定します。

 ■ DBMS_OUTPUTバッファ
  [ストアドプログラム実行]画面での、DBMS_OUTPUTバッファのサイズを指定します。

 ■ INDEXの断片化解消閾値設定
  INDEXの断片化解消時の閾値(目安)を設定します。設定された数値を超えるとグラフが赤く表示されます。

 ■ 実行計画用テーブル名
  [SQL実行]画面での、実行計画出力の為のテーブルがどこにあるかを指定します。

 ■ 実行計画用ステートメントID
  通常は変更する必要はありません。

 ■ ORACLE_HOME
  SI Object Browser が ORACLE_HOME の位置を特定できない場合に使用します。
  通常は変更する必要はありません。

 ■ SQL*Plus
  使用するSQL*Plusを指定します。通常は自動で設定されます。コマンドタイプが優先されます。

 ■ 小文字を含むユーザー名のログインを可能にする
  小文字が含まれたユーザーに対してログインを可能とします。
  このオプションがONの場合、大文字小文字を区別しないログインはできなくなります。

 ■ 英小文字のオブジェクト名を使用可能にする
  オブジェクト名やテーブル列名等で英小文字を入力可能にし、
  入力した内容のままオブジェクトを作成します。

 ■ デバッグ実行時に再コンパイルの確認ダイアログを表示する
  デバッグ実行時に再コンパイルを行うか否かを指定するダイアログボックスを表示します。
  再コンパイルを行う事で生成されるデバッグ情報により、変数参照等を可能にします。

 ■ デバッグ実行時に再コンパイルを行いデバッグ情報を生成する
  デバッグ情報を生成する為に、デバッグ実行の度に再コンパイルを行うか否かを指定します。
  この値は確認ダイアログを表示しない場合に適用されます。
  Oracle 8.0.5以降のバージョンではこの値をチェックしても、
  デバッグ情報が存在していれば再コンパイルは行いません。

 ■ 作業ファイル作成先
  作業用ファイルを作成するディレクトリを指定します。

 *デフォルトではインストールディレクトリ以下のtempフォルダが設定されております。
 インストール時にインストールディレクトリを変更された場合は作業ファイル作成先を
 インストールディレクトリ以下のtempに再設定してください。

 ■ 自動保存
  パフォーマンス情報の自動保存を行うかどうかを指定します。
  「DB接続終了時に自動保存を行う」にした場合、データベース接続終了時に、
  自動で現在のパフォーマンス情報が保存されます。
 *ただし、DBA権限のないユーザは、保存することができません。

 ■ 自動保存間隔
  パフォーマンス情報の自動保存を行う場合、その間隔を日数で指定します。
  0を指定した場合は、毎回データベース接続終了時に保存されます。

 ■ 保存時に確認ダイアログを表示する
  パフォーマンス情報の自動保存実行時に、
  保存を行うか否かを指定するダイアログボックスを表示します。



[詳細設定2]タブ

 ■ キープアライブ
  キープアライブを実行する間隔を秒数で指定します。
  0を指定した場合、実行されません。

 ※キープアライブを有効にしても[Amazon RDS]との接続が切れる場合があります。
  切断後に自動接続されロールバックが実行されます。
  [Amazon RDS]との接続時は[データ]タブの「データ編集時に自動的に COMMIT する」を
  有効にすることを推奨します。

 ■ スタンバイモードを無効にする
  ONにするとスタンバイモードが無効になります。
  秒数指定が0の場合、スタンバイモードは無効になりません。

 ■ SI Object Browser起動時にインターネットが利用可能かどうかをチェックする
  チェックすると起動時にインターネットに接続してOBトコの更新状況を確認できます。

 ■ 所有者にログインユーザーを指定する
  ジョブ履歴画面を参照する際、所有者の初期値としてログインユーザーを指定して検索します。

 ■ ジョブ要求日時
  ジョブ履歴画面を参照する際、ジョブ要求日時の初期条件になる期間を指定します。
  ジョブ履歴画面の初期表示では、当オプションの指定期間で検索します。

 ■ 表示件数
  ジョブ履歴画面を参照する際、表示件数の初期条件になる件数を指定します。
  ジョブ履歴画面の初期表示では、当オプションの件数で履歴情報が表示されます。

 ■ Where Key Only
  テーブル、ビューなど、データグリッドでデータの更新を行う方法として、
  更新レコードの検索にキーフィールドを使用します。通常はこちらを選択してください。

 ■ Where All
  テーブル、ビューなど、データグリッドでデータの更新を行う方法として、
  更新レコードの検索にすべてのフィールドを使用します。
 ※更新レコードにCHAR型フィールドが含まれていると、連続更新ができないため
  データの再読込が必要となる場合があります。
  更新処理が極端に遅延する場合のみこちらを選択してください。

3 - 13 エディタオプション

エディタ設定で、 エディタをカスタマイズする事ができます。



[表示]タブ
 ■ フォント
  エディタのフォントサイズとフォント名を指定します。

 ■ ルーラーを表示する
  ルーラーを表示します。
  また、ルーラーを表示する場合は何文字で区切るかの指定もできます。

 ■ タブ文字幅
  TAB文字の幅を指定します。

 ■ 行番号を表示する
  編集部分の左側に行番号を表示するか否かを指定します。
  また、その表示方法も指定できます。

 ■ レイアウト
  文字の開始位置や文字の間隔を指定します。



[フォントスタイル]タブ
 ■ 色の指定
   ソース中の基本色、リテラル値、EOF記号、改行記号、半角スペース記号、全角スペース記号、
   カーソル行の下線、コメント、予約語について、色指定を行います。



[編集動作]タブ
 ■ オートインデント
  改行時に自動で前行と同じ位置になるようインデントします。

 ■ バックスペースアンインデント
  バックスペースキーでインデント解除になります。

 ■ フリーカーソル
  改行記号の後にある位置もカーソルで選択できるようになります。

 ■ タブ文字上を移動可能にする
  タブであけた間隔の間をカーソルで選択できるようになります。

 ■ 行末から次行の先頭にカーソルを移動する
  改行コード以降にカーソルを移動させると、
  次行の先頭へカーソルが移動するように設定します。

 ■ タブ文字を使ってインデントする
  インデントをタブ文字で埋めるよう設定します。

 ■ タブ文字を空白に置き換える
  タブの間隔がすべて空白文字になります。

 ■ 選択領域のマウス・ドラッグを許可
  範囲指定している文字列単位でドラッグできるようになります。

 ■ ドットを入力した際にコード補完機能を呼び出す
  ドットを入力した際にコード補完機能を呼び出します。

 ■ ドットを入力した際にコード補完の遅延表示を行う
  ドットを押下した後、指定した時間内に文字を入力するとコード補完の呼び出しをキャンセルできます。
  Ctrlキーとスペースキーにて呼び出した場合は即時表示します。

 ■ 新しい画面を開いた際はツールパレットを開いた状態にする
  新しくSQL実行画面等を開いた際にツールパレットを開いた状態にします。



[予約語]タブ
 ■ 予約語
  色指定を行う予約語を指定します。[初期値]ボタンを押すと出荷時設定に戻ります。



[SQL整形]タブ
 ■ 項目の改行
  項目を1項目ずつ改行するか、改行しないかを指定します。

 ■ カンマの位置
  カンマの位置を、各項目の後にするか、次行の先頭にするかを指定します。

 ■ ANDの位置
  ANDの位置を、各項目の後にするか、次行の先頭にするかを指定します。

 ■ 予約語の変換
  予約語の項目を大文字にするか、小文字にするか、変換しないかを選択します。

 ■ 項目の変換
  予約語以外の項目を大文字にするか、小文字にするか、変換しないかを選択します。

 ■ 予約語の位置
  予約語の位置を右詰にするか、左詰にするかを指定します。

 ■ インデント
  PL/SQLコードを整形出力する場合の、BEGIN〜END、IF〜END IFなどのブロック内で字下げされる文字数を指定します。



[キー操作]タブ
  メニューから呼び出せる各機能毎に任意のショートカットキーを割り当てる事ができます。
  項目を選択している状態で、実際に割り当てたいショートカットキーを押すことにより設定します。
  また、ショートカットキーを削除したい場合はSPACEキーで削除できます。

3 - 14 レポート定義の登録

登録済みのレポート定義を元に定義書フォーマットをカスタマイズすることができます。



[登録] レポート定義を登録します。
[追加] 新規のオリジナルフォーマットを登録できます。
[削除] 現在選択されているタブの定義書フォーマットを削除します。
[戻す] 全ての変更を取り消します。
[終了] レポート定義を終了します。
[定義タイプ] フォームファイルの定義タイプを設定します。
定義タイプは、オブジェクト一覧、テーブル定義、ビュー定義の3種類です。
(定義タイプを変更することで、見出部、明細部の表示項目の選択肢が
変わります。)
[Excel定義名] 定義名を変更します。
[フォームファイル] 出力時に使用する、Excelフォームファイルを指定します。
(事前にフォームファイルをExcelで作成する必要があります)
[明細開始位置] 明細が開始される行位置を指定します。
[明細行数] 明細の行数を指定します。

3 - 15 オブジェクト比較

異なるスキーマの所有するオブジェクトを比較することができます。



[実行]
 オブジェクト比較を実行します。

[出力]
 ボタン押下時に下記のメニューがプルダウン表示されます。
 (結果表示が完了している場合のみ有効です)

  Excel出力
  オブジェクト比較の結果を、Microsoft Excel ファイルに出力します。

  クリップボード出力
  オブジェクト比較の結果を、クリップボードに出力します。

[終了]
 ウインドウを閉じます。

[表示するオブジェクトの条件]
 表示するオブジェクトの条件を指定します。複数選択可能でOR条件です。

 ■ 内容一致
  オブジェクト名が両方に存在し、かつ定義内容が一致するものを表示させます。

 ■ 内容不一致
  オブジェクト名が両方に存在するが、定義内容は異なるものを表示させます。

 ■ 比較先1にのみ存在する
  比較先1にのみ存在するオブジェクトを表示させます。

 ■ 比較先2にのみ存在する
  比較先2にのみ存在するオブジェクトを表示させます。

[比較先1、2]

 ■ DB
  現在接続している、データベースの接続リストを選択します。

 ■ 所有者
  オブジェクトの所有者を選択します。

[オブジェクトタイプツールボタン]
 比較対象となるオブジェクトのタイプを指定します。
 全てのタイプにチェックが入っていない場合は全オブジェクトタイプが対象となります。

3 - 16 データ生成ツール

既存のテーブルに、データ生成ツールを使用してテーブルにデータを投入することができます。
※LONG型へのデータ生成は行えません。
※項目がPRIMARY KEY/UNIQUE KEYのいずれかに該当する場合、設定値「乱数値/選択値/テンプレート」は選択できません。


[実行] データ生成を実行します。
[テスト] データ生成のテストを行います。
[終了] データ生成ツールを終了します。
[スキーマ] スキーマを選択します。
[名前] テーブル名を選択します。
[通常データ生成] 通常のデータ投入方式でデータを生成します。
作成件数は、生成するデータの件数を入力します。
[親テーブルの
データに従属する
データを作成]
データを投入するテーブルが、親テーブルと従属関係にある場合、
親テーブルの1件あたりに対するデータ投入件数の範囲を指定します。
[既存データの
 UPDATE]
既存データに対してアップデートを行います。
主キーのないテーブルには行えません。
[条件指定] UPDATE対象の条件をSQL条件式で設定できます。
※WHERE句意向を記述してください。
[設定値] 連番、乱数値、選択値、固定値、テンプレート、リンクテーブル値、親テーブル値を指定することができます。
[NULL比率(%)] 投入するデータにNULL値が入る比率を指定します。


[連番(数値)]

 値をインクリメントしながら順に値を割り振ります。
 ID列など一意に番号を並べたい場合に指定します。
 値範囲には、データの初期値を入力します。
 増分値には、初期データから増分する値を入力します。


[連番(文字列)]

 テーブル項目が文字型の場合は、「全桁埋める」にチェックを入れる事で前ゼロを付加した値をセット、
 また、「接頭句をつける」にチェックを入れる事で「OB0001」などの固定値+連番データを
 生成することが可能です。


[連番(日付)]



[固定値]

 すべて同じ値を割り当てる場合、またはSELECT文やFUNCTIONを指定する場合に使います。


[乱数値(数値)]

 指定された値の範囲内でランダムに値を割り振ります。


[乱数値(文字列)]

 文字型の場合は電話番号、メールアドレスなどのフォーマットが指定可能です。
 テーブル項目が文字型の場合は、「最大桁数」にチェックを入れる事で
 指定した桁数以内の値をセットします。
  ※最長1000文字の長さのデータが作成されます。
  (テーブル定義の長さが1000を超えている場合でも作成されるデータの最長は1000文字になります。)


[乱数値(日付)]



[選択値]

 あらかじめ割り振る値の一覧を作成し、そこからランダムに割り当てることができます。


[テンプレート]

 指定されたテキストファイルから値を割り振ります。
 ファイルは一度に2つまで指定可能です。
 テンプレート1とテンプレート2の間に文字を入れたい場合は、
 区切り文字に間に入れる文字を指定します。


[リンクテーブル値]

 指定されたテーブルと列に存在する値を割り当てます。


[親テーブル値]

 親テーブルの列を指定して、その値を割り当てます。
 (「親テーブルのデータに従属するデータを作成」を選択していないと表示されません。)


[結果]タブ

 データ生成ツールの実行結果が表示されます。
 テストを実行した場合はプレビュー画面が表示されます。
 ※実行中にEscキーを押すと処理を中断し、直前のCOMMITまでROLLBACKします。

3 - 17 インデックスアドバイザ

SQLに対して使用/未使用の未使用のインデックスの検出や、推奨インデックスの作成を
行うことができます。
※この機能を使用するためには、あらかじめ実行計画テーブル(PLAN_TABLE)が
 作成されている必要があります。



SQL文を入力し、解析ボタンを押します。以下の情報が表示されます。

■現在のインデックス
 各テーブルに紐づくインデックスと、そのSQLに対する使用状況が表示されます。
 使用されていないインデックスは赤で表示されます。
 インデックスを選択し、削除ボタンを押すことでインデックスを削除することが出来ます。
 インデックスをダブルクリックすると開きます。

■作成するインデックス
 SQLに対し、作成が推奨されるインデックスが表示されます。
 既に同じ列に対して作成済みのインデックスが存在する場合は、グレーで表示されます。
 選択して作成ボタンを押すか、右クリックメニューより作成を選択することで、
 そのインデックスを作成することが可能です。



またインデックスを選択し、テストボタンを押すと、インデックス作成前と作成後の
パフォーマンスを検証することが出来ます。
(実行計画上のコストで算出します。小さいほどパフォーマンスは向上します。)

3 - 18 データベース負荷テスト

[ツール]メニューの[DB負荷テスト]をクリックすると、ORACLE データベースに
負荷をかけるための設定画面が表示されます。

任意のセッションとスクリプトを指定し、同時実行によるデータベースのパフォーマンス負荷を
測定することができます。
※ データベース負荷テストは、データベースに対してかなりの負荷を与えますので、
  他の作業へ影響を十分考慮してから使用して下さい。


[実行] テストを実行します。
実行中は[設定]タブの下部ペインに実行状況が表示されます。
下部ペインにある[中断]ボタンを押すことで処理を中断することが可能です。
実行中は処理が完了するか、[中断]ボタンを押すまでは他の操作を行うことはできません。
[出力] ボタン押下時に下記のメニューがプルダウン表示されます。

実行コマンドの
スクリプト出力
現在の実行コマンドの設定をスクリプト出力します。
(実行コマンド未設定時は使用できません)

実行結果の
EXCEL出力
テストの実行結果をファイルに出力します。
(テスト未実行時は使用できません)
[終了] 画面を閉じます。
データベース テストを実行するデータベースを選択します。

■ [設定]タブ

セッション数や、実行するSQLスクリプトなどテストに関する設定を行います。



[同時接続数] 負荷テストを実行するセッション数を指定します。
[接続間隔] 複数セッションの接続間隔をずらしたい場合は秒単位で
間隔を指定します。
0の場合は指定したセッションがすべて同時に実行されます。
[接続ユーザーID] 負荷テストを実行するユーザーIDとパスワードを指定します。
上記の同時接続数の数だけセッションが作成されます。
[現行ユーザー]を指定した場合は、SI Object Browser でログオン中のユーザーIDとパスワードを使用します。
[行の追加] 実行コマンド欄にデータを挿入する為の空白行を作成します。
[行の削除] 現在位置の実行コマンドを削除します。
[スクリプト読み込み] スクリプトファイルを読み込み、実行コマンドを設定します。
各SQLの間が/(スラッシュ)行で区切られている場合は、複数のコマンドに展開されます。
[削除] すべての実行コマンドを削除します。
[エラーを無視する] チェックを入れると、実行時にエラーが発生しても処理を続行します。
チェックを外すと、実行時にエラー発生時にエラーメッセージを表示し、処理を中断します。


■ [結果]タブ

実行後、時間単位の処理スループット・ロックの合計時間をグラフ表示します。
グラフ上では右下/左上にドラッグすることで拡大/縮小が可能です。
また、パフォーマンスに関する統計時間を表示します。



※統計情報についてはOracle10g以上の場合に表示されます。
  また、ロックの発生時間についてはSYSDBA権限がある場合のみ表示されます。