付録C.5 DBの移行

Cosminexus Portal Framework 06-10以降にDB構成が変更になったため,Cosminexus Portal Framework 06-00からバージョンアップする場合,共通情報を使用しているときは,DBを移行する必要があります。ここでは,DBの移行作業について説明します。

DBの移行作業では,次の作業を行います。

それぞれの作業について説明します。

<この項の構成>
(1) DBを移行する前に
(2) DBの移行手順
(3) 障害発生時の対処方法
(4) リポジトリ情報の移行手順

(1) DBを移行する前に

ここでは,DBを移行する前に知っておいていただきたい内容を説明します。

(a) 共通情報の扱いについて

Cosminexus Portal Framework 06-10以降にDB構成が変更になったため,標準画面レイアウト情報とポータル管理グループ情報を切り離して運用できなくなりました。また,uCosminexus Portal Framework 07-00では,共通情報として設定できる情報に,ポートレットグループ情報とWebコンテンツポートレットのパラメタ値情報が追加されました。共通情報を設定する場合は,四つの情報すべてを共通情報として扱うことになりますので,ご注意ください。

(b) 前提条件

DBの移行作業で,前提となるプログラムプロダクトは次のとおりです。

なお,移行前のDBは,Cosminexus Portal Framework 06-00環境で作成され,ポータル管理グループ情報が設定済みであることを前提とします。

(c) 移行作業で使用するファイル

移行作業で使用するファイルは,次のディレクトリに格納されています。

格納ディレクトリ
{uCosminexus Portal Frameworkインストールディレクトリ}¥samples¥config¥empowermentdb

移行作業で使用するファイルは次のとおりです。

表C-7 移行作業で使用するファイル

ファイル種別ファイル名
定義変更用SQL文alterftable_1.sql
初期データセットアップ用SQL文alterftable_2.sql
確認作業用SQL文testftable.sql
移行用リポジトリファイルサンプル1Repository.add1.xml
移行用リポジトリファイルサンプル2Repository.add2.xml

注※ 各SQL文の内容は,「FILECONTENTテーブル作成時のSQL文」の内容で作成されていることを前提としています。テーブル名およびカラム名が異なる場合は,各SQL文の該当個所を修正してから使用してください。


(2) DBの移行手順

DBの移行手順を次に示します。

  1. 移行の対象となるFILECONTENTテーブルのバックアップを取得します。
  2. 移行の対象となるHiRDBのRDエリアのバックアップを取得します。
    バックアップ対象となるRDエリア名称は,FILECONTENTテーブル作成時のSQL文に定義されています。
    FILECONTENTテーブル作成時のSQL文を次に示します。なお,太字部分がバックアップ対象となるRD名称です。
    FILECONTENTテーブル作成時のSQL文

    CREAT TABLE FILECONTENT
    (
       FILENAME VARCHAR(256) PRIMARY KEY,
       FILECONTENT BLOB(64K) IN (LOBPFC),
       UPDATECODE INTEGER
    ) IN RDPFC;

  3. PDSQLを起動します。
  4. コマンドを実行し,HiRDBへログインするための環境変数を設定します。
    実行するコマンドを次に示します。なお,ユーザ名,パスワードには,それぞれHiRDBのログインユーザ名,パスワードを指定します。

    set pduser={ユーザ名}/{パスワード}

  5. コマンドで,定義変更用SQL文と初期データセットアップ用SQL文を実行します。
    コマンドの実行例を次に示します。

    pdsql < alterftable_1.sql
    pdsql < alterftable_2.sql

    以上で,DBの移行は終了です。移行が正常に終了しなかった場合の対処方法については,「(3) 障害発生時の対処方法」を参照してください。
    続いて,正しく移行処理が行われたかどうかを確認します。
  6. コマンドで,確認SQL文を実行します。
    コマンドの実行例を次に示します。

    pdsql < testftable.sql

  7. コマンドの実行結果を確認します。
    手順5.で移行が正常に終了しても,画面に次のメッセージが出力された場合は,移行処理に失敗しています。

    図C-1 testftable.sql文実行結果(移行処理に失敗している場合)

    [図データ]

    移行処理が失敗した場合の対処方法については,「(3) 障害発生時の対処方法」を参照してください。

(3) 障害発生時の対処方法

SQL実行中にエラーが発生した場合は,SQL文中のテーブル名,カラム名に誤りがないかどうか確認してください。

定義に誤りがあった場合は,SQL文中の誤りを訂正し,「(2) DBの移行手順」を再度実行してください。

定義に誤りがないのに再度エラーが発生する場合や,エラー後にPDSQLが起動しなくなった場合は,バックアップをしておいたDBをリストアし,「(2) DBの移行手順」を再度実行してください。

(4) リポジトリ情報の移行手順

Repository.xmlファイルを直接編集して,リポジトリの構成情報およびマッピング情報を変更します。

Repository.xmlファイルの格納ディレクトリは次のとおりです。

格納ディレクトリ
{PROJECT_HOME}¥WEB-INF¥conf

リポジトリ情報の移行手順を次に示します。

  1. 現在のRepository.xmlファイルから,次の<resource>要素(<resource>タグから</resource>タグまで)をすべて削除します。削除する際は,次に示す<resource>要素以外の記述を削除しないようご注意ください。
    • <resource name="PORTALFILE" type="DB">
    • <resource name="PORTALGROUP-R" type="DB">
    • <resource name="PORTALGROUP-W" type="DB">
    • <resource name="PORTALLAYOUT-R" type="DB">
    • <resource name="PORTALLAYOUT-W" type="DB">
    • <resource name="PORTALPORTLET-R" type="DB">
    • <resource name="PORTALPORTLET-W" type="DB">
    • <resource name="PORTALPORTLET-V1" type="DB">
    • <resource name="PORTALCREATEID" type="DB">
    • <resource name="PORTALUPDATEID" type="DB">
  2. 現在のRepository.xmlファイルから,<portalCommon>要素(<portalCommon>タグから</portalCommon>タグまで)をすべて削除します。
  3. 手順1.で削除した部分にRepository.add1.xmlファイルの全内容を挿入します。
  4. 手順2.で削除した部分にRepository.add2.xmlファイルの全内容を挿入します。

移行前のRepository.xmlファイルと移行後のRepository.xmlファイルを次に示します。

図C-2 移行前のRepository.xmlファイル

[図データ]

図C-3 移行後のRepository.xmlファイル

[図データ]