Comments
Description
Transcript
IBM Data Studio DB2 2010年09月15日
IBM Data Studio 入門 DB2運用管理の新GUIツール 2010年09月15日 日本アイ・ビー・エム株式会社 ソフトウェア事業 © 2010 IBM Corporation 目次 1. IBM Data Studio 概要紹介 2. 運用管理機能 1. インスタンス管理 2. データベース管理 3. DBオブジェクト管理 3. 開発機能 1. データ開発プロジェクトの作成 2. PL/SQLの開発 3. (SQLストアード・プロシージャの開発) 4. DBオブジェクト及びデータの移行に便利な機能 2 © 2010 IBM Corporation 1章 IBM Data Studio 概要 3 © 2010 IBM Corporation IBM Data Studioとは? • EclipseベースのGUIツール • DBA及び開発者向け機能 • 無料 • 有償のOptimツールとの機能連携 Data Studio IDE の起動画面イメージ DB2 9.7からコントロールセンターが非推奨化となっており、 今後はData Studioが標準GUIツールとなる予定 注1) 現時点ではコントロール・センターがDB2本体に標準同梱 注2) Data Studio は下記URLから、別途DLする必要がある http://www.ibm.com/developerworks/downloads/im/data/ 4 © 2010 IBM Corporation 2種類のパッケージを用意 • 最新バージョンはData Studio V2.2 FP2 (2010/09/15時点) • 2種類のパッケージを用意 – Data Studio IDE • Data Studioの全ての機能(開発系、運用系)が利用可能 • 他のEclipse製品とのプラットフォームの併用が可能 – Data Studio Stand-alone • データベース管理機能がメインのIDEのサブセット版 • IDE版にある開発系の一部機能が使用不可 • 注)現時点で日本語に未対応(英語のみ) • Ver.2.2.0.1でpureScaleの設定/管理が可能に!? ⇒ 機能未確認 • IDE版にはない機能 • Ver.2.2.0.2ではなくなっているのか? 5 © 2010 IBM Corporation パッケージの違い Java SPs + Data Web Services Shell Sharing 6 © 2010 IBM Corporation 対応プラットフォーム Microsoft Windows 7 7 © 2010 IBM Corporation Data Studioの画面構成 Eclipseによく似た画面構成 •Eclipseの様々なパースペクティブ(GUI画面構成)を選択可能 •デフォルトは『データ開発』パースペクティブの画面構成 データ・プロジェクト・ エクスプローラー データ・ソース・エク スプローラー エディター SQLの結果 プロパティー 8 アウトライン 状況 © 2010 IBM Corporation データプロジェクトエクスプローラー 開発時に必要なデプロイ、デバッグ機能 JavaやPL/SQLのソースコード SQLエディター Webサービスのソースコード XML、XMLスキーマエディター データソースエクスプローラー データベース接続情報の一覧表示 インスタンス情報の編集/管理 データベース・オブジェクトやデータの編集/管理 各種ユーティリティの実行 9 © 2010 IBM Corporation エディター JavaやPL/SQLなどのコーディング・デバッグ データやオブジェクトの表示や編集 ユーティリティー操作の設定や実行 10 SQLの結果 状況 SQLの実行結果などの履歴情報を表示 「SQLの結果」の実行結果の詳細を表示 © 2010 IBM Corporation Data Studioの一般的な構成 Data Studio JDBCドライバーを 指定して接続 Informix DB2 for LUW JDBC type4 DB2 for z/OS DB2 DB2 for i プラットフォームOSは Windowsや主要な Linuxディストリビューションを サポート Derby Oracle コントロールセンターの場合と違い、クライアント側にDB2クライアントが必要なし ただし設計アドバイザーや構成アシスタントのGUIを利用する場合は、別途DB2クライアント必要 製品システム要件の詳細 http://www.ibm.com/support/docview.wss?uid=swg27016060 11 © 2010 IBM Corporation (参考)Optim Development Studioの構成 Informix Optim Development Studio JDBCドライバを指 定して接続 DB2 for LUW DB2 DB2 for i JDBC type4 プラットフォームOSはWindows や主要なLinuxディストリビュー ションをサポート 有償版の開発ツールであるOptim Development Studioを利用する ことで、Oracleへの接続が作成可能。 DB2 for z/OS Oracle Derby これはDB2 V9.7からのOracle互換機能に対応した動きです。 現時点では、DB2 FP2からのSybase互換機能への対応はしておりません。 12 © 2010 IBM Corporation Data Studio と コントロールセンターとの違い Good • コントロールセンターの基本機能をほぼ網羅 • 開発系の機能が一緒になっていて、使いやすい • PC側にDB2クライアントをインストールする必要なし • Data Studioでは旧来CCのクラサバ構成からJDBC Type4接続へ • 伝統的なDB2のDAS設定やクライアント側のカタログ登録が必要なし • DB2だけでなく、InformixやDerbyの運用管理を実現 Not so good • DB2サーバーに同梱されておらず、別途ダウンロード、インストールが必要 • 索引アドバイザや構成アシスタントとの連携が不可 • 索引アドバイザや構成アシスタントのGUIを使用する場合は、DB2クライアン トを別途インストールしておく必要があります 13 © 2010 IBM Corporation Data Studioの概要まとめ • Data Studioはデータベース管理機能&開発環境を提供 • DB2ファミリーとInformix® Dynamic Server をサポート • データベース管理機能及びEclipseベースの統合開発環境を 提供 • 他のEclipseベースの開発環境(InfoSphere Data Architect、 Optim Development Studio)と機能を共有して使用可能 • DB2 9.7よりコントロールセンターが非推奨化され、今後のバー ジョンでは廃止となっていくため、DataStudioはDB2をGUI 管 理するためには必須の製品となる。 14 © 2010 IBM Corporation Data Studioでの運用管理 15 © 2010 IBM Corporation 目次 • データベース接続の作成 • データ・ソース・エクスプローラーの見方 • インスタンスの管理操作 • データベースの管理操作 • データ・オブジェクトの管理操作 16 © 2010 IBM Corporation Data Studio 運用管理系の主要機能一覧 17 © 2010 IBM Corporation 運用管理系操作は『データ・ソース・エクスプローラー』から DB接続情報の管理 データベースレベルの管理 データ・オブジェクトレベルの管理 インスタンスレベルの管理 18 © 2010 IBM Corporation 運用管理系操作は『データ・ソース・エクスプローラー』から DB接続情報の管理 19 © 2010 IBM Corporation 1.DB接続情報の管理: DB接続の追加方法 新規DB接続情報の 追加作成 右クリック DB接続情報を入力 JDBCドライブのタイプ指定 データベース名 IPアドレス ポート番号 ユーザー名/パスワード 20 © 2010 IBM Corporation インスタンス管理の機能一覧 インスタンス管理 • 構成 • データベースの作成 • インスタンスの静止 • インスタンスの静止解除 • インスタンスの開始 • インスタンスの停止 右クリック インスタンスレベルの管理 21 © 2010 IBM Corporation インスタンス管理機能: パラメーター構成 DB2が持つインスタンスレベルやデータ・ベースレベルの構成 パラメーターを確認・編集することが可能 インスタンス構成パラメータ一覧の表示・編集 データベース構成パラメータ一覧の表示・編集 各種パラメーター 現行値 変更値 自動とは? DB2のオートノミック機能によって、 DB2自身の判断で値を自動変更する。 (チェックボックスがマークされている場合) 22 © 2010 IBM Corporation インスタンス管理機能: データベースの作成① データベースの名前(必須) DBの場所(ディレクトリ) (必須) ページサイズ指定 ([4,8,16,32]KBの内から指定) 23 『データベースの場所』とは? 『ページサイズ』とは? データベースを作成する場所(ディレクト リ)のことで、通常Create Databaseコマ ンドでDB作成する際の –dbpath オプショ ンに相当する。 データベースのコンテナーにデータが格納され る際のデータ長の単位をページサイズと言う。 DB2では1レコードが複数のページをまたがっ てのやり取りができないため、XML列など長い データ長を持たせる場合は、ページサイズを大 きめに設計しておく。 © 2010 IBM Corporation インスタンス管理機能: データベースの作成② データベースのコンテナー 管理を、今後DB2にお任せ するかどうかを決める データベースのストレージ・ パスを指定する (複数を指定可) 『ストレージ・パス』とは? 前ページの『データベース・パス』指定では、データ ベース・パスがDB本体の情報を格納するディレクトリ指 定であるのに対し、『ストレージ・パス』指定はデータ ベース上の実データやオブジェクトが格納されるディレ クトリーを指定する。 24 © 2010 IBM Corporation インスタンス管理機能: データベースの作成③ 各表スペースタイプを指定 する 『データベース管理スペース』と『システム管理ス ペース』 データベース管理スペース(DMS)はDB2が表スペー スの管理を行い、システム管理スペース(SMS)はプ ラットフォームOSが表スペースの管理を行います。 以前はDMSでは表スペースの管理の煩雑で、SMSを使 用するケースもありましたが、最近はDMSも運用管理 面で改善され、DMSが多く利用されるようになってい ます。 25 © 2010 IBM Corporation インスタンス管理機能: データベースの作成④ DBのテリトリー(国、地域)、 DBの文字コードを選択する。 例) 照合シーケンスの違い 照合シーケンスについて 文字や数字などをソートした際、どういった 照合順序で並べるか、アルゴリズムによって 異なる。↑では代表的な照合シーケンスを選 択し、照合順序を決定する。 よく使われるのはシステムやIDなど。 26 照合シーケンスの違 いで、文字列の並び 順が違っている。 © 2010 IBM Corporation インスタンス管理機能: インスタンスの静止、静止の解除 静止とは? - QUIESCE(静止)とUNQUIESCE(静止解除) • 指定したインスタンスおよびデータベースからすべてのユーザーを強制的 に切断可能 • オフライン・バックアップなどの管理タスクを実施する際に有効な機能 • 「静止」状態を解除するには UNQUIESCE コマンドを実行 • 「静止」の有効範囲はインスタンス内の全てか、あるいは1つのデータベー ス内だけかを選ぶことが可能 SQL20157 App quiesce App SQL20157 オフライン・バックアップ取得 27 © 2010 IBM Corporation データベース管理の機能一覧 データベース管理系 • 静止 • ロールフォワード • ロールフォワードの完了 • 静止解除 • 構成 • リストア • バックアップ • ドロップ • データベースの作成 右クリック • リカバリー • アプリケーションのリスト • HADR データベースレベルの管理 • 自動メンテナンスの構成 • データベース・ロギングの構成 • ストレージの管理 • コピー 28 © 2010 IBM Corporation データベース管理の機能一覧 データベース管理系 • 静止 • ロールフォワード • ロールフォワードの完了 • 静止解除 • 構成 • リストア • バックアップ データベースのバックアップ・ リカバリー運用管理系 • ドロップ • データベースの作成 • リカバリー • アプリケーションのリスト • 自動メンテナンスの構成 • データベース・ロギングの構成 • ストレージの管理 • コピー 29 © 2010 IBM Corporation データベース管理機能: データベースのバックアップ① バックアップに関する DBの基本情報 30 © 2010 IBM Corporation データベース管理機能: データベースのバックアップ② バックアップ・ファイルの作成先の メディア・タイプを指定 バックアップ・ファイルを 保存するディレクトリを指定 31 © 2010 IBM Corporation データベース管理機能: データベースのバックアップ③ バックアップ・タイプを指定。 DB全体か一部分のみかの指定。 DBのバックアップを オンライン中にするか、 オフライン時にするか 32 © 2010 IBM Corporation (例)バックアップの実行結果画面 SQLの結果 バックアップコマンドを実行 状況 実際に以下のBackupコマンドが実行され たことが分かる 33 © 2010 IBM Corporation (参考)障害回復(リカバリー)の基本 • 障害回復のために欠かせないものはバックアップとログ • ログの重要性 • 更新前後のデータを記録 • ロールバック、ロールフォワードに利用 • バッファープールのデータがディスクに書かれる前に、ログ・バッファーのデータがディ スクに書かれるため、データの整合性が保てる • 各種障害に対応できる 例) 毎日AM3時にフルバックアップしているシステムで、5月20日のAM9時の時点まで リカバリーしたい場合 1 5/20 AM3時のバックアップファイルを使用してdb2 restoreコマンド実行 2 停止時間5/20 AM9時を指定してrollforwardコマンドを実行 Restoreコマンドで戻る範囲 5/19 34 LOGの適用で任意の時間へ(rollforward) 5/20 AM3 AM9 Time 5/21 © 2010 IBM Corporation (参考)データベースのバックアップ・リカバリー操作 • バージョン回復(Restore) ・・・バックアップを使用してデータベース を回復する • ロールフォワード回復(Rollforward) ・・・ログを適用しデータベース をある時点までの状態に戻す 35 © 2010 IBM Corporation データベース管理機能: データベースのリカバリー① ここで、全く違うデータベー ス上にバックアップファイル をリストアすることが可能。 ヒストリー・ファイルとは? データベースのリカバリーす る際に必要となるバックアッ プファイルやログファイルを 管理しているファイル DB2はバックアップの対象範囲 をデータベース毎だけでなく、 表領域毎の指定が可能。 36 © 2010 IBM Corporation データベース管理機能: データベースのリカバリー② リストアコマンドの一環で、 ロールフォワード処理まで実施 してしまうことが可能 あとからロールフォワードのみ 実施することも可能 障害発生手前、どの時点の状態 まで復旧するかの指定が可能 TO END OF BACKUP 1. バックアップファイルからの復旧 TO yyyy-mm-dd-hh.mm.ss Crash BACKUP DATABASE Backup file 37 Log files TO END OF LOGS 2. ログファイルからバックアップ取得後 の更新を適用 © 2010 IBM Corporation (参考)RECOVERコマンドによる回復 Data Studioサポート RESTORE + ROLLFORWARD を一つのコマンドで実行する • ROLLFORWARD は Point in Time あるいは End of Logs まで実行できる • ROLLFORWARDを中断しても、途中から処理を再開することが可能 V9 NEW! データベース バックアップ・ ファイル RESTORE RECOVER 正常時に取得したバックアップ アーカイブ・ ログ・パス ログ ログ ROLLFORWARD バックアップ取得以降のログ・ ファイル 38 © 2010 IBM Corporation データベース管理の機能一覧 データベース管理系 • 静止 • ロールフォワード • ロールフォワードの完了 • 静止解除 • 構成 • リストア • バックアップ • ドロップ • データベースの作成 • リカバリー • アプリケーションのリスト • 自動メンテナンスの構成 各種運用管理機能の自動化 • データベース・ロギングの構成 • ストレージの管理 • コピー 39 © 2010 IBM Corporation データベース管理機能: 自動メンテナンス機能の設定① • 以下の運用管理機能の自動運用の設定が可能で、1.自動化 するかどうか、2.自動化した場合どのタイミングでメンテナンス を実施するかを設定する。 • バックアップ機能(フルバックアップのみ) • 表・索引の再編成(REORGコマンド) • 統計情報の収集(RUNSTATSコマンド) 40 © 2010 IBM Corporation (参考)再編成とその必要性 • 再編成とは? • データベースは、運用(更新作業)を続けていくうちに、 データが断片化し、パフォーマンスが低下してくる • • 41 更新頻度により、断片化の度合いは異なる インデックスの削除は物理的に削除されない(V8.1~) • 再編成を行う事で… • データ・ページを削減 • データが順にならぶ(クラスタ率の向上)ので、パフォーマンスが向上 • インデックスに使用されているページを削減 • DB2では、REORGコマンドを使用することで表/インデックスの再編成を実行 • インプレース・アプローチではインデックスの再編成を別途実行 • 再編成に使用する領域 • インプレース・アプローチの場合大きな一時表スペースは不要 • シャドウ・コピー・アプローチの場合は、データ量の2~3倍 • 再編成中の表へのアクセス • 読み取り専用 / 書き込み可能 にするか選択可能 • 再編成するかどうかの判断 • REORGCHKコマンドの実行結果 • 定期的な運用も検討 © 2010 IBM Corporation (参考)統計情報の更新~RUNSTATS • 統計情報とは? • 良いアクセス・プラン作成のために、データの配置情報を記録している • なぜ統計情報を更新するのか? • 実際のデータと統計情報の内容にずれが生じるため • 例 : 初期データLOAD時 大量のデータ入れ替え時、再編成後、新たに索引を作成した後 • 統計情報と実際の内容のずれが大きくなると、良いアクセスプランが作成できなくなり、パ フォーマンス低下の恐れがでる • Runstatsのオプション • 索引の統計情報も取得 (INDEXESキーワード) • 分散統計情報も必要に応じて取得(WITH DISTRIBUTIONキーワード) • データに偏りがある場合に取得 • V8.2からサンプリング統計のオプションが使用可能 • サンプリングによる統計収集時間の短縮 • DB2 9から、DB作成時に自動統計情報収集がオン 42 © 2010 IBM Corporation データベース管理機能: 自動メンテナンス機能の設定② メンテナンス機能の 実施スケジュールを 指定することが可能 必ずしも自動メンテナンスが決められたタイミングで実行されるとは限らない。 その都度、DB2側でメンテナンスが必要かが吟味される。 43 © 2010 IBM Corporation データオブジェクト操作の機能 データオブジェクトの操作や管理 右クリック 44 • データオブジェクト操作系 • グループ/スキーマ/ユーザ管理 • 役割(Role)の権限管理 • バッファー・プール管理 • 表スペース管理 • MQT管理 • PL/SQLパッケージ管理 • XMLスキーマ • ストアード・プロシージャー • テーブル • パッケージ • ビュー • ユーザー定義関数 • 依存関係 • 別名 © 2010 IBM Corporation ストアード・プロシージャーの管理 • DBに配置されているストアードを実行したり、DROP削除したり することが可能 データベース上に配置されている プロシージャー・オブジェクトの 一つ一つを確認可能 45 © 2010 IBM Corporation テーブルオブジェクトの操作 • テーブル・データの表示や挿入といった操作に加え、以下のメンテナンス 処理が実行可能 • DDLの生成 • 統計情報の更新 • 表データのロードユーティリティ • テーブル・索引の再編成 など 46 © 2010 IBM Corporation Data Studioでの開発 47 © 2010 IBM Corporation 目次 • データ開発プロジェクトの作成 • PL/SQLパッケージの作成と管理 • DBオブジェクト及びデータの移行 48 © 2010 IBM Corporation 開発系操作は『データ・プロジェクト・エクスプローラー』から • データベース特有のアプリ(ストアードやSQLパッケージなど)作成に 便利なGUI機能が満載 • 当然、通常JDBCアプリケーションの作成も簡単 PL/SQLパッケージ SQLスクリプト ストアード・プロシージャー 「データ開発プロジェクト」 の 「データ・プロジェクト・エクスプローラー」 49 © 2010 IBM Corporation (参考)プロジェクトとは? • Eclipseで言うところのプロジェクトとは? • プログラムに関する各種情報(ソースコードやスクリプト)を管理 する単位 • Eclipseの世界で一般的に使用されるキーワード 一般的なEclipseで、Javaコードを開 発する際に使われる『Javaプロジェ クト』 50 Data Studioでおススメの 『データ開発プロジェク ト』 © 2010 IBM Corporation データ開発プロジェクトの新規作成① 1.『データ・プロジェクト・ エクスプローラー』上で右クリック 2.『新規』⇒『データ開発プロジェクト』 を選択 3. プロジェクト名を記入 4. 対象DB選定 51 © 2010 IBM Corporation データ開発プロジェクトの新規作成② 新規プロジェクトの作成が完了 52 PL/SQL SQL Webサービス XML SP UDF © 2010 IBM Corporation PL/SQLパッケージの作成① PL/SQLパッケージを選択 オブジェクト名を選択 53 © 2010 IBM Corporation PL/SQLパッケージの作成② オブジェクト作成が完了 コーディングするエディター 54 © 2010 IBM Corporation (参考)PL/SQLが記述される場所 • PL/SQLブロック(Anonymous Block) • データベース外部に保持 PL/SQLブロック declare ・・・ begin ・・・ end 実行 • PL/SQLストアード・プログラム (データベースのオブジェクトとしてデータベース内にロジックを格納) • プロシージャー • ファンクション • パッケージ • トリガー 55 プロシージャー create procedure xx is ・・・ ファンクション begin ・・・ create function xxx end return varchar2 is ・・・ begin ・・・ end; トリガー create trigger xxx before insert ・・・ on ・・・ for each row declare ・・・ begin ・・・ end; © 2010 IBM Corporation PL/SQLパッケージの作成③:デプロイ コーディングしたら、 DB2に配置(デプロイ) 配置後、デバッグ処理を有効化 するには、ここをチェック 注) Data StudioでPL/SQLのデバッグ作業を実施するには、必ずチェックを入れなければならな 56 © 2010 IBM Corporation PL/SQLパッケージのデバッグ機能① • 作成したPL/SQLをStep by Stepで実行可能。 • 停止したステップ時点での変数の値を確認可能。 変数値の確認 プログラムをStep by stepで進める 57 © 2010 IBM Corporation PL/SQLデバッグ処理の制限事項 • Data StudioでPL/SQLのデバッグを実行する際、いくつか制限事項があるので、事前に以 下のURLをご参照ください。 トリガーは× • ルーチン・デバッガーは、スタンドアロン PL/SQL プロシージャー、パッケージ内の PL/SQL プロシージャー、およびパッケージ内の PL/SQL 関数をサポートします。 • ルーチン・デバッガーは、別のパッケージのルーチンを呼び出しているパッケージのルーチ ンはサポートしません。 • PL/SQL ルーチン・デバッガーは、データ・プロジェクト・エクスプローラーから開始しなけれ ばなりません。 • PL/SQL ルーチン・デバッガーは、パッケージ内の PL/SQL 関数のステップイントゥはサ ポートしません。 • PL/SQL ルーチン・デバッガーは、グローバル変数はサポートしません。PL/SQL ストアー ド・プロシージャー、関数、または PL/SQL パッケージ内で使用されるグローバル変数は、 「変数」ビューには表示されません。 ルーチンのデバッグの制限 ステップアウトは OK http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp?topic=/com.ibm.datatools.routines.doc/topics/rauthorities.html 上記以外でも、細かな制限事項が記載されていますので、ぜひ↑をご確認ください。 Ex. ) Linux上のDB2をデバッグする場合、一部OSパラメータの設定が必要、など 58 © 2010 IBM Corporation PL/SQLパッケージのデバッグ機能② • 一度配置したオブジェクトを再度ソースコードに戻して編集し、 デバッグし直し、ソースコード編集し、・・・という作業を繰り返し 実施できる ソース コード ClientからDBへ オブジェ クト オブジェクト 実行 Data Studio コーディング DB Client Server ソース コード 59 DBからClientへ オブジェ クト © 2010 IBM Corporation (番外編)DBオブジェクトやデータの移行に便利! • Data Studio, Optim Development Studioは移行に便利! GUIで視覚的に、ドラッグ&ド ロップで移行することが可能 テーブル 索引 ビュー XMLスキーマ PL/SQLパッケージ ストアード、UDF など 注)一度にクリック&ドロップで移行できるオブジェクト数、行数などに 制限があるので、本番環境の移行には不向き。本番環境は別ツールあり。 (データベース・オブジェクトおよびデータのコピーに関する制限) http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp?topic=/com.ibm.datatools.om.ui.doc/topics/rlimscopyobjectsdata.html 60 © 2010 IBM Corporation (番外編)移行をサポートするツール • データオブジェクトを移行する • IBM Data Movement Tool • IBM Optim Development Studio • データを移行する • IBM Data Movement Tool • アプリケーションを移行する • IBM Optim Development Studio • スクリプトの移行を容易にする • CLP Plus 61 © 2010 IBM Corporation 参考資料 62 © 2010 IBM Corporation 参考情報 • インフォメーション・センター(マニュアル、日本語) • http://publib.boulder.ibm.com/infocenter/idm/v2r2/index.jsp?topic=/co m.ibm.datatools.dwb.nav.doc/topics/helpindex_dwb_sdf.html • DeveloperWork記事(技術記事、日本語) • インストールガイド • http://www.ibm.com/developerworks/jp/xml/library/j_x-datastudio/ • データ・オブジェクト操作 • http://www.ibm.com/developerworks/jp/data/library/optim/datastudio_v22/ind ex.html?ca=drs-&ca=dgf-ip • Data Studio ダウンロードサイト(6/25時点でV2.2 FP3が最新) • https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US &source=swg-idside • Channel DB2 (DB2の動画サイト! ←かなりマニアックですよね^^) • Data Studio V2.2新機能紹介(英語) • http://www.channeldb2.com/video/whats-new-in-data-studio 63 © 2010 IBM Corporation