oracle sql developer: pl/sqlのサポートとユニッ …...sql developer 2.1 - 新機能概要...

31

Upload: others

Post on 16-Feb-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

<ここに画像を挿入>

Oracle SQL Developer: PL/SQLのサポートとユニット・テスト

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。 また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。

オラクルの製品に関して記載されている機能の開発、リリース、および時期については、弊社の裁量により決定されます。

アジェンダ

• Oracle SQL Developer 2.1の新機能

• PL/SQLの使用

• リモートからのデバッグ

• ユニット・テスト

• その他のPL/SQL関連機能

SQL Developer 2.1 - 新機能概要

• PL/SQLのユニット・テスト • Data Modeler Viewer • IBM DB2およびTeradataの移行サポート • データ・グリッドの更新

– 列の管理、データ・フィルタリング • 新しいSQL Worksheet

– ドッキング可能なDBMS出力、複数ワークシート • 接続ナビゲータでのサポートの強化

– ジョブ、エディション(11gR2の場合)、XML DBリポジトリ • 表示エディタの更新

– PL/SQL編集モード、サブパーティション • Serena Dimensions、Perforceに対する バージョン管理サポート

• フィルタリング・メカニズムの更新 – スキーマ・レベル、生成オブジェクト

<ここに画像を挿入>

PL/SQLの使用

PL/SQLの作成と編集

• コード・エディタ – 構文ハイライト

– コード・フォーマッタ

– コード・インサイト (オートコンプリート)

– コードの折りたたみ機能

– クエリー・ビルダー

• コード・スニペット – コード・スニペットの ドラッグ・アンド・ドロップ

– スニペットの追加とカスタマイズ

• コード・テンプレート

ダイアログを使用したコード・スケルトンの準備

• ダイアログを使用した作成 – プロシージャとファンクション

– トリガー

– パッケージの仕様と本体

• トリガーの作成 – 表

– ビュー

– スキーマ

– データベース

PL/SQLのコンパイルと実行

• コンパイル

– インラインのエラー・レポート

• プロシージャ、ファンクション、パッケージの実行

– DBMS_OUTPUTの使用

– ファンクション戻り値

– OUTパラメータ

• PL/SQLダイアログの実行

– 実行ターゲットの指定

– パラメータ詳細情報の表示

– 編集可能なPL/SQLブロックの生成

• パラメータ値

• 出力パラメータ

• レコードの使用

PL/SQLのデバッグ

• ブレーク・ポイントの設定

– 条件の設定

• デバッグ用コンパイル

• プログラム実行の制御(ステップ・イン、ステップ・オーバーなど)

• カーソル位置までの実行

• 変数の確認と変更

• 次の確認

– スマート・データ

– データ

• 式の監視

• デバッグ・ログの表示

リモートからのデバッグ

問題: 別のアプリケーションで実行されているプロシージャのテスト

• SQL Developerで

– リモート・デバッグを選択

– リモート・デバッグの 詳細情報、マシン、ポートを 設定

– プロシージャを参照

– ブレーク・ポイントを設定

• リモート・セッションで – DBMS_DEBUG_JDWP.CONNECT_TCP (‘127.0.0.1’, 4000)を実行

– プロシージャを実行

• SQL Developerで

– 通常どおりデバッグ 環境変数の使用 SET ORA_DEBUG_JDWP=host=127.0.0.1;port=4000

<ここに画像を挿入>

PL/SQLユニット・テストの使用

ユニット・テスト - 概要

• テスト

• スイート

• レポート

• ライブラリ

• 静的ルックアップと動的ルックアップ

• マルチ・ユーザー・リポジトリに基づく

• コード範囲

• コマンドラインの使用

• あらゆるデータベースをターゲットとして使用可能

ユニット・テスト - テスト

• 入力/戻り値 – 静的な値または動的な値

• 開始処理/終了処理 – 表のコピー/リストア

– 行のコピー/リストア

– カスタム

• コード範囲

• 成功または失敗のテスト

• 検証 – カスタム

ユニット・テスト - スイート

• 開始処理/終了処理 – 表のコピー/リストア

– 行のコピー/リストア

– カスタム

• コード範囲

• テストを連続で実行

• テストの開始処理と 終了処理は無効化可能

ユニット・テスト - ライブラリ

• 再利用可能アイテムの保管 – 動的な値

– 開始処理

– 終了処理

– 検証

• ローカル・テストへのコピー または参照

ユニット・テスト - レポート

• 標準レポートの提供 – スイート

– テスト

– コード範囲

• リポジトリに照らしたレポート

• ユーザーはリポジトリへの 問合せを直接実行可能

ユニット・テスト - マルチ・ユーザー

• データベース・ユーザーの使用

• コントロール – 管理者またはユーザー

• ロールを使用した管理

ユニット・テスト - スイート/テストの実行

• SQL Developer内ではコンボ・リストの変更のみ

• 引数を渡してコマンドラインで実行可能

• 結果はリポジトリに保管される

リファクタリング、レビュー、検索、チューニング、監視

SQL DeveloperはPL/SQL関連ユーティリティを提供

• PL/SQL階層プロファイラ

• PL/SQLを使用した拡張検索

• SQL監視

• SQL Developer PL/SQLレポート

• 一般的なリファクタリング

• Oracle Application Express (Oracle APEX)リファクタリング

階層プロファイラ

検索

• すべてのエディタで検索(および置換) • DBオブジェクトの検索

– 複数スキーマ間

– オブジェクトへのナビゲート

• 複数スキーマ間での 拡張検索 – オブジェクト・タイプの検索

– 使用状況の検索

– PL/Scopeのサポート (Oracle Database 11g)

リアルタイムのSQL監視

• SQLのリアルタイム・ビュー

• /*+MONITOR*/の使用

• 詳細情報へのドリルダウン

• 現在のステップを示す ビジュアル・インジケータ

• 5秒を超える問合せの監視

• DBMS_SQLTUNE.REPORT_SQL_MONITOR

SQL監視とPL/SQLレポート

• 標準提供されるPL/SQLレポート – SQL監視

– ソース・コード検索

– プログラム・ユニットの引数

• ユーザー定義のレポート – plsql-dbms_outputの使用

– コードの書式設定

リファクタリング

• プロシージャの抽出

• 次のブロックでコードを囲む – For

– While

– Begin

• 変数名の変更

• Oracle APEXアプリケーションから 無名PL/SQLブロックを抽出

Oracle APEXとの統合

Oracle APEXへの統合ポイントを提供

• リモートからのデバッグ

• SQLチューニング

• PL/SQLコードの リファクタリング

その他の詳細情報 www.oracle.com/technology/global/jp/products/database/sql_developer

• OTNのSQL Developerサイト – ホワイト・ペーパー、Oracle by Example(OBE)、オンライン・デモ

– チーム・ブログ: ブログ、雑誌記事、ポッドキャスト – www.oracle.com/technology/global/jp/products/database/sql_developer

• Oracle SQL Developer Exchange – レポート、スニペット、コード、追加機能リクエストの共有

– http://sqldeveloper.oracle.com

• フォーラム – SQL Developer

forums.oracle.com/forums/forum.jspa?forumID=260

まとめ

• PL/SQL – 作成、編集、コンパイル、デバッグ

• ユニット・テスト

• 作成、実行、レポート作成 – バッチ処理

• SQL Developer拡張機能の作成

• リアルタイムのSQL監視 – SQL実行中の監視

• リファクタリング – APEXの無名ブロックからパッケージへの変換

追加情報

search.oracle.com

または

www.oracle.com/technology/products/database/sql_developer

SQL Developer