付録E.4 マルチファイル管理機能を使用するためのデータベース移行

マルチファイル管理機能非対応のデータベースから,マルチファイル管理機能対応のデータベースに移行するための,移行手順およびデータベース移行ツールについて説明します。

<この項の構成>
(1) 移行手順
(2) EDMChangeMultiFile(マルチファイル管理機能を使用するためのデータベース移行ツール)の文法
(3) エラー発生時の対策手順
(4) EDM_RDAREA_MULTIFILE.txtの内容

(1) 移行手順

データベースの移行手順について説明します。

  1. データベースのバックアップを作成します。
    • データベースのエラーによってデータベース移行ツールが異常終了した場合,このバックアップからデータベースを回復します。
  2. RDエリア定義情報ファイルを作成します。
    • 次のファイルを基に作成してください。
      /opt/HiEDMS/sample/EDM_RDAREA_MULTIFILE.txt
    • 手順4.実行後に出力されるデータベース定義文のRDエリア名をあらかじめ指定しない場合は,この作業は不要です。ただし,手順4.実行後,データベース定義文格納ファイル内のRDエリア名を変更する必要があります。
    • RDエリア定義情報ファイルについては,「4.8 RDエリア定義情報ファイル」を参照してください。
  3. RDエリアを追加する必要がある場合は,HiRDBのデータベース構成変更ユティリティ(pdmod)を実行して,RDエリアを追加します。
    • マルチファイル格納用の表の追加によって,LOB用RDエリアを追加する必要があります。
    • HiRDBのデータベース構成変更ユティリティ(pdmod)については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
  4. EDMChangeMultiFileコマンドを実行します。
    データベース定義文が出力されます。
    • このコマンドを実行する前に,データベースを起動してください。
    • この作業は,DocumentBrokerの実行環境ディレクトリを環境変数「DOCBROKERDIR」に指定していることを前提としています。
    • このコマンドの実行中に,ほかのコマンドは実行できません。
    • 手順2.でRDエリア定義情報ファイルを作成していない場合は,このコマンドを実行したあと,データベース定義文格納ファイル内のRDエリア名を変更してください。
    • EDMChangeMultiFileコマンドの詳細については,「(2) EDMChangeMultiFile(マルチファイル管理機能を使用するためのデータベース移行ツール)の文法」を参照してください。
  5. データベース定義文格納ファイルを入力ファイルとして,HiRDBのデータベース定義ユティリティ(pddef)を実行し,スキーマの定義内容を更新します。
    手順4.実行後に出力されたデータベース定義文を基に,スキーマの定義内容が更新され,マルチファイル管理機能に対応したデータベースのスキーマがHiRDBの表に格納されます。
    • HiRDBのデータベース定義ユティリティ(pddef)については,マニュアル「HiRDB コマンドリファレンス」を参照してください。

(2) EDMChangeMultiFile(マルチファイル管理機能を使用するためのデータベース移行ツール)の文法

EDMChangeMultiFileコマンドの詳細について説明します。
機能
マルチファイル管理機能非対応のデータベースから,マルチファイル管理機能対応のデータベースに移行します。
形式

EDMChangeMultiFile -c 一つの文書に格納するファイルの最大数
                  -o データベース定義文格納ファイル名
                〔-r RDエリア定義情報ファイル名〕
                〔-u {ALL | PARTIAL | NO}〕

オプション
-c 一つの文書に格納するファイルの最大数
一つの文書に含まれるコンテントとして格納するファイルの最大数を指定します。
指定できる値は2~4,096です。
-o データベース定義文格納ファイル名
出力されたデータベース定義文を格納するファイルのパス名を指定します。
-r RDエリア定義情報ファイル名
RDエリア定義情報ファイルのパス名を指定します。-oオプションで指定したデータベース定義文格納ファイル内のRDエリア名を,このオプションで指定するRDエリア定義情報ファイルの定義内容に従って出力する場合に指定します。指定を省略した場合は,このコマンドを実行したあと,データベース定義文格納ファイル内のRDエリア名を変更してください。
RDエリア定義情報ファイルについては,「4.8 RDエリア定義情報ファイル」を参照してください。
-u {ALL | PARTIAL | NO}
コンテント格納用RDエリアに対して,データベースの更新ログを取得する方式を,次のどれかの文字列で指定します。オプションを省略した場合は,「ALL」が仮定されます。
  • ALL
    ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。この場合,ロールバックおよびロールフォワードに必要なデータベースの更新ログが取得されます。
  • PARTIAL
    更新前ログ取得モードでユーザLOB用RDエリアを運用する場合に指定します。この場合,ロールバックに必要なデータベースの更新ログが取得されます。
  • NO
    ログレスモードでユーザLOB用RDエリアを運用する場合に指定します。この場合,データベースの更新ログは取得されません。

(3) エラー発生時の対策手順

データベースのエラーによってデータベース移行ツールが異常終了した場合,次に示す手順に従って対策を実施してください。

  1. 移行手順1.で作成したバックアップから,データベースを回復します。
  2. エラーメッセージを基に,エラーの要因を取り除きます。
  3. 移行手順3.から再度実行します。

(4) EDM_RDAREA_MULTIFILE.txtの内容

EDM_RDAREA_MULTIFILE.txtの内容を次に示します。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for table                                             ;
;  Format : class=class_name,area=area_name                             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[TableArea]
class=edmClass_ContentTransfers,area=USERAREA

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for Index                                             ;
;  Format : class=class_name,prop=property_name,{prop=property_name,...};
;                            area=area_name                             ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[IndexArea]
class=edmClass_ContentTransfers,prop=dmaProp_OIID,area=INDEXAREA
class=edmClass_ContentTransfers,prop=ThisPropertyDescription,area=INDEXAREA
class=edmClass_ContentTransfers,prop=edmProp_Parent,area=INDEXAREA

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Area Definition for BLOB Column                                       ;
;  Format : class=class_name,prop=edmProp_Content,area=area_name        ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[LobArea]
class=edmClass_ContentTransfers,prop=edmProp_Content,area=BLOBAREA