データベース管理者は、情報をより包括的にしてアクセスを容易にするため、パフォーマンスを向上させるため、
またはアプリケーションの変更を適合させるために、データベースを変更するように依頼されることがあります。
開始する前に
このシナリオは、GSDB データベースで提供されるサンプル・データに基づいています。このシナリオの手順を実行するには、
『GSDB サンプル・データベース』に記載されている指示に従って、データベースをダウンロードしてご使用のシステムにインストールします。
このシナリオでは、CUST_PRICE 表内の UNIT_COST 列のデータ・タイプを変更するよう求められています。この表は、GSDB データベースの GOSALESCT スキーマ内にあります。
このシナリオでは、以下のことを行います。
- 行う変更を定義する。
- 変更プランを使用してデータベース・オブジェクトの変更を含める。
- 行っている変更によって影響を受けるオブジェクトを識別する。
- 変更プランから、データベースに変更を適用するためのコマンドを生成する。
- アンロード・コマンドおよび再ロード・コマンドを使用してデータを保存する。
- フラッシュ・パッケージ・キャッシュ、RUNSTATS、REBIND、および REORG などのメンテナンス・コマンドを作成する。
- データベースに変更を配置する。
以下のステップをすべて実行して、GSDB データベースに要求された変更を加えます。
- GSDB データベースに関する接続が管理エクスプローラーに存在することを確認します。
- 接続が存在しない場合は、管理エクスプローラーのツールバーで、「新規」のドロップダウン・ボタンをクリックし、「データベースへの新規接続 (New Connection to a Database)」をクリックします。表示されるウィザードで、詳細を入力してから、「終了」をクリックします。
- 接続を行う必要がある場合は、管理エクスプローラーでデータベースを右クリックし、「接続」をクリックします。
表示されるウィザードで詳細を指定し、「終了」をクリックします。
- 変更する表を検出します。
- 「管理エクスプローラー」ビューで、GSDB データベースの内容を展開します。
- 「表」フォルダーをクリックします。
- 「オブジェクト・リスト」で CUST_PRICE 表を見つけます。
ヒント: この表を簡単に見つけるには、「表名検索 (Tables Name Search)」フィールドに CUST と入力してください。
CUST という文字で始まる名前の表のみが表示されます。
図 1. 管理エクスプローラーでの「表」フォルダーの選択と、「オブジェクト・リスト」の「表名検索 (Tables Name Search)」フィールドの使用による CUST_PRICE 表の検索の例
- 変更プラン・ツールバーが「オブジェクト・リスト」に表示される場合は、現在アクティブになっている変更プランを閉じます。
変更プラン・ツールバーで、
(「変更プランを閉じる (Close change plan)」) アイコンをクリックします。ヒント: 変更プラン・ツールバーは、GSDB データベースに対して別の変更プランが開いている場合のみ表示されます。この変更プランには、変更を追加しません。CUST_PRICE 表に対する変更用に、新しい変更プランを使用します。
図 2. 「GSDB Canada rollout」がアクティブな変更プランであることを示す変更プラン・ツールバーが表示された「オブジェクト・リスト」の例
- CUST_PRICE 表の行を右クリックし、「変更」をクリックします。
デフォルト名を使用して新しい変更プランが自動で作成され、変更プラン・ツールバーでアクティブな変更プランとなります。この変更プランがアクティブである間は、CUST_PRICE 表に対して行う変更はすべて、この変更プランに追加されます。
「オブジェクト・リスト」内の CUST_PRICE 表のアイコンは、表が変更中であることを示す
(「オブジェクトの変更」) アイコンに変わります。
図 3. 自動で作成された変更プランが、変更プラン・ツールバーでアクティブな変更プランとなる例
ヒント: 変更プランの名前を変更して、意味のある名前にすることができます。また、自動で作成された変更プランを使用する代わりに、変更プランを手動で作成することもできます。変更プランを手動で作成する場合、プランは最初は空になります。変更プランをアクティブにして、さらにその変更プランに変更を追加する必要があります。
- CUST_PRICE 表内の UNIT_COST 列のデータ・タイプを変更します。
- 「プロパティー」ビューで、「列」タブをクリックして、列情報を表示します。
ヒント: ビューのタイトル「プロパティー」をダブルクリックすると、ビューを最大化できます。 もう一度ダブルクリックすると、
ビューが元のサイズに復元されます。
- UNIT_COST 列で、データ・タイプ・フィールドをダブルクリックし、ドロップダウン・ボックスを使用してデータ・タイプを DECIMAL(19,2) から INTEGER に変更します。
図 4. 「プロパティー」ビューにおける、CUST_PRICE 表内の UNIT_COST 列のデータ・タイプの変更の例
- 変更したオブジェクトによって影響を受ける可能性のあるオブジェクトを評価します。
- 変更プラン・ツールバーで、
(「プラン内の変更を表示 (Show
the plan changes)」) アイコンのリンクされた数をクリックします。変更プランに対する変更が、「オブジェクト・リスト」にリストされます。
「影響を受けるオブジェクト」列に、CUST_PRICE 表を変更することによって影響を受ける可能性のあるオブジェクトの数が表示されます。図 5. 変更プランに現在 1 つの変更があり、その変更により 13 個のオブジェクトが影響を受けることを示す例
- CUST_PRICE 表への変更に対応する行を右クリックしてから、「影響の分析」をクリックします。
- 表示されるモデル・ダイアグラムまたはモデル・レポート・ビューのいずれかを使用して、変更中のオブジェクトによって影響を受けるオブジェクトを評価します。
可能な場合には、IBM® Data Studio によって、
影響を受けるオブジェクトを変更するためのコマンドが自動的に生成されます。
影響を受けるオブジェクト用のコマンドは自動的に生成できないこともあるため、その場合は、影響を受けるオブジェクトを手動で変更する必要があります。
手動で変更する必要があるオブジェクトについては、影響を受けるオブジェクトを「オブジェクト・リスト」で見つけて、
そのオブジェクトを右クリックし、「変更」をクリックします。
次に、「プロパティー」ビューでそのオブジェクトの属性を変更します。
- 変更プランに含まれている変更に問題がない場合は、変更プランを確認して配置します。
- 変更プラン・ツールバーで、
(「変更を確認して配置 (Review and deploy changes)」) アイコンをクリックし、
「確認して配置 (Review and Deploy)」ダイアログ・ボックスを開きます。図 6. 「確認して配置 (Review and Deploy)」ダイアログの例
- 生成された DDL を確認します。
影響を受けるオブジェクトを変更するための DDL が自動的に生成されたことに注意してください。「キャンセル」をクリックすると、
「オブジェクト・リスト」に戻って追加の変更を行うことができます。
- 「データの保存 (Save data)」チェック・ボックスが選択されていることを確認します。
UNIT_COST 列のデータ・タイプを DECIMAL から INTEGER に変更するには、CUST_PRICE 表をドロップして再作成する必要があります。
したがって、データを保存する必要があります。
データが保存される場所を変更する場合は、「DDL のリフレッシュ (Refresh DDL)」をクリックして、表示されている DDL を更新します。
- 「拡張オプション」をクリックして、「取り消しコマンドを生成」チェック・ボックスが選択されていることを確認します。
生成するメンテナンス・コマンドを選択します。
- 「実行」をクリックしてから「終了」をクリックします。
ヒント: コマンド・スクリプトを特定の時間に実行するようにスケジュールに入れるには、「スケジュールの編集 (Edit and schedule)」をクリックしてから「完了」をクリックします。生成されたコマンドが「SQL および XQuery エディター」で開かれ、ここでジョブ・マネージャーを開始してジョブをスケジュールできます。ジョブ・マネージャーを使用するには、IBM Data Studio クライアントが、Data Studio の Web コンソールにアクセスできるように構成されている必要があります。
- 「SQL 結果 (SQL Results)」ビューで、データベース・カタログに対してコマンドを実行した結果を確認します。
これでデータベース・カタログは更新され、指定した変更が組み込まれました。データベースに対して行った変更を取り消すことにした場合は、
生成された取り消しコマンド・スクリプトを実行することができます。