付録E.1 アクセス制御機能を使用するためのデータベース移行

アクセス制御非対応のデータベースから,アクセス制御対応のデータベースに移行するための,移行手順およびデータベース移行ツールについて説明します。

<この項の構成>
(1) 移行手順
(2) EDMChangeACL(アクセス制御機能を使用するためのデータベース移行ツール)の文法
(3) エラー発生時の対策手順

(1) 移行手順

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

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

(2) EDMChangeACL(アクセス制御機能を使用するためのデータベース移行ツール)の文法

EDMChangeACLコマンドの詳細について説明します。

機能
アクセス制御非対応のデータベースから,アクセス制御対応のデータベースに移行します。また,メタ情報およびデータベース定義を,次に示す定義項目を追加して更新します。
  • アクセス制御用のメタ情報の追加
  • 定義済みの表に対するアクセス制御用の列の追加
  • 追加されたアクセス制御用の列に対するデータの設定
なお,アクセス制御用プロパティを追加したクラスの一覧は,カレントディレクトリのChangeACLResult.txtに出力されます。
形式

EDMChangeACL  {-w | -u ユーザ識別子}
             〔-f セキュリティ定義ファイル名〕
               -o データベース定義文格納ファイル名
             〔-r RDエリア定義情報ファイル名〕

オプション
-w
DocumentBroker Web Clientを使用している環境で,DocumentBroker Web Clientに登録されているすべてのオブジェクトの所有者のユーザ識別子を,edmProp_Ownerプロパティに設定されている値に変更する場合に指定します。
-u ユーザ識別子
DocumentBrokerサーバに登録されているすべてのオブジェクトの所有者のユーザ識別子を,このオプションで指定するユーザ識別子に変更する場合に指定します。使用するユーザ管理機能に応じたユーザ識別子を指定してください。
指定できるユーザ識別子の長さの範囲は1~254バイトです。
なお,このオプションに指定するユーザ識別子に対しては,文字列の長さだけをチェックします。
-f セキュリティ定義ファイル名
セキュリティ定義ファイルを絶対パスで指定します。セキュリティ定義ファイルに定義されている次に示すエントリの値に従って,オブジェクトの所有者,グループおよびすべてのユーザに対するアクセス権が設定されます。
  • DefaultACFlagOwnerエントリ
  • DefaultACFlagGroupエントリ
  • DefaultACFlagEveryoneエントリ
なお,指定を省略した場合,またはセキュリティ定義ファイルにエントリを定義していない場合は,オブジェクトの所有者,グループおよびすべてのユーザに対してフルコントロールのパーミッションが設定されます。
セキュリティ定義ファイルについては,「4.3 セキュリティ定義ファイル(docaccess.ini)」を参照してください。
-o データベース定義文格納ファイル名
出力されたデータベース定義文を格納するファイルを絶対パスで指定します。
-r RDエリア定義情報ファイル名
RDエリア定義情報ファイルを絶対パスで指定します。-oオプションで指定したデータベース定義文格納ファイル内のRDエリア名を,このオプションで指定するRDエリア定義情報ファイルの定義内容に従って出力する場合に指定します。指定を省略した場合は,このコマンドの実行後,データベース定義文格納ファイル内のRDエリア名を変更してください。
RDエリア定義情報ファイルについては,「4.8 RDエリア定義情報ファイル」を参照してください。

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

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

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