IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Information Management  >

Optim: Data Growth Solutionについて

データベースのアーカイブ

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


レベル: 初級

高橋 弘一 (takahak@jp.ibm.com), 大和ソフトウェア開発研究所 IM開発&サービス, 日本アイ・ビー・エム株式会社

2009年 4月 20日

この記事では、IBM Optim for z/OS V6.1のData Growth Solutionの機能であるデータベースのアーカイブ方法について説明します。

はじめに

Data Growth Solutionは、データベース上の古いデータをアーカイブ・ ファイルに書き出し、データベース上から削除するというものです。 これにより、

  1. データベースのパフォーマンス向上をはかります
  2. アーカイブ・ファイルをコストの安いメディアに保管することにより、コストの 削減を行います
また、 Optimはアーカイブ・ファイルに対し、検索、ブラウズの機能を提供しているので、 アーカイブ後も必要であればその内容を確認できます。




上に戻る


シナリオについて

今回のシナリオでは、顧客情報(CUSTOMERS)、受注情報(ORDERS)、商品情報 (ITEMS)の3つの表を用います(図1)。 スキーマ名(OptimではCreator IDと呼びます) はすべてJDEMOです。 受注情報表は、顧客情報表の顧客ID、商品情報表の商品IDを 外部キーとしてもっています。 そして、 受注情報のうち2007年以前に出荷した情報については、アクセス頻度が少ないので、 アーカイブ・ファイルに書き出して表から削除します。 このとき、アーカイブする受注情報に対応する顧客情報、商品情報も一緒にアーカイブします。 最後に、アーカイブ・ファイル内のデータを検索、ブラウズ します。


図1. 表構成
Tables configuration



上に戻る


アーカイブの起動

Optimのメイン・メニューは図2のようになっています。


図2. Optimメイン・メニュー
Optim Main Menu

図2の画面で9 ARCHIVEを、その次の画面で1 ARCHIVEを選択 すると図3のアーカイブの画面になります。


図3. アーカイブ・メニュー
ARCHIVE Process



上に戻る


表の指定

まずアーカイブする表の指定を行うため、アクセス定義を定義します。 図3の画面で適当なアクセス定義名を設定して1 TABLES を選択すると、図4のような画面になります (図3では、アクセス定義名としてJDEMO.TAKAHAK.ORDERSを設定 しています)。


図4. 表の指定
Select Tables/Views for AD

図4の画面での定義は以下のようになります。

  1. アーカイブの開始表の名前JDEMO.ORDERSを入力し、ENTERを押す (a)
  2. ORSERSがリストに追加される (b)
  3. CommandにGET TABLES RELATED ALLと入力し、ENTERを押す (c)
  4. 開始表に関連する表CUSTOMERSITEMS が自動的に取得されてリストに追加される (d)
  5. ORSERS表に対してのみDAA=Yを設定する (e)
DAAはDelete After Archiveの略で、アーカイブ時にアーカイブした レコードを表から削除するかどうかを指定します。 今回のシナリオでは、ORDERS表のみが削除の対象となります。 以上で、表の定義は終了です。




上に戻る


レコードの指定

次にアーカイブするレコードの指定を行います。 ORDERS表の2008年1月1日より以前に出荷されたレコードを アーカイブするように指定します。 その方法は以下のようになります。

  1. 図4のORDERS表のCmdに、ARCと入力しENTERを押すと、 図5のような画面になる
    この時点でDATE_CRITERIAは設定されていません。 この画面はORDERS表の列名を表示しています。SHIP_DATEが 出荷日の列名です。
  2. 図5のSHIP_DATEのCmdにDC(Date Criteria)と 入力し、ENTERを押す
  3. アーカイブするレコードの出荷日の基準値を設定するポップアップ画面が 表示されるので、2008-01-01と入力し(図6)、F3で終了する
  4. 図5のようにSHIP_DATEの基準値が設定される
以上で、アーカイブするレコードの条件指定は終了です。F3で 図3のアーカイブ・メニューまで戻ります。


図5. レコードの指定
Specify Archive Criteria for AD

図6. 出荷日の基準値の指定
Define Date Criteria



上に戻る


Traversal Pathの指定

次にTraversal Pathの指定を行います。これは、ある表のあるレコードが 選択されたとき、それに関連する表の関連するレコードを選択するか どうかの指定です。 図3のアーカイブ・メニューで、2 PATHを選択すると 図7のような画面になります。 この画面のQ1、Q2の値を指定します。 Q1は、子表のレコードが選択されたとき、親表の該当する レコードを選択するかどうかを指定します。 Q2は、Q1によって親表のレコードが選択された とき、再度それに該当する子表のレコードを選択するかどうかを指定します (図8)。 なので、このシナリオでは、CUSTOMERS-ORSERS、ITEMS-ORDERSの関係とも、 Q1=YQ2=Nを指定します。


図7. Traversal Pathの指定
Specify Relationship Usage

図8. Q1, Q2の説明
Explanation about Q1 and Q2



上に戻る


アーカイブの実行

以上で、アーカイブのための準備は終了しました。 アーカイブを実行します。 図3のアーカイブ・メニューにおいて4 PERFORMを 選択すると、図9のような画面になります。


図9. アーカイブ・パラメータの指定
Specify ARCHIVE Parameters and Execute

Archive File DSNControl File DSNにそれぞれ、 アーカイブ・ファイルの順次データセットの名前、制御ファイルの順次データセットの名前 を入力します。制御ファイルのデータセットにはアーカイブ・プロセスの結果などが書き込まれます。 これらのデータセットが新規の場合は、この後の実行時にアロケーションの画面が表示 されます。 Defer Delete After Archive=Yを指定すると、アーカイブ時に表内のレコードの削除 を行わず、後でユーザーがDELETEプロセスを起動することになります。 Run Archive in Batch or Onlineで、アーカイブを Onlineモード、Batchモードのどちらで行うかを指定します。 Batchモードを選択した場合、JCLが生成されるのでそれを保存しておけば、その後、Optimの画面 を経由せずJCLからアーカイブを実行できます。 Onlineモードの場合、パラメータの指定後ENTERを押すとアーカイブが実行され、 最後に図10のようなプロセス・レポートが出力されます。


図10. プロセス・レポート
ARCHIVE Process Report

これで、ORDERS表の2008年1月1日より以前に出荷されたレコードと、 それに関連するCUSTOMERS表、ITEMS表のレコードが順次データセット JDEMO.ARCHIVE.ORDERS1に書き込まれました。 またDefer Delete After Archive=Nの場合は、ORDERS表のアーカイブされたレコードは、 表から削除されています。




上に戻る


アーカイブ・ファイルのブラウズ

Optimは表を検索、ブラウズする機能を提供していますが (図21 BROWSE TABLE)、 それと同様のインターフェースでアーカイブ・ファイルの内容を検索、ブラウズする 機能も提供しています。その方法について説明します。 図3のアーカイブ・メニューでB BROWSE ARCHIVE FILE を選択すると、図11の ような画面になります。


図11. ブラウズ・パラメータの指定
Extrcat, Archive or Control File Browse Parameters

DSNにアーカイブ・ファイルのデータセット名を指定します。 Browse Modeには表の中身をブラウズするのでTを指定します。 Begin withには、D(Data) 、S(Selection Criteria)、Q(SQL)を指定できます。 Dを選択するとアーカイブ・ファイル内のすべてのレコードが表示されます。 Sを選択すると、Selection Criteriaの画面が表示され、そこで表示するレコードの 条件を指定します。Qを選択すると、SQLのWHERE句を記述する 画面が表示されるので、そこで表示するレコードの検索条件を指定します。 Begin with=Sを選択しENTERを押すと、図12のような画面が表示されます。 図11においてTable Nameに表名を指定していないので、開始表である ORDERS表の列情報が表示されます。


図12. アーカイブ・ファイルのブラウズ条件の指定
Archive Selection Criteria - Coulmns

この画面では、ブラウズするレコードの条件として、ITEM_ID=T0009を指定 しています。条件の入力後F3で終了すると、図13のようにアーカイブ ファイル内のITEM_ID=T0009のレコードのみが表示されます。


図13. アーカイブ・ファイルのブラウズ
Archive Browse

また、アーカイブ・ファイルの作成時のレコード条件として、出荷日が2008年1月1日より前を 指定したので、ここに表示されているレコードのSHIP_DATE(出荷日)は、当然 その条件にマッチしたものとなっています。 ところで、このままでは「これらの注文をしたのが誰なのか(CUST_ID)?」、 「注文された商品は何なのか(ITEM_ID)?」は、ひと目ではわかりません。 しかし、今回のアーカイブでは顧客情報表、商品情報表のレコード情報も 一緒にアーカイブしています。そこで、たとえばORDER_ID=R0005のCmdにJ (Joinコマンド)と入力しENTERを押し、表示されるポップアップで CUSTOMERS表をSで選択します。 すると、図14のようにORDER_ID=R0005の注文者であるCUST_ID=C0003の顧客情報が一緒に 表示されます。この画面で表示されているORDERS表のレコードをF7、F8で 前後に移動すると、CUSTOMERSの内容もそれに対応した顧客情報に変更されます。 同様にJOINコマンドで、ITEMS表を選択すると、ORDERS表とその注文 商品の情報が一緒に表示されます。


図14. アーカイブ・ファイルでのJOIN
Join in Browse



上に戻る


まとめ

この記事ではOptim Data Growth Solutionのアーカイブ機能をついて、以下のことを簡単に 説明しました。

  • DB2表のアーカイブ方法
  • アーカイブ・ファイル内のデータの検索、ブラウズ方法

今回は説明しませんでしたが、そのほかにRESTOREという 機能があり、 アーカイブ・ファイルを表に戻すことができます。 その手順は次回説明する、EXTRACTファイルをテスト環境の表にINSERTする 手順と同じですので、そちらを参照して下さい。



著者について

筆者 高橋弘一は、大和ソフトウェア開発研究所 IM開発&サービスのS/Wエンジニアです。 現在はOptimを担当しています。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


IBM、IBM ロゴ、ibm.com、DB2、developerWorksおよびOptimは、世界の多くの国で登録されたInternational Business Machines Corp.の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US)をご覧ください。 他の会社名、製品名およびサービス名等はそれぞれ各社の商標です。

    日本IBMについて プライバシー お問い合わせ