メインコンテンツまでスキップ
Version: Next

FRUCtoS v2.1.0 エクスポート手順 (Docker)

1. 本手順の目的

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

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

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

note

ダンプツールは、1つ前のバージョンからのデータ移行のみサポートしています。

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

  • 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-export
    • 通常リソースのエクスポートの資材
  • v2.1.0-dump-tools-auditevent-export
    • 監査ログのエクスポートの資材
    • 監査ログのデータ移行を行う場合のみ必要

3.2. 資材のダウンロード

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

3.3. 配布資材の構成

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

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

4. エクスポート手順

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

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

4.1. 【通常リソース】エクスポートの準備

エクスポートに必要な情報を修正します。

  • 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
    • $WORK_DIR/v2.1.0-dump-tools-export/Export.bat
  • 修正内容
    • DB接続情報は、v2.1.0の環境の値に修正します。
    • ファイルパス情報は、エクスポート時にファイルを出力したいフォルダを指定します。
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\export ・・・(エクスポート先)
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-export/AuditEventExport.bat
  • 修正内容
    • DB接続情報は、v2.1.0の環境の値に修正します。
    • ファイルパス情報は、エクスポート時にファイルを出力したいフォルダを指定します。
      • ⚠️ 通常のリソースのエクスポート先とは異なるパスにしてください。
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_export ・・・(エクスポート先)
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-export
    Export.bat
  2. 実行する際の情報が表示されるので確認し、問題なければ実行(y)を選択します。

  3. エクスポートが開始されるので、バッチが終了するまで待機します。

  4. バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。

    コマンドプロンプト
    echo %ERRORLEVEL%

4.5. 【通常リソース】出力ファイルの確認

  • 正常にエクスポートが実行された場合、指定したフォルダにfhirlogファイルとgzファイルが存在します。
  • gzファイルをインポートで使用します。よって、gzファイルは適切な場所に保管しておいてください。

4.6. 【監査ログ】エクスポートの実施

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

監査ログのエクスポートの実施
  1. バッチを実行します。

    コマンドプロンプト
    cd $AUDIT_WORK_DIR\v2.1.0-dump-tools-auditevent-export
    AuditEventExport.bat
  2. 実行する際の情報が表示されるので確認し、問題なければ実行(y)を選択します。

  3. エクスポートが開始されるので、バッチが終了するまで待機します。

  4. バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。

    コマンドプロンプト
    echo %ERRORLEVEL%

4.7. 【監査ログ】出力ファイルの確認

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

監査ログの出力ファイルの確認
  • 正常にエクスポートが実行された場合、指定したフォルダにfhirlogファイルとgzファイルが存在します。
  • gzファイルをインポートで使用します。よって、gzファイルは適切な場所に保管しておいてください。