Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


13.10.4 SD FMBのSDBデータベースのアンロードおよびデータロード

例題

SDBデータベースを再編成するために,横分割されているSDBデータベースをアンロードします。そのあと,作成したアンロードデータファイルを入力データファイルにしてデータロードします。

〈この項の構成〉

(1) 構成および条件

SDBデータベースの構成

[図データ]

SDBデータベースの構造

[図データ]

条件
  • SDBデータベース種別はSD FMBです。

  • インデクスFMB1_IDX01が定義されています。

  • アンロードおよびデータロードの対象は,RDAREA013に格納されているレコードと,RDAREA017に格納されているインデクスです。

(2) アンロードの実行例

pdsdbrogコマンドの実行例

 pdsdbrog /usr/control_rog_file

pdsdbrog制御文(/usr/control_rog_file)の例

 environment
   schema   = FMB1               ...1
   exectime = 0                  ...2
   recnomsg = 1                  ...3
 unload
   record   = FMB1_RCA           ...4
   server   = BES2               ...5
   area     = RDAREA013          ...6
   unldfile = /usr/unld_data     ...7
   unldinf  = /usr/unld_result   ...8
   prefix   = 0                  ...9
   unldkind = lod                ...10 
[説明]
  1. SDBデータベース名を指定します。

  2. コマンドの実行時間の上限を指定します。0を指定した場合,上限は設定されません。

  3. アンロードが1万件完了するごとに経過メッセージを出力します。

  4. ルートレコードのレコード型名を指定します。

  5. アンロード対象のRDエリアがあるバックエンドサーバを指定します。

  6. アンロード対象のRDエリアを指定します。

  7. アンロードデータファイル名を指定します。

  8. 実行結果ファイル名を指定します。

  9. プリフィクス部の長さに0を指定します。

  10. データロードで使用できる入力データファイルの形式でアンロードデータファイルを出力します。

(3) データロードの実行例

pdsdblodコマンドの実行例

 pdsdblod /usr/control_lod_file

pdsdblod制御文(/usr/control_lod_file)の例

 environment
   schema   = FMB1               ...1
   logmode  = no                 ...2
   purge    = yes                ...3
   exectime = 0                  ...4
   recnomsg = 1                  ...5
   divermsg = put                ...6
 load
   type     = tree               ...7
   record   = FMB1_RCA           ...8
   server   = BES2               ...9
   area     = RDAREA013          ...10
   data     = /usr/unld_data     ...11
   storinf  = /usr/load_result   ...12
   errdata  = /usr/err_data      ...13
   prefix   = 0                  ...14
   idxmode  = create             ...15 
[説明]
  1. SDBデータベース名を指定します。アンロード時に指定したSDBデータベース名を指定します。

  2. ログレスモードでデータロードを実行します。

  3. 既存レコードを削除してデータロードを実行します。必ずyesを指定してください。

  4. コマンドの実行時間の上限を指定します。0を指定した場合,上限は設定されません。

  5. データロードが1万件完了するごとに経過メッセージを出力します。

  6. ほかのRDエリアのレコードは論理エラーとします。

  7. SD FMBのSDBデータベースの場合はtreeを指定します。

  8. ルートレコードのレコード型名を指定します。アンロード時に指定したレコード型名を指定します。

  9. データロード対象のRDエリアがあるバックエンドサーバを指定します。アンロード時に指定したバックエンドサーバ名を指定します。

  10. データロード対象のRDエリアを指定します。アンロード時に指定したRDエリア名を指定します。

  11. (2)で作成したアンロードデータファイルを入力データファイルとして指定します。

  12. 実行結果ファイル名を指定します。

  13. 論理エラー情報ファイル名を指定します。

  14. プリフィクス部の長さに0を指定します。

  15. インデクス一括作成モードでインデクスを作成します。

(4) SDBデータベースの定義

*ENTRY DICTIONARY
  SCHEMA FMB1
    DBTYPE SD FMB
    RECORD FMB1_RCA
      2 KEYDATA
       3  KEYDATA1           XCHARACTER 1   TYPE  K,A
      2  USERDA0             CHARACTER 30   TYPE  U,D
    RECORD FMB1_RCB
      2  KEYDATA1            XCHARACTER 1   TYPE  K,A
      2  DBKEY               INTEGER        TYPE  K,N
      2  USERDB0             CHARACTER 20   TYPE  U,D
    SET SETAB
      OWNER FMB1_RCA
        ORDER LAST
      MEMBER FMB1_RCB
        INSERTION AUTOMATIC
        RETENTION FIXED
  END SCHEMA
*ENTRY DICTIONARY
  STORAGE SCHEMA FMB1 FOR FMB1
  DBTYPE SD
  STORAGE RECORD FMB1_RCA
    SEQUENTIAL FMB1_IDX01 FOR RECORD
      ORDER KEY ASCENDING  KEYDATA1
      WITHIN ((RDAREA015),(RDAREA016),(RDAREA017),(RDAREA018))
    WITHIN ((RDAREA011) KEYDATA1=(X'F3'),
            (RDAREA012) KEYDATA1=(X'F4'),
            (RDAREA013) KEYDATA1=(X'F5'),
            (RDAREA014) KEYDATA1=(X'F6'))
  STORAGE RECORD FMB1_RCB
    CLUSTERED SETAB
      WITHIN ((RDAREA011),(RDAREA012),(RDAREA013),(RDAREA014))
  SET SETAB
    OWNER POINTER FOR FIRST LAST MEMBER
    MEMBER POINTER FOR NEXT PRIOR TENANT
  END STORAGE SCHEMA
*ENTRY DIRECTORY
  DBSCHM FMB1