メインコンテンツまでスキップ
Version: v2.1.0

FRUCtoS v2.1.0 インポート手順 (Docker)

1. 本手順の目的

本手順はFRUCtoS v2.1.0のデータのインポート手順を記載しています。

FRUCtoSではFHIRリソース本体とその履歴のほかに検索のためのインデックスを内部的に生成し保持しています。 エクスポート時にFHIRリソース本体とその履歴のみを出力し、インポート時にFHIRリソース本体とその履歴の入力とインデックスの再生成することで異なるバージョン間でのデータ移行を実現しています。

バージョンアップに伴いデータベース(以下DB)の互換性が失われる場合があるため、v2.0.0のデータをv2.1.0の環境で利用する必要がある場合、FRUCtoS v2.0.0 エクスポートと本手順のインポートを行うことを推奨します。

本手順は、以下に関する基本的な知識を有する作業者を対象としています。

  • FRUCtoS
  • Docker
注意
  • ダンプツールではFRUCtoSリポジトリのリソースの登録・改変履歴をテキストファイルに出力し、リポジトリのバックアップやデータ移行に用いることができます。その性質上内部には機密性の高いデータが含まれるため、取り扱いに際しては運用ルール等を定めて厳格に取り扱うことが求められます。
  • バックアップ等データの復元可能な準備を行ってから実施してください。

2. サポート環境

以下の環境で利用することを想定しています。

  • OS
    • Windows Server 2019
    • Windows 10 Pro
    • CentoOS7
    • CentoOS8 Stream
    • Ubuntu 18.04 LTS
    • Ubuntu 20.04.3 LTS
    • MacOS 10.14
  • インストール
    • Java17

3. 準備

3.1. 必要な資材

  • v2.1.0-dump-tools-import
    • 通常リソースのインポートの資材
  • v2.1.0-dump-tools-auditevent-import
    • 監査ログのインポートの資材
    • 監査ログのデータ移行を行う場合のみ必要

3.2. 資材のダウンロード

v2.1.0-dump-tools-importは、FRUCtoSの資材のdump-toolsフォルダに、
v2.1.0-dump-tools-auditevent-importは、FRUCtoSの資材のdump-tools-auditeventフォルダにそれぞれ入っています。
FRUCtoSの資材をお持ちでない場合は、こちらからお申込みください。

3.3. 配布資材の構成

  • v2.1.0-dump-tools-importのフォルダ/ファイル構成は以下となっています。
v2.1.0-dump-tools-import/
├── Import.bat ・・・インポート時に実行するファイル(Windows環境)
├── Import.sh ・・・インポート時に実行するファイル(Linux/Mac環境)
├─bin/ ・・・ダンプのバッチ(直接実行しない)
│ └── (記載は省略)
└─lib/ ・・・ダンプの依存jar(直接実行しない)
└── (記載は省略)
  • v2.1.0-dump-tools-auditevent-importのフォルダ/ファイル構成は以下となっています。
v2.1.0-dump-tools-auditevent-import/
├── AuditEventImport.bat ・・・インポート時に実行するファイル(Windows環境)
├── AuditEventImport.sh ・・・インポート時に実行するファイル(Linux/Mac環境)
├─bin/ ・・・ダンプのバッチ(直接実行しない)
│ └── (記載は省略)
└─lib/ ・・・ダンプの依存jar(直接実行しない)
└── (記載は省略)
注意

docker-composeのバージョンがv2.0.0以上の場合、以下ファイル内のdocker-composeコマンドをdocker composeコマンドに修正した後ご利用ください。
・ Import.ps1
・ Import.sh
・ AuditEventImport.ps1
・ AuditEventImport.sh

4. インポート手順

以降、v2.1.0-dump-tools-importを配置したフォルダは $WORK_DIR
v2.1.0-dump-tools-auditevent-importを配置したフォルダは $AUDIT_WORK_DIR と表記します。

通常リソースと監査ログのデータ移行を行う場合は、4.1.以降の全ての手順を実施してください。
通常リソースのみデータ移行を行う場合は、4.1., 4.3., 4.4., 4.6., 4.7 のみ実施してください。

4.1. 【通常のリソース】インポートの準備

インポートに必要な情報を修正します。

  • 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
    • $WORK_DIR/v2.1.0-dump-tools-import/Import.bat
  • 修正内容
REM ========================= ユーザー設定項目 =========================
REM DB接続情報 ---------------------------------------------------------
set DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
set DATASOURCE_URL=jdbc:postgresql://localhost:5433/fructos ・・・(DBのURL)
set DATASOURCE_USERNAME=fructos ・・・(ユーザー名)
set DATASOURCE_PASSWORD=fructos#2020 ・・・(パスワード)
REM ファイルパス情報 ---------------------------------------------------
REM インポートするファイルが存在するフォルダ
set TRANSACTIONLOG_FILE_PATH=D:\temp\XXX\import ・・・(インポート元)
REM その他 -------------------------------------------------------------
REM サーバ内参照整合性を満たすようにチェックする
set MEET_REFERENCE_INTEGRITY=false
REM 静的トランザクションログ出力機能 圧縮時1ファイルあたりの容量(bytes)
set COMPRESS_FILE_SIZE_THRESHOLD=104857600
REM ====================================================================

4.2. 【監査ログ】インポートの準備

監査ログのデータ移行を行わない場合、本手順はスキップしてください。

監査ログのインポートの準備

インポートに必要な情報を修正します。

  • 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
    • $AUDIT_WORK_DIR/v2.1.0-dump-tools-auditevent-import/AuditEventImport.bat
  • 修正内容
REM ========================= ユーザー設定項目 =========================
REM AuditEvent用のDB接続情報 -------------------------------------------
set DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
set DATASOURCE_URL=jdbc:postgresql://localhost:5434/fructos_audit ・・・(DBのURL)
set DATASOURCE_USERNAME=fructos_audit ・・・(ユーザー名)
set DATASOURCE_PASSWORD=fructos!audit#2020 ・・・(パスワード)
REM ファイルパス情報 ---------------------------------------------------
REM インポートするファイルが存在するフォルダ
set TRANSACTIONLOG_FILE_PATH=D:\temp\XXX\audit_import ・・・(インポート元)
REM その他 -------------------------------------------------------------
REM サーバ内参照整合性を満たすようにチェックする
set MEET_REFERENCE_INTEGRITY=false
REM 静的トランザクションログ出力機能 圧縮時1ファイルあたりの容量(bytes)
set COMPRESS_FILE_SIZE_THRESHOLD=104857600
REM ====================================================================

4.3. FRUCtoSの停止

  • 以下コマンドを実行します。
    コマンドプロンプト/Shell
    docker-compose stop tomcat

4.4. 【通常のリソース】インポートの実施

  1. バッチを実行します。
    コマンドプロンプト
    cd $WORK_DIR\v2.1.0-dump-tools-import
    Import.bat
  2. 実行する際の情報が表示されるので確認し、問題なければ実行(y)を選択します。
  3. インポートが開始されるので、バッチが終了するまで待機します。
  4. バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
    コマンドプロンプト
    echo %ERRORLEVEL%
注意

監査ログのデータ移行を行う場合、必ず 4.5. 【監査ログ】インポートの実施後に通常のリソースのCRUDやSearchを実施してください。
4.5. 【監査ログ】インポートの実施前に通常のリソースのCRUDやSearchを実施すると監査ログのデータ移行に失敗する可能性があります。

4.5. 【監査ログ】インポートの実施

監査ログのデータ移行を行わない場合、本手順はスキップしてください。

監査ログのインポートの実施
  1. バッチを実行します。
    コマンドプロンプト
    cd $AUDIT_WORK_DIR\v2.1.0-dump-tools-auditevent-import
    AuditEventImport.bat
  2. 実行する際の情報が表示されるので確認し、問題なければ実行(y)を選択します。
  3. インポートが開始されるので、バッチが終了するまで待機します。
  4. バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
    コマンドプロンプト
    echo %ERRORLEVEL%

4.6. FRUCtoSの起動

  • 以下コマンドを実行します。
    コマンドプロンプト/Shell
    docker-compose start tomcat

4.7. 【通常のリソース】インポートされたデータの確認

  • REST APIクライアントからreadまたはsearchをリクエストして確認します。

4.8. 【監査ログ】インポートされたデータの確認

監査ログのデータ移行を行わない場合、本手順はスキップしてください。

監査ログのインポートの実施
  • (管理システムを導入している環境のみ)管理システムの監査ログ管理画面から監査ログを検索して確認します。