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. 【通常リソース】エクスポートの準備
エクスポートに必要な情報を修正します。
- Windowsの場合
- Linux/Macの場合
- 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
- $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 ====================================================================
- 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
- $WORK_DIR/v2.1.0-dump-tools-export/Export.sh
- 修正内容
- DB接続情報は、v2.1.0の環境の値に修正します。
- ファイルパス情報は、エクスポート時にファイルを出力したいフォルダを指定します。
# ========================= ユーザー設定項目 =========================
# DB接続情報 ---------------------------------------------------------
DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
DATASOURCE_URL=jdbc:postgresql://localhost:5433/fructos ・・・(DBのURL)
DATASOURCE_USERNAME=fructos ・・・(ユーザー名)
DATASOURCE_PASSWORD=fructos#2020 ・・・(パスワード)
# ファイルパス情報----------------------------------------------------
## エクスポートしたファイルを保存するフォルダ
TRANSACTIONLOG_FILE_PATH=/home/XXX/export ・・・(エクスポート先)
# その他--------------------------------------------------------------
## サーバ内参照整合性を満たすようにチェックする
MEET_REFERENCE_INTEGRITY=false
## 静的トランザクションログ出力機能 圧縮時1ファイルあたりの容量(bytes)
COMPRESS_FILE_SIZE_THRESHOLD=104857600
# ====================================================================
4.2. 【監査ログ】エクスポートの準備
監査ログのデータ移行を行わない場合、本手順はスキップしてください。
監査ログのエクスポートの準備
エクスポートに必要な情報を修正します。
- Windowsの場合
- Linux/Macの場合
- 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
- $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 ====================================================================
- 修正対象:下記ファイルをメモ帳などで開き、ユーザー設定項目を修正してください。
- $AUDIT_WORK_DIR/v2.1.0-dump-tools-auditevent-export/AuditEventExport.sh
- 修正内容
- DB接続情報は、v2.1.0の環境の値に修正します。
- ファイルパス情報は、エクスポート時にファイルを出力したいフォルダを指定します。
- ⚠️ 通常のリソースのエクスポート先とは異なるパスにしてください。
# ========================= ユーザー設定項目 =========================
# AuditEvent用のDB接続情報 -------------------------------------------
DATASOURCE_DRIVER_CLASS_NAME=org.postgresql.Driver
DATASOURCE_URL=jdbc:postgresql://localhost:5434/fructos_audit ・・・(DBのURL)
DATASOURCE_USERNAME=fructos_audit ・・・(ユーザー名)
DATASOURCE_PASSWORD=fructos!audit#2020 ・・・(パスワード)
# ファイルパス情報----------------------------------------------------
## エクスポートしたファイルを保存するフォルダ
TRANSACTIONLOG_FILE_PATH=/home/XXX/audit_export ・・・(エクスポート先)
# その他--------------------------------------------------------------
## サーバ内参照整合性を満たすようにチェックする
MEET_REFERENCE_INTEGRITY=false
## 静的トランザクションログ出力機能 圧縮時1ファイルあたりの容量(bytes)
COMPRESS_FILE_SIZE_THRESHOLD=104857600
# ====================================================================
4.3. FRUCtoSの停止
以下コマンドを実行します。
コマンドプロンプト/Shelldocker-compose stop tomcat
4.4. 【通常リソース】エクスポートの実施
- Windowsの場合
- Linux/Macの場合
バッチを実行します。
コマンドプロンプトcd $WORK_DIR\v2.1.0-dump-tools-export
Export.bat実行する際の情報が表示されるので確認し、問題なければ実行(
y
)を選択します。エクスポートが開始されるので、バッチが終了するまで待機します。
バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
コマンドプロンプトecho %ERRORLEVEL%
バッチを実行します。
Shellcd $WORK_DIR/v2.1.0-dump-tools-export
sh Export.sh実行する際の情報が表示されるので確認し、問題なければ実行(
y
)を選択します。エクスポートが開始されるので、バッチが終了するまで待機します。
バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
Shellecho $?
4.5. 【通常リソース】出力ファイルの確認
- 正常にエクスポートが実行された場合、指定したフォルダにfhirlogファイルとgzファイルが存在します。
- gzファイルをインポートで使用します。よって、gzファイルは適切な場所に保管しておいてください。
4.6. 【監査ログ】エクスポートの実施
監査ログのデータ移行を行わない場合、本手順はスキップしてください。
監査ログのエクスポートの実施
- Windowsの場合
- Linux/Macの場合
バッチを実行します。
コマンドプロンプトcd $AUDIT_WORK_DIR\v2.1.0-dump-tools-auditevent-export
AuditEventExport.bat実行する際の情報が表示されるので確認し、問題なければ実行(
y
)を選択します。エクスポートが開始されるので、バッチが終了するまで待機します。
バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
コマンドプロンプトecho %ERRORLEVEL%
バッチを実行します。
Shellcd $AUDIT_WORK_DIR/v2.1.0-dump-tools-auditevent-export
sh AuditEventExport.sh実行する際の情報が表示されるので確認し、問題なければ実行(
y
)を選択します。エクスポートが開始されるので、バッチが終了するまで待機します。
バッチ終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
Shellecho $?
4.7. 【監査ログ】出力ファイルの確認
監査ログのデータ移行を行わない場合、本手順はスキップしてください。
監査ログの出力ファイルの確認
- 正常にエクスポートが実行された場合、指定したフォルダにfhirlogファイルとgzファイルが存在します。
- gzファイルをインポートで使用します。よって、gzファイルは適切な場所に保管しておいてください。