プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle JDeveloperによるアプリケーションの開発
12c (12.1.3)
E57556-02
  目次へ移動
目次

前
 
次
 

23 データベース・ツールの使用

この章では、JDeveloperでデータベースの操作と管理に使用できる各種ツールの概要を説明します。

この章の内容は次のとおりです。

23.1 「データベース」ウィンドウの使用

「データベース」ウィンドウでは、オンライン・データベースの詳細な編集環境が提供されます。「データベース」ウィンドウを使用して、データベース・オブジェクトを作成、更新および削除できます。

「データベース」ウィンドウは次のものと統合されています。

  • SQLワークシート。

  • データベース・オブジェクト・ビューア。

  • データベース・カート。

データベース接続からデータベース・ダイアグラムへデータベース・オブジェクトをドラッグして、次の操作を行うことができます。

  • ダイアグラム上でデータベース・オブジェクトをモデル化。

  • データベース・オブジェクトをプロジェクトにリバース・エンジニアリングし、ダイアグラムでオフライン・データベース・オブジェクトをモデル化。

データベース・モデリングの詳細は、第5.12項「データベース・ダイアグラムによるモデリング」を参照してください。

「データベース」ウィンドウは、初めて開いたときに、デフォルトのドッキング位置(左上隅にあり、JDeveloperのメインの作業領域に隣接している)に表示されます。同じ位置に複数のウィンドウが開いている場合は、それぞれの名前が示されたタブとともに表示されます。

「データベース」ウィンドウの最上位ノードは次のとおりです。

  • IDE接続。これらは、再利用が可能なグローバル定義の接続です。この接続は、「リソース」ウィンドウの「IDE接続」パネルにも表示されます。ここから、IDE接続を「アプリケーション」ウィンドウにコピーして、アプリケーション内で使用できます。

  • アプリケーション接続。これらは、接続ノードで指定されるアプリケーションで使用する場合に定義される接続です。

  • クラウド接続。これらは、Oracle Database Cloud Serviceインスタンスへの接続です。

「データベース」ウィンドウでノードを右クリックすると、コマンドのポップアップ・メニューが表示されます。使用可能なメニュー・コマンドは、選択しているノードによって異なります。ノードは、デフォルト・エディタで開くか、コンテキスト・メニューを使用して、そのノード・タイプに共通する他のエディタで開くことができます。

表23-1 「データベース」ウィンドウのツールバー・アイコン

アイコン 名前 機能
この図は周囲のテキストで説明しています

接続の作成

「データベース接続の作成」ウィザードを開いて、データベースへの接続を作成するための詳細を入力する場合にクリックします。

この図は周囲のテキストで説明しています

リフレッシュ

「データベース」ウィンドウの表示を接続の内容と同期化する場合にクリックします。

この図は周囲のテキストで説明しています

フィルタの適用

特定の接続について表示するオブジェクトをフィルタリングする場合にクリックします。このアイコンを有効にするには、「データベース」ウィンドウで接続内のノードを選択し、接続が確立されるまで待機します。

すべてのノードを閉じる


すべて閉じる

クリックすると、開いているノードをすべて閉じます。


「データベース」ウィンドウのポップアップ・メニューから、様々なタスクを実行できます。「IDE接続」ノード(グローバルに定義される接続の場合)か、アプリケーション名のノード(ローカルなスコープの接続で、アプリケーション内でのみ使用できる接続の場合)を右クリックし、適切なメニューを選択して次のような操作を実行します。

  • 新しいデータベース接続を作成します。

  • 接続定義を持つXMLファイルをインポートします。

  • 現在の接続をエクスポートします。

データベース接続のノードから、次の操作を実行できます。

  • データベースに接続し、接続を切断します。

  • データベース接続を削除します。

  • データベース・オブジェクトからSQLを生成します。

  • データベース・オブジェクトをオフライン・データベース・オブジェクトとしてプロジェクトにリバース・エンジニアリングします。

  • SQL*Plusを実行します。

  • 接続に表示されるオブジェクトにフィルタを適用します。

  • データベース接続のプロパティを編集します。

  • SQLワークシートを開きます。

  • DBドキュメントを生成します。

  • リモート・デバッグを行います。

  • スキーマ統計を収集します。

  • スキーマを再コンパイルします。

  • XML DBプロトコル・サーバーを構成します。

  • Java Platform Debugger Architecture (JPDA)を使用している場合には、デバッガがデバッガにアタッチできるようにデバッガでリスニングして、リモート・デバッグを実行します。

データベース・オブジェクトのタイプ別ノード(「表」、「索引」、「プロシージャ」など)から、またはデータベース・オブジェクトのノード(個々の表や特定のビュー)から使用できる追加のオプションもあります。使用可能なオプションは選択したノードによって異なります。

23.2 データベース・カートの使用

データベース・カートを使用すると、Oracle Databaseオブジェクトを、1つ以上のデータベース接続からOracle Database ServiceインスタンスまたはZIPファイルにデプロイできます。


注意:

データベース・カートを使用して、オフライン・データベース・オブジェクトの操作はできません。

次の内容をデプロイするように選択できます。

  • データベース・オブジェクトを定義するDDLのみ

  • データベース・オブジェクトと関連するデータを定義するDDL

  • Oracle Database Serviceインスタンスにすでに存在するデータベース・オブジェクトの場合はデータのみ

カートにオブジェクトを追加するには、オブジェクトを「データベース」ウィンドウからドラッグして、「データベース・カート」ウィンドウにドロップします。あるいは、以前に保存したカートの内容を使用できます。

カートから目的のオプションを指定して、次のいずれかを行います。

  • クラウドにデプロイ・ボタンをクリックして「クラウドへのオブジェクトのデプロイ」ダイアログを表示します。このダイアログで、オブジェクトのデプロイ先の接続を選択します。

  • 「デプロイ」ボタンをクリックして「オブジェクトのデプロイ」ダイアログを表示します。このダイアログで、生成するデプロイメント・ファイルの詳細を指定します。

データベース・カートを使用する前に、使用するプリファレンスが正しく設定されていることを確認します。

どのカート・タブからも、右クリックして次のオプションを選択できます。

  • 閉じる: 現在のカート・タブを閉じます。

  • その他を閉じる: 現在のカート以外のすべてのカートを閉じます。

  • すべて閉じる: すべてのカート・タブを閉じます。

  • 名前変更: 現在のカート・タブの名前を変更します(たとえば、Cart_1HR_objectsに変更する場合)。

表23-2は、「データベース・カート」ウィンドウのツールバーから実行できる操作について説明しています。

表23-2 「データベース・カート」ウィンドウのツールバー

要素 説明

新規カート


クリックすると、空の新規カートが開きます。

保存済のカートを開く


クリックすると、カートの内容を指定するXMLファイルを指定することで、保存済のカートが開きます。方法

カートに現在オブジェクトが含まれている場合は、保存したカートを開く前にカートから現在のオブジェクトを削除するかどうかを尋ねられます。

  • はい

    現在のカートを空にして、開いたカートのオブジェクトがカートに入ります。

  • いいえ

    現在のカートを空にしないまま、開いたカートから現在のカート・オブジェクトにオブジェクトを追加します。

ファイルにカートを保存


クリックすると、「カートとして保存」ダイアログが開き、このダイアログで、カートの内容をXMLファイルとして保存できます。このファイルは、後で開いて再度使用できます。

カートとして保存


クリックすると、「カートとして保存」ダイアログが開き、このダイアログで、カートの内容をXMLファイルとして保存できます。このファイルは、後で開いて再度使用できます。

すべてのカートを保存


クリックすると、現在開いているカートごとに「カートとして保存」ダイアログが開きます。

カートの左寄せ


クリックすると、カートは左に移動して前面に表示されます。

カートの右寄せ


クリックすると、カートは右に移動して前面に表示されます。

カートのリフレッシュ


クリックすると、カートがリフレッシュされ、カート内のオブジェクトが「データベース」ウィンドウのオブジェクトと照らし合せて検証されます。

クラウドへのデプロイ


クリックすると、カート内の選択済オブジェクトがOracle Database接続にデプロイされます。

「オブジェクトのデプロイ」ダイアログが開き、ここで追加情報を指定できます。

エクスポート


クリックすると、デプロイメント・ファイルが作成されます。

「オブジェクトのエクスポート」ダイアログが開き、ここで、追加オプションの指定、デプロイメント・スクリプトの生成、これらを含む.zipファイルの生成(オプション)を行うことができます。

差分


クリックすると、「差分オブジェクト」ダイアログが開きます。このダイアログを使用すると、選択済オブジェクトを、現在開いている別のカート・タブまたはデータベース接続(比較対象の宛先オブジェクトにアクセス可能)にあるオブジェクトと比較できます。

コピー


クリックすると、「オブジェクトのコピー」ダイアログが開きます。ここで、選択済オブジェクトをデータベース接続にコピーできます。


表23-3は、「選択オブジェクト」ツールバーから実行できる操作について説明しています。

表23-3 「選択オブジェクト」ツールバー

要素 説明

スクリプトの追加


クリックすると、オブジェクトの作成前に実行する初期スクリプトが追加されます。

あるいは、アイコンの横にある下矢印をクリックし、次のオプションを選択します。

  • 初期スクリプトの追加

  • 最終スクリプトの追加。オブジェクトの作成後に実行されます。

あるいは、オブジェクトの行の「スクリプト」フィールドにカーソルを移動して編集ボタンをクリックすることでスクリプト・ダイアログを開くことができます。

行の削除


クリックすると、選択した行がカートから削除されます。


最初は、データベース・オブジェクトがタイプ順に、所有者別、名前別で表示されます。シャトル・ボタンを使用して、行の並替えが可能です。表23-4は、表の内容について説明しています。

表23-4 「選択オブジェクト」表

要素 説明

含む

オブジェクトを行ごとに選択または選択解除するか、すべてのオブジェクトの列見出しで選択または選択解除します。

選択済オブジェクトがデプロイメント・アクションに含まれます。

タイプ

データベース・オブジェクトのタイプ。

所有者

データベース・オブジェクトの所有スキーマ。

名前

データベース・オブジェクトの名前。

DDL

オブジェクトを行ごとに選択または選択解除するか、すべてのオブジェクトの列見出しで選択または選択解除します。

選択済オブジェクトが、デプロイメント・アクションで生成されるDDLに含まれます。

データ

オブジェクトを行ごとに選択または選択解除するか、すべてのオブジェクトの列見出しで選択または選択解除します。データが関連付けられているオブジェクト(表やビューなど)の場合のみ、この列にエントリがあります。

選択済オブジェクトが、デプロイメント・アクションで生成されるDDLに含まれます。

WHERE

WHERE句を追加できます。適切な行のセルをクリックしてから、編集ボタンをクリックします。「データのWHERE」ダイアログが開き、ここでWHERE条件を指定できます。

接続

オブジェクトの選択元の接続。

スクリプト

必要に応じて、生成されるマスター・デプロイメント・スクリプト内で最初に(他の生成されるスクリプトの前に)実行されるSQLスクリプトを指定します。


23.3 「構造」ウィンドウの使用

「構造」ウィンドウのデータベース・ビューには、「データベース」ウィンドウで選択した接続またはデータベース・オブジェクトの詳細、あるいは「アプリケーション」ウィンドウで選択したオフライン・データベース・オブジェクトの詳細が表示されます。

オフライン・データベースの場合、「構造」ウィンドウには、表、ビュー、シノニムなどのオフライン・データベース・オブジェクトの詳細が表示されます。図23-1に示すように、「アプリケーション」ウィンドウでオブジェクトを選択すると、そのオブジェクトの詳細が「構造」ウィンドウに表示されます。

図23-1 オフライン・データベース・オブジェクトの「構造」ウィンドウのビュー

この図については周囲のテキストで説明しています。

オフライン・データベース・オブジェクトのコンテキスト・メニューから、次のアクションを実行できます。

  • 使用方法の検索

  • テンプレートとして使用

  • プロパティ

  • 宣言に移動

データベース接続からリバース・エンジニアリングされたデータベース・オブジェクトを操作する場合、「構造」ウィンドウでは、元のオブジェクトに関する情報を表示できます。たとえば、図23-2に示すように、オンライン・データベース接続からリバース・エンジニアリングされた表には、ソース・オブジェクトと使用された接続の詳細が表示されます。

図23-2 「構造」ウィンドウのリバース・エンジニアリングされたオブジェクト

この図については周囲のテキストで説明しています。

「データベース」ウィンドウのデータベース接続で表などのデータベース・オブジェクトを選択する、または「アプリケーション」ウィンドウのオフライン・データベースで表などのオフライン・データベース・オブジェクトを選択すると、そのオブジェクトのノードが「構造」ウィンドウに表示されます。ノードを展開すると、データベース・オブジェクトを構成するサブ・オブジェクトの詳細を表示できます。表の場合、列、制約、索引などのサブ・オブジェクトがこれに該当します。

「構造」ウィンドウのデータベース・ビューから、次の操作を実行できます。

  • 適切なノードのコンテキスト・メニューから「プロパティ」を選択し、プロパティを表示またはプロパティを編集(オフライン・データベース・オブジェクトの場合のみ)します。オブジェクト・タイプの「編集」ダイアログが開きます。データベース・オブジェクトの場合、これは読取り専用です。

  • コンテキスト・メニューから「テンプレートとして使用」を選択し、表などのデータベース・オブジェクトまたはオフライン・データベース・オブジェクトを新規オブジェクト作成時のテンプレートとして使用します。オブジェクト・タイプの「作成」ダイアログが開きます。

  • コンテキスト・メニューから「使用方法の検索」を選択して、表などのオフライン・データベース・オブジェクトの使用方法を検索します。

23.4 「データベース・レポート」ウィンドウの使用

「データベース・レポート」ウィンドウを使用すると、データベースとそのオブジェクトに関するレポートを表示できます。

独自のユーザー定義レポートを作成することもできます。

事前定義済のレポートを開くには、「データ・ディクショナリ・レポート」を展開して、目的のレポートにナビゲートします。レポート名をダブルクリックすると、レポートが実行されます。「レポート結果」ウィンドウ内にレポートが開かれる前に、次のダイアログが表示される場合があります。

  • 「接続の選択」ダイアログ(すべてのレポート): このダイアログでは、既存のデータベース接続を選択するか、新規のデータベース接続を作成できます。接続を選択すると、次回のレポートの実行時にも同じ接続が使用されます。

  • 「バインド値の入力」ダイアログ(「すべてのオブジェクト」レポート): このダイアログでは、各バインド変数の値を入力できます。バインド変数を使用すると、出力を制限できます。

  • 「Diagnostic Packが必要」ダイアログ(ASHレポートおよびAWRレポート):これらのレポートを実行するには、Oracle Diagnostic Packのライセンス取得済コピーがデータベース上で稼働している必要があり、このダイアログではライセンス取得済コピーを所有していることを確認できます。

独自のレポートを作成した場合は、「ユーザー定義レポート」ノードの下にあるフォルダおよびサブフォルダに格納できます。

レポートによっては実行にかなりの時間がかかる場合があります。実行時間は、含まれるオブジェクトの数と複雑性、およびデータベースへのネットワーク接続の速度に影響されます。

「データ・ディクショナリ・レポート」ノードからは、次の操作が可能です。

  • レポート名を右クリックして「エクスポート」を選択し、レポートをXMLファイルにエクスポートします。このXMLファイルは後でインポートできます。

  • エクスポートしたレポートから共有レポートを作成します。

ユーザー定義レポートとは、JDeveloperユーザーにより作成されたレポートです。

ユーザー定義レポートに関する情報(レポートが格納されているフォルダなど)は、ユーザー固有の情報ディレクトリにUserReports.xmlとして保存されます。

「ユーザー定義レポート」ノードからは、次の操作を実行できます。

  • 「ユーザー定義レポート」コンテキスト・メニューから「レポートの追加」を選択して、ユーザー定義レポートを作成します。

  • ユーザー定義レポートをフォルダごとに整理し、フォルダとサブフォルダの階層を作成します。「ユーザー定義レポート」コンテキスト・メニューから「フォルダの追加」を選択します。

  • 以前にエクスポートしたレポートをインポートします。インポートするレポートを格納するレポート・フォルダを選択し、右クリックして、「インポート」を選択します。

「共有レポート」ノードは、「プリファレンス」ダイアログで共有レポートを初めて定義した後に表示されます。

データベース・レポートの作成と共有については、第24.9項「データベース・レポートの操作」を参照してください。

23.5 「データベース・オブジェクトの検索」ウィンドウの使用

「データベース・オブジェクトの検索」ウィンドウを使用すると、稼働中のデータベース内のデータベース・オブジェクトに対する検索と操作を実行できます。

「データベース・オブジェクトの検索」ウィンドウは、SQLワークシートやデータベース・オブジェクト・ビューアなどのオンライン・データベース機能と完全に統合されています。

「データベース・オブジェクトの検索」ウィンドウの使用中には、次の機能を利用できます。

  • 「ウィンドウ」「window-name」を使用して、現在閉じているウィンドウを開くか、現在開いているウィンドウを前面に表示します。

  • 該当するタブを右クリックするか、[Alt]を押しながら[-]を押すと表示されるコンテキスト・メニューを使用して、「データベース・オブジェクトの検索」ウィンドウを移動、サイズ変更、フローティング、最小化、最大化、リストアまたは閉じます。

表23-5 「データベース・オブジェクトの検索」のツールバー

名前 機能

接続

ドロップダウン・リストから、検索する対象のデータベース接続を選択します。あらかじめデータベースに接続されている必要があります。

名前

検索語を入力します。ワイルドカード%を使用すると、一致する多数のオブジェクトが返されます。

タイプ

データベース・オブジェクトのタイプを選択して、検索の対象を制限します。デフォルトは、ALL OBJECTSです。

使用方法

特定のオブジェクト・タイプの場合のみ。オブジェクトの使用方法を選択します(ALLなど)。

参照

クリックすると検索結果が表示されます。検索の結果は、パネル内に表示されます。オブジェクトをダブルクリックすると、そのオブジェクトが適切なエディタで開かれます。


「データベース・オブジェクトの検索」ウィンドウからは、次の操作を実行できます。

  • バーをクリックして、パネルを開閉します。

  • バーを上下にドラッグして、パネルで使用する領域を変更します。

  • パネルのドロップダウン・メニュー(パネル・バーの右端)を開き、「最小化」を選択して、パネルを非表示にします。パネルを再び表示するには、「アプリケーション」ウィンドウの最下部にある3点をクリックし、「最近使用したファイル」をクリックします。

  • リストでオブジェクトを選択し、オブジェクト、または指定したオブジェクトの親オブジェクトをデフォルト・エディタで開くか、デフォルト・エディタにフォーカスを移動します。

23.6 SQLワークシートの使用

SQL文、PL/SQL文、およびSQL*Plus文を入力および実行する場合に使用します。表の作成、データの挿入、トリガーの作成と編集、表からのデータの選択、表から選択したデータのファイルへの保存など、ワークシートに関連付けられたデータベース接続によって処理可能なすべてのアクションを指定できます。

「SQL文」領域にSQL文を入力し、ツールバーのボタンを使用してアクションを実行します。

表23-6で、SQLワークシートのSQL文領域の上にあるツールバーのアイコンとフィールドについて説明します。

表23-6 「SQLワークシート」ツールバーのアイコン

アイコン 名前 機能

この図は周囲のテキストで説明しています


文の実行([Ctrl]+[Enter])

SQL文の領域でマウス・ポインタが置かれている文を実行する場合にクリックします。SQL文には、VARCHAR2型のバインド変数および置換変数を含めることができます。必要に応じて、VARCHAR2NUMBERに自動変換されます。変数値を使用する場合は、値を入力するためのウィンドウが表示されます。

この図は周囲のテキストで説明しています


スクリプトの実行([F5])

SQL文の領域にあるすべての文を実行する場合にクリックします。SQL文には、VARCHAR2型のバインド変数および置換変数を含めることができます。必要に応じて、VARCHAR2NUMBERに自動変換されます。変数値を使用する場合は、値を入力するためのウィンドウが表示されます。

この図は周囲のテキストで説明しています


自動トレース([F6])

文のトレース情報を生成する場合にクリックします。トレース情報を表示するには、「自動トレース」タブをクリックします。

この図は周囲のテキストで説明しています


SQLチューニング・アドバイザ([Ctrl]+[F12])

Oracle Database Tuning PackのSQL診断ソフトウェアであるSQLチューニング・アドバイザを実行するウィンドウを開きます。「概要」および「詳細」タブには、特定の文をチューニングする方法のアドバイスまたは推奨が理由および期待される利点とともに示されています。

この図は周囲のテキストで説明しています


実行計画([F10])

文の実行計画を生成する場合にクリックします。内部的にEXPLAIN PLAN文が生成されます。トレース情報は「実行計画の結果」ウィンドウに表示されます。

この図は周囲のテキストで説明しています


コミット([F11])

変更をデータベースに書き込む際にクリックします。これをクリックするとトランザクションが終了し、「結果」タブおよび「スクリプト出力」タブの出力がクリアされます。

この図は周囲のテキストで説明しています


ロールバック([F12])

変更をデータベースに書き込まずに破棄する場合にクリックします。これをクリックするとトランザクションが終了し、「結果」タブおよび「スクリプト出力」タブの出力がクリアされます。

この図は周囲のテキストで説明しています


非共有SQLワークシート([Ctrl]+[Shift]+[N])

別の接続で新しい非共有SQLワークシートを開く場合にクリックします。

この図は周囲のテキストで説明しています


大文字/小文字/Inicat([Ctrl]+引用符)

選択したテキストの大文字、小文字、語頭大文字を切り替えます。

この図は周囲のテキストで説明しています


クリア([Ctrl]+[D])

「Enter SQL Statement」領域にある1つまたは複数の文を削除する場合にクリックします。

この図は周囲のテキストで説明しています


取消

(スクリプトの実行中にのみ表示されます)スクリプトの実行を停止する場合にクリックします。

この図は周囲のテキストで説明しています


SQL履歴

「SQL履歴」ウィンドウ開く場合にクリックします。

この図は周囲のテキストで説明しています

(文またはスクリプトの実行後にのみ表示されます)文またはスクリプトの実行に要した時間を表示します。これを実行計画で使用すると、役に立つチューニング情報が得られます。

この図は周囲のテキストで説明しています

他のデータベース接続を選択する場合に使用します。


「結果」領域には、次のタブがあります。

  • 「結果」タブ: 「文の実行」をクリックした結果が表示されます。

  • 「スクリプトの出力」タブ: 「スクリプトの実行」をクリックした結果を表示します。

  • 「自動トレース」タブ: 「自動トレース」をクリックした結果の出力が表示されます。

  • 「説明」タブ: 「実行計画」をクリックした結果の出力が表示されます。

SQLワークシートでは、SQLコードのコード・インサイトを使用できます。単語を入力すると、有効なコードのドロップダウン・メニューが表示されます。次に例を示します。

  • selectと入力すると、SELECTが表示されます。

  • select *と入力すると、BULK、FROM、INTOを含むリストが表示されます。

  • HRスキーマに接続している場合にselect * from emと入力すると、employees表とemp_details_viewビューを含むリストが表示されます。

SQLワークシート用にコード・インサイトを設定するには、次のようにします。

  1. 「ツール」→「プリファレンス」→「コード・エディタ」→「コード・インサイト」を選択します。

  2. 「コード・インサイト」ページで、フォント・サイズとフォント・タイプ、および構文補完インサイトとパラメータ・インサイトのタイミングを調整します。

  3. 「OK」をクリックします。変更内容は、次回にエディタを使用するときに有効になります。

SQLワークシートを開くには、次のようにします。

  1. 「ウィンドウ」→「データベース」→「データベース」ウィンドウを選択します。

  2. 「IDE接続」または「アプリケーション接続」を展開します。

  3. ウィンドウで接続を右クリックして「SQLワークシートを開く」を選択します。

    または、JDeveloperツールバーで「SQLワークシート」ボタンをクリックします。

    詳細は、[F1]を押すか、SQLワークシート内で「ヘルプ」をクリックしてください。

またはメイン・ツールバーで、「接続の選択」ダイアログからデータベース接続をクリックして選択します。

表名とビュー名をドラッグ・アンド・ドロップし、クエリー・ビルダーを使用して列などの要素をグラフィカルに指定すると、SELECT文を作成できます。クエリー・ビルダー内で文を実行すると結果を表示でき、クエリー・ビルダーを閉じると生成されたSELECT文がSQLワークシートに挿入されます。

クエリー・ビルダーを使用するには、次のようにします。

  1. SQLワークシートを開きます。

  2. 「クエリー・ビルダー」タブを選択します。詳細は、[F1]を押すか、SQLワークシート内で「ヘルプ」をクリックしてください。

  3. 必要なスキーマを選択し、問合せのベースにする表をダイアログのメイン・ペインまでドラッグします。クエリー・ビルダーがデータベースに接続し、表に関する情報をロードするまで数秒間の遅延があります。

  4. 最初に、使用する文のタイプを選択するよう求められます。

  5. SQLワークシートのボタンを使用して、必要なアクション(問合せの実行など)を実行します。

SQL文を実行するには、次のようにします。

  1. ワークシートの上部ペインに、SQL文を入力します。

  2. 次のいずれかの操作を行います。

    • [Ctrl]キーを押しながら[Enter]キーを押します。

    • ツールバーの「文を実行」ボタンをクリックします。

    • 右クリックして、コンテキスト・メニューから「SQL文の実行」を選択します。

  3. 文によって返されたデータを下部ペインで確認します。

詳細は、『Oracle Database SQLJ開発者ガイド』でSQLワークシートの使用に関する項を参照してください。

23.6.1 実行計画の使用

実行計画は、文を実行するために行われる一連の操作です。SQLワークシートを使用すると、SQL SELECTUPDATEINSERTDELETEの各文に対してOracleオプティマイザで選択された実行計画をインスペクトできます。ビュー定義の問合せ部分について、SQLコードの実行計画を表示することもできます。

実行計画には、行ソース・ツリー(文を構成する操作の階層)が表示されます。各操作について、次の情報が表示されます。

  • 文によって参照される表の順序

  • 文で言及される各表へのアクセス方法

  • 文の結合操作の影響を受ける表の結合方法

  • フィルタ、ソートまたは集計などのデータ操作

行ソース・ツリーの他に、計画表には、選択した操作に関連する次の情報が表示されます。

  • 最適化。各操作のコストとカーディナリティについて。

  • パーティション化。アクセスされたパーティションのセットなど。

  • パラレル実行。結合入力の配分方法など。

詳細は、Oracle Database SQLチューニング・ガイドのEXPLAIN PLANの使用に関する項を参照してください。

SQL問合せのチューニングに使用できる情報源として、文またはスクリプトを実行したときSQLワークシートのツールバーに表示される経過時間も利用できます。

SQL文の実行計画を表示するには、次のようにします。

  1. 必要な場合には、SQLワークシートを開きます。

  2. ワークシートの上部ペインに、SQL文を入力します。

  3. 次のいずれかを実行します。

    • ツールバーの「実行計画」ボタンをクリックします。

    • 右クリックしてコンテキスト・メニューを開き、「EXPLAIN PLANの実行」を選択します。

    「実行計画」タブに、SQL文の実行計画情報が表示されます。

23.6.2 SQLワークシート履歴から文を再実行する方法

SQLワークシートを使用してセッションで実行した文は、履歴リストに保存されます。履歴から過去の文を取得して再実行したり、実行計画を表示できます。

SQLワークシート履歴から文を再実行するには、次のようにします。

  1. 次のいずれかを実行します。

    • 「SQL履歴」ボタンをクリックします。

    • SQLワークシートを右クリックしてコンテキスト・メニューを開き、「履歴」を選択します。

    以前に入力した文のリストを示すウィンドウが表示されます。

  2. ウィンドウから目的の文を選択します。

  3. 「OK」をクリックします。

ワークシートの上部ペインに、文が表示されます。

23.7 「SQL履歴」ウィンドウの使用

「SQL履歴」ウィンドウを使用すると、SQLワークシートとのセッションで以前に実行した文を再利用できます。

このウィンドウには以前に実行したSQL文およびスクリプトがリストされます。1つ以上の文を選択して、SQLワークシートに現在ある文と置き換えるか、またはSQLワークシートに現在ある文に追加できます。

「SQL履歴」ウィンドウの使用中には、次の機能を利用できます。

  • 「ウィンドウ」メニューから選択して、現在閉じているウィンドウを開くか、現在開いているウィンドウを前面に表示します。

  • 該当するタブを右クリックするか、[Alt]を押しながら[-]を押すと表示されるコンテキスト・メニューを使用して、「データベース・オブジェクトの検索」ウィンドウを移動、サイズ変更、フローティング、最小化、最大化、リストアまたは閉じます。

表23-7 「SQL履歴」のツールバー・アイコン

アイコン 名前 機能

この図は周囲のテキストで説明しています


追加

SQLワークシートに現在ある文に、選択した1つ以上の文を追加する場合にクリックします。また、選択した文は、「SQL履歴」ウィンドウからSQLワークシートの任意の場所にドラッグ・アンド・ドロップすることによって追加することもできます。

この図は周囲のテキストで説明しています


置換

SQLワークシートに現在ある文を、選択した1つ以上の文に置き換える場合にクリックします。

この図は周囲のテキストで説明しています


履歴のクリア

SQL履歴から文をすべて削除する場合にクリックします。

この図は周囲のテキストで説明しています


フィルタ

「SQL履歴」ウィンドウに表示されているSQL文にフィルタを適用する場合に使用します。テキスト・ボックスに文字列を入力し、「フィルタ」をクリックします。その文字列を含むSQL文のみがリストされます。フィルタを削除する場合は、フィールド内の文字列を削除し、再度「フィルタ」をクリックします。


23.8 「スニペット」ウィンドウの使用

スニペットとは、SQLファンクション、オプティマイザ・ヒント、様々なPL/SQLプログラミング技法などが含まれる部分的なコードです。スニペットは、構文のみの場合や、例が含まれる場合もあります。「Snippet」ウィンドウはSQLワークシートと統合されており、PL/SQLファンクションやプロシージャを作成または編集するときに表示されます。

「スニペット」ウィンドウでは、スニペットがカテゴリ(Aggregate FunctionsやCharacter Functionsなど)にまとめられてドロップダウン・リストに表示されます。新しく作成したSnippetは、既存のカテゴリまたは新しいカテゴリに追加できます。Snippetの簡単な説明を表示するには、ファンクション名の上にマウス・ポインタを置きます。

SQLワークシートやPL/SQLファンクションまたはプロシージャのコードにスニペットを挿入するには、スニペット・ウィンドウからスニペットをドラッグして、コード内の任意の場所でドロップします。次に、そのSQLファンクションがその現行のコンテキストで有効になるように、構文を編集します。

たとえば、SELECTと入力し、「文字関数」グループからCONCAT(char1, char2)をドラッグできます。次に、CONCAT関数の構文を編集し、次の例のように残りを入力します。

SELECT CONCAT(title, ' is a book in the library.') FROM books; 

表23-8 「スニペット」ウィンドウのツールバー・アイコン

アイコン 名前 機能

この図は周囲のテキストで説明しています


スニペットの追加

「Snippetの保存」ダイアログを開き、新しいSnippetを作成して、そのSnippetを既存のグループまたは新しいグループに保存する場合にクリックします。

この図は周囲のテキストで説明しています


ユーザー・スニペットの編集

「スニペットの編集」ダイアログを開いて、ユーザー・スニペットのリストを表示する場合にクリックします。このダイアログでは、Snippetの作成、編集、および削除を行えます。


「スニペット」ウィンドウから、次のことを実行できます。

  • リストからカテゴリを選択してスニペットを表示します。

  • SQLファイルなどをダブルクリックして、ファイルのカーソル位置にスニペットを追加します。

23.9 データベース・オブジェクト・ビューアの使用

データベース・オブジェクト・ビューアを使用すると、データベース内のオブジェクトの構造およびコンテンツを管理できます。使用できるタブは、表示しているオブジェクトのタイプによって異なります。

任意のセルの値を編集するには、該当するセルをダブルクリックして選択し、「...」をクリックして「値の編集」ダイアログを開きます。

オブジェクトに関する情報は、次のタブに表示されます。

  • 列: オブジェクトを構成する列を表示します。

  • データ: このオブジェクトのデータを表示します。任意のセルの値を編集するには、該当するセルをダブルクリックして選択し、「...」をクリックして「値の編集」ダイアログを開きます。

  • 制約: 制約がある場合、その詳細を表示します。

  • 権限付与: 権限の詳細を表示します。

  • 統計: 統計情報を表示します。

  • トリガー: トリガーに関する情報を表示します。

  • 依存性: 参照に関する情報を表示します。

  • 索引: 索引がある場合、その詳細を表示します。

  • 詳細: オブジェクトの詳細を表示します。

  • SQL: このオブジェクトを表すSQLを表示します。

23.9.1 データベース・オブジェクト・ビューアのタブのツールバー

ツールバー上の実際のボタンは、タブによって異なります。

表23-9 データベース・オブジェクト・ビューアのタブのツールバー・アイコン

アイコン 名前 機能
この図は周囲のテキストで説明しています この図は周囲のテキストで説明しています

「ビューの固定」とビューの固定解除

現在のビューで表ビューアの固定を切り替えるときに使用します。

この図は周囲のテキストで説明しています

編集

「表の編集」ダイアログを開く場合にクリックします。

この図は周囲のテキストで説明しています

リフレッシュ

データをリフレッシュする場合にクリックします。

この図は周囲のテキストで説明しています

行の挿入

フォーカスがある行の下に新しい空白行を挿入する場合にクリックします。

この図は周囲のテキストで説明しています

選択した行の削除

データで選択した行を削除する場合にクリックします。

この図は周囲のテキストで説明しています

コミット

データベースに加えた変更をコミットする場合にクリックします。変更内容はデータ・エディタのログ・ウィンドウに記録されます。一意制約違反などのエラーがある場合、コミットは失敗します。

この図は周囲のテキストで説明しています

ロールバック

すでに加えたデータベース変更をロールバックする場合にクリックします。データ・エディタのログ・ウィンドウに、ロールバックが成功したかどうかが表示されます。

この図は周囲のテキストで説明しています

「ソート」ダイアログを開いてソート列およびソート順を指定する場合にクリックします。

この図は周囲のテキストで説明しています

表示するレコードの最大数を入力します(例: DEPARTMENT_ID>20)。

この図は周囲のテキストで説明しています

表に対する一般的なアクションを実行する場合にクリックします。


23.10 PL/SQLソース・エディタの使用

PL/SQLソース・エディタには、プロシージャや関数などのデータベース・オブジェクトのPL/SQLコードが表示されます。PL/SQLソース・エディタのPL/SQL固有の機能に加えて、すべてのドメイン間でコーディングを拡張するためにJDeveloperに用意されている様々な共通機能セットも使用できます。これらの機能は、ポップアップ・メニューまたは「ソース」メニューを介して使用できます。詳細は、第3.8.2項「ソース・エディタの使用方法」を参照してください。

さらに、次に説明するPL/SQL固有の機能もあります。

表23-10は、PL/SQLソース・エディタのツールバーから利用できる操作について説明しています。

表23-10 PL/SQLソース・エディタのツールバー

要素 操作

この図は周囲のテキストで説明しています


「データベース」ウィンドウで別のオブジェクトをクリックしたときに、サブプログラムのタブと情報をウィンドウ内に保持します。選択した別のオブジェクトには、別のタブと表示が作成されます。固定を解除するには、ピンを再度クリックします。

この図は周囲のテキストで説明しています


書込みモードと読取り専用モードの切替えに使用します。

この図は周囲のテキストで説明しています


文字列を入力して、[Enter]キーをクリックします。

検索オプションのリストから選択するには、下矢印をクリックします。

この図は周囲のテキストで説明しています


(データべースのみ)サブプログラムのPL/SQLコンパイルを実行します。

矢印をクリックして、次のオプションを選択します。

  • デバッグ用にコンパイル: デバッグ用にサブプログラムのPL/SQLコンパイルを実行します。

  • コンパイル: サブプログラムのPL/SQLコンパイルを実行します。

結果は「ログ」ウィンドウに表示されます。

この図は周囲のテキストで説明しています


(オフラインのみ)サブプログラムのPL/SQLコンパイルを実行します。

有効にするには、サブプログラムがコンパイルされるデータベース接続を作成または選択する必要があります。

このボタンをクリックすると、サブプログラムがオフライン・データベースに保存され、コンパイルの目的でプログラムが発行されます。

この図は周囲のテキストで説明しています


(オフラインのみ)デバッグ用にコンパイル: デバッグ用にサブプログラムのPL/SQLコンパイルを実行します。

有効にするには、サブプログラムがコンパイルされるデータベース接続を作成または選択する必要があります。

このボタンをクリックすると、サブプログラムがオフライン・データベースに保存され、コンパイルの目的でプログラムとデバッグ情報が発行されます。

この図は周囲のテキストで説明しています


「PL/SQLの実行」ウィンドウを開きます。このウィンドウでは、PL/SQLファンクション、プロシージャおよびパッケージの実行時またはデバッグ時に、引数を指定できます。

この図は周囲のテキストで説明しています


デバッグ・モードでサブプログラムの実行を開始して、「デバッグ - ログ」タブを表示します。このタブには、実行を制御するデバッグ・ツールバーがあります。

この図は周囲のテキストで説明しています


コードを強調表示します。たとえば、p_column_nameの宣言または使用方法をクリックしてこのボタンを選択すると、p_column_nameのすべての使用方法が強調表示されます。

これは、単なるテキスト一致ではなく、すべてのスコープ・ルールに従った、変数の明示的な使用方法であることに注意してください。

一部のコードを選択したときにこのボタンが有効ではない場合、JDeveloperツールバーで「検索」メニューを開き、「コード自動強調表示」の選択を解除します。

この図は周囲のテキストで説明しています


コードのすべての強調表示をクリアします。

この図は周囲のテキストで説明しています

データベース接続はコンパイルに使用されます。他のデータベース接続を選択する場合に使用します。

接続を選択すると、その接続は永続化され、PL/SQLソース・エディタの今後のインスタンスで使用されます。


23.10.1 テスト問合せの使用

PL/SQLのSELECT文の場合、稼働中のデータベースに対して問合せをテストして、正しい行が返されるかどうかを確認できます。PL/SQL変数はテスト問合せでバインド変数に置き換えられ、INTOなどの句は無視されます。

問合せをテストするには、図23-3に示すように、PL/SQLのSELECT文を右クリックして、「問合せのテスト」を選択します。

図23-3 SELECT文のコンテキスト・メニュー

この図は周囲のテキストで説明しています

問合せが実行され、図23-4に示すように、「問合せのテスト」ダイアログが表示されます。

データベースへの接続が定義されていない場合は、最初に接続を作成しておく必要があります。これは、「問合せのテスト」ダイアログから行うことができます。別のデータベース接続を選択するには、「問合せのテスト」ダイアログのリストから選択します。

図23-4 「問合せのテスト」ダイアログ

この図は周囲のテキストで説明しています

23.10.2 パッケージの仕様と本体の同期化

「仕様と本体の同期化」を使用すると、次の操作が可能です。

  • パッケージの初期本体を作成します。仕様を右クリックして、コンテキスト・メニューから「仕様と本体の同期化」を選択します。パッケージの新しい本体が作成されます。

  • パッケージの本体にはない、仕様で指定されるメソッドを識別します。仕様を右クリックして、コンテキスト・メニューから「仕様と本体の同期化」を選択します。図23-5に示すように、「仕様と本体の同期化」ダイアログが開きます。

    図23-5 仕様と本体の同期化

    この図は周囲のテキストで説明しています

    ここには、同期化できるメソッドがすべて表示され、本体にはない、仕様のすべてのメソッドが事前に選択されています。同期化するメソッドを選択して、「OK」をクリックします。

23.11 SQL*Plusの使用

SQL*Plusは対話型のバッチ問合せツールです。任意のOracleサーバーまたはクライアントをインストールすると、一緒にインストールされます。コマンドライン・ユーザー・インタフェースがあります。JDeveloper内からSQL*Plusを起動できます。詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

SQLワークシートはJDeveloperに完全に統合されているので、ほとんどの場合、SQL*PlusよりSQLワークシートの方が推奨されます。SQLワークシートを使用して、SQL、PL/SQL、および一部のSQL*Plus文を入力し実行できます。

SQL*Plusは、パラメータ置換を使用できます。デフォルトのエスケープ文字は「&」であり、したがってコメントに「&」が入っているとエラーが発生します。さらに、スクリプトを実行するSQL*Plusセッションで使用する文字はSET DEFINEを使用してデフォルトから変更できるため、コメント内でパラメータ置換文字が検索されず、警告が発生します。スクリプトでこのエラーが発生した場合には、SET DEFINE OFFを使用してパラメータ置換文字を無視することも、またコメントから除去することもできます。詳細は、『SQL*Plusユーザーズ・ガイドおよびリファレンス』で、SQL*Plusにおけるスクリプトの実行に関する項を参照してください。

JDeveloperからSQL*Plusを起動するには、マシンにSQL*Plusがインストールされている必要があります。SQL*Plusクライアントのインストールの詳細は、http://www.oracle.com/technetwork/database/features/instant-client/index-100365.htmlでOracle Database Instantクライアントに関する情報を参照してください。

SQL*Plusは、次の場所から起動できます。

  • 「ツール」メニュー

  • 「データベース」ウィンドウのデータベース接続

  • 「アプリケーション」ウィンドウのSQLファイル

JDeveloperでSQL*Plus実行可能ファイルをまだ指定していない場合は、SQL*Plusの起動時に指定できます。あるいは、「プリファレンス」ダイアログでSQL*Plusの実行可能ファイルを指定できます。このタスクは1回のみ実行する必要があります。

SQL*Plusの実行可能ファイルを指定するには、次のようにします。

  1. 「ツール」→「SQL*Plus」を選択し、「データベース接続」を選択します。

  2. SQL*Plus実行可能ファイルへのパスを指定します。

  3. 「OK」をクリックして、ダイアログを閉じます。これで、「ツール」メニューで「SQL*Plus」項目がアクティブになります。

  4. 「データベース」ウィンドウでデータベース接続を選択し、「ツール」→「データベース」→「SQL*Plus」を選択します。ステップ2で指定したパスが正しい場合には、SQL*Plusコマンド・ウィンドウが開きます。


注意:

UNIXの場合は、xtermを使用して、SQL*Plusコマンドを実行する端末ウィンドウを作成します。

接続からSQL*Plusを起動するには、次のようにします。

  1. 「ウィンドウ」→「データベース」→「データベース」ウィンドウを選択します。

  2. 接続を右クリックし、「SQL*Plus」を選択します。

SQLファイルからSQL*Plusを起動するには、次のようにします。

  1. 「アプリケーション」ウィンドウで、SQLファイルに移動します。

  2. SQLファイルを右クリックし、「SQL*Plusで実行」を選択します。

  3. サブメニューで、使用する接続を選択します。SQL *Plus実行可能ファイルの場所をまだ指定していない場合には、まずその場所を指定するよう求められます。

23.12 「DBMS出力」ウィンドウ

PL/SQL DBMS_OUTPUTパッケージを使用すると、ストアド・プロシージャ、パッケージおよびトリガーからメッセージを送信できます。このパッケージのPUTおよびPUT_LINEプロシージャを使用すると、別のトリガー、プロシージャまたはパッケージで読取り可能なバッファに、情報を配置できます。別のPL/SQLプロシージャまたは無名ブロックでGET_LINEプロシージャをコールすると、バッファ済の情報を参照できます。「DBMS出力」ウィンドウは、このバッファの出力を表示するために使用されます。

「DBMS出力」の新しいタブの追加: データベース接続を指定するように求めるプロンプトが表示され、その後、その接続の「DBMS出力」ペイン内にタブが表示されてSET SERVEROUTPUT設定がオンになり、出力がそのタブに表示されるようになります。(接続の出力の表示を停止するには、タブを閉じます。)

表23-11 「DBMS出力」ウィンドウのツールバー・アイコン

アイコン 名前 機能
この図は周囲のテキストで説明しています

DBMS出力の有効化

SET SERVEROUTPUT設定のONとOFFを切り替える場合にクリックします。サーバー出力をONに設定すると、DBMS_OUTPUTバッファ内に出力があるかどうかがチェックされ、出力がある場合はこのタブに表示されます。

この図は周囲のテキストで説明しています

クリア

このタブの内容を消去する場合にクリックします。

この図は周囲のテキストで説明しています

ファイルの保存

「保存」ダイアログを開く場合にクリックします。ここで、このタブの結果を保存するファイル名を入力できます。

この図は周囲のテキストで説明しています

印刷

「印刷」ダイアログを開く場合にクリックします。ここで、このタブの内容を印刷するプリンタを選択できます。


バッファ・サイズ

DBMS_OUTPUTバッファに格納できるデータの量を制限する場合にクリックします(Oracle Database 10.2よりも古いデータベースを使用する場合)。バッファ・サイズの範囲は、1から1000000(100万)の間です。


ポーリング

スライダを動かして、印刷するデータの有無を確認するためにDBMS_OUTPUTバッファをチェックする間隔を秒単位で設定します。ポーリング率の範囲は、1から15の間です。


DB接続の選択

リストから選択して、別のデータベース接続に変更します。


23.13 「OWA出力」ウィンドウ

OWA(Oracle Web Agent)またはMOD_PLSQLは、PL/SQLパッケージおよびストアド・プロシージャから動的なWebページを作成できるApache(Webサーバー)拡張モジュールです。「OWA出力」ウィンドウでは、SQLワークシートで実行されたMOD_PLSQLのアクションのHTML出力を参照できます。

表23-12 「OWA出力」ウィンドウのツールバー・アイコン

アイコン 名前 機能
この図は周囲のテキストで説明しています

OWA出力の有効化

SET SERVEROUTPUT設定のONとOFFを切り替える場合にクリックします。サーバー出力をONに設定すると、DBMS_OUTPUTバッファ内に出力があるかどうかがチェックされ、出力がある場合はこのタブに表示されます。

この図は周囲のテキストで説明しています

クリア

このタブの内容を消去する場合にクリックします。

この図は周囲のテキストで説明しています

ファイルの保存

「保存」ダイアログを開く場合にクリックします。ここで、このタブの結果を保存するファイル名を入力できます。

この図は周囲のテキストで説明しています

印刷

「印刷」ダイアログを開く場合にクリックします。ここで、このタブの内容を印刷するプリンタを選択できます。


DB接続の選択

リストから選択して、別のデータベース接続に変更します。