外部データベースから組込みデータベースへの移行

  • 作成者:FRInternational
  • 編集回数:1次
  • 一.概要

    1.問題点

    FineReport プロジェクトをインストールまたはディプロイする時、FineDB データベースが生成されます。FineDB は、FineReport ポータルの情報を保存するためのデータベースであり、ポータルユーザの情報、権限設定の情報などが保存されています。

    初めてプロジェクトをインストールまたはディプロイする時、FineDBを組込みデータベースと外部データベースのどちらに保存するか選択できますが、詳しい情報は「ディプロイ統合紹介」をご参照ください。

    FineDBを外部データベースに保存している場合、外部データベースが接続できない時、またはプロジェクトを移行する時は、FineDBを一旦組込みデータベースに移行する必要があります。

    2.実現方法

    管理システムで手動でプラットフォームの FineDB ファイルをバックアップし、バックアップされたファイルで元のファイルを置き換えます。その後、外部データベース設定ファイルdb.propertiesを削除して組込みデータベースへ移行します。

    二.操作手順

    1.プラットフォーム設定のバックアップ

    1.管理者のアカウントでポータルにログインし、システム-スマート運用保守-バックアップとリカバリに入ります。以下の画像の通り、プラットフォーム設定をクリックしてバックアップの画面に入ります。

    01.png

    注:FineDBが組込みサーバの場合、バックアップ画面に何も表示されません。[システム管理]-[標準]の[外部データベース]の項目から、外部データベースを使用するか設定できます。

    2.管理システム-スマート運用保守-バックアップとリカバリ-プラットフォーム設定に戻り、手動バックアップをクリックするとバックアップ設定のパネルが表示されます。バックアップ名を設定して確定をクリックします。以下の画像の通りです。

    02.png

    2.FineDBデータベースの置き換え

    1.ポータルプロジェクトのディレクトリ%FR_HOME%\webapps\webroot\backup\config\manualに入り、バックアップファイルを確認します。以下の画像の通りです。

    03.png

    2.バックアップファイルをコピーして、バックアップフォルダのconfigフォルダを解凍し、finedbデータベースファイルを確認します。以下の画像の通りです。

    04.png

    3.finedbデータベースファイルをコピーして、FineReport プロジェクトファイルの%FR_HOME%\webapps\webroot\WEB-INF\embedディレクトリにおけるfinedbファイルを置き換えます。以下の画像の通りです。

    05.png 

    3.設定ファイルを削除する

    %FR_HOME%\webapps\webroot\WEB-INF\configディレクトリに入ります。

    db.propertiesファイルをバックアップして削除します。当該設定ファイルには、外部データベースの設定が保存されています。削除すると組込みデータベースが使用されます。以下の画像の通りです。 

    06.png

    4.FineReport プロジェクトを再起動する

    FineReport プロジェクトを再起動して、もう一度管理者のアカウントでポータルにログインし、システム管理-標準外部データベースの項目を確認します。当該設定項目はすでに未設定になっており、組込みFineDBデータベースが使用されています。以下の画像の通りです。

    07.png

    三.注意事項

    1.外部データベースからOracleデータベースへの移行

    本マニュアルでは外部データベースから組込みHSQLデータベースへ移行する方法について紹介しました。外部データベースからOracleデータベースへ移行する際、以下のポイントをご注意ください。

    最後にスペースが含まれているかによって区別されている2箇条の主キーがあるとします。例えばconfigconfig が存在する場合、Orcaleデータベースでは違ったデータとして処理されるが、HSQLでは同じデータとして処理されます。FineDBデータベースでは、fine_conf_entityのみに最後にスペースが含まれる場合があります。 

    バックアップする際は、スペースで終わるデータの最後に'__BL__'を付け加えて、リカバリする時にそれを削除します。この場合、本マニュアルの方法でバックアップファイルをembedフォルダにコピーしてから移行する時は、update fine_conf_entity set id = replace(id, '__BL__', '')を実行して問題あるデータを処理しなければなりません。

    Attachment List


    Theme: FineReport 管理ポータル
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read