ORCA 5.1.0 アップデート

ORCA も Ubuntu 16 の旧版のサポートが去年で終わり、いよいよ Ubuntu 18.04 + ORCA 5.1.0 運用に変更する必要に迫られました。
ここにアップデート手順について期しておきます。

旧サーバーでの作業

ORCA のバックアップをとります。

 

sudo -u orca pg_dump -Fc orca > orca.dump

もし、TeraTerm でつないでいるなら、バックアップが終わったら 「ファイル」の「SSH SCP」で、/home/ユーザー名/orca.dump をパソコンにダウンロードします。
例:ユーザー名 ormaster でログインしてるなら、/home/ormaster/orca.dump

Ubuntu 18.04 インストール

これは通常の通りで、標準構成(初期値のまま)で行ってもらえばかまいません。
「通常のインストール」でインストールを行います。
「Ubuntu のインストール中にアップデートをダウンロードする」はチェックを付けといて大丈夫でした。

インストール終了後は

sudo apt update
sudo apt -y dist-upgrade
sudo apt -y autoremove
sudo apt clean

で、いったん最新状態にしておきます。

sudo apt -y install openssh-server

で、openssh server をインストールして、TeraTerm でつないでから作業すると、ファイルのやり等が便利ですので、以下の記述は、TeraTerm での接続を前提に書いてます。

ORCA インストール

sudo -i

にて、root になってから以下の作業を続けます。

wget -q https://ftp.orca.med.or.jp/pub/ubuntu/archive.key
apt-key add archive.key
cd /etc/apt/sources.list.d/
wget https://ftp.orca.med.or.jp/pub/ubuntu/jma-receipt-bionic51.list
apt update
apt -y dist-upgrade
exit

ログインユーザーに戻ったら
注:旧版のデータベースが EUC-JP なら、6行目の UTF-8 を EUC-JP に

sudo apt-get install -y jma-receipt
wget https://ftp.orca.med.or.jp/pub/etc/install_modules_for_ftp.tgz
tar xvzf install_modules_for_ftp.tgz
cd install_modules_for_ftp
sudo -u orca ./install_modules.sh echo 'DBENCODING="UTF-8"' | sudo tee /etc/jma-receipt/db.conf
sudo jma-setup --noinstall

この時に、

DBHOST:        OK (PostgreSQL:localhost)
DBUSER: OK (orca)
DATABASE: CREATEDB (orca)
DBENCODING: OK (UTF-8)
OK! データベースをリストア後再度 jma-setupを実行してください

と、UTF-8 であることを確認しておきます。

一旦できたデータベースを削除するには、

sudo -u orca dropdb orca

で削除できます

ここで一度 orca を止めます。

sudo systemctl stop jma-receipt

旧サーバーの orca.dump を、TeraTerm の 「ファイル」の「SSH SCP」で、/home/ユーザー名/ にアップロードします。
例:ユーザー名 ormaster でログインしてるなら、/home/ormaster/
コピーが終わったら、旧版のデータをレストアします。

cd ~
sudo -u orca pg_restore -x -O -d orca orca.dump

レストア中の以下のエラーは無視していいそうです。

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 4935; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR: must be owner of extension plpgsql
Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';

WARNING: errors ignored on restore: 1

データベースの文字コードが異なる場合は、UTF-8 やら EUC-JP の入った行のエラーがぞろぞろ出るので、

sudo -u orca dropdb orca
sudo vi /etc/jma-receipt/db.conf

で、

DBENCODING="UTF-8"

を書き込んで UTF-8 と EUC-JP を変更して、再度

sudo jma-setup --noinstall

してから、レストアのコマンドを実行してください。
レストアが問題なく終了したら、
注意:3~7 行目は 5.2.0 で実行するとまずいそうです。

sudo jma-setup
sudo apt-get update
sudo apt-get install orca-ca-cert
wget http://ftp.orca.med.or.jp/pub/etc/install_modules_for_ftp.tgz
tar xvzf install_modules_for_ftp.tgz
cd install_modules_for_ftp
sudo -u orca ./install_modules.sh
sudo systemctl start jma-receipt

クライアントソフトでの作業

画面中央に赤字で「マスタデータ移行処理が未実施です。管理者まで連絡してください」と
メッセージが表示されます。
まずは、「03プログラム更新」してから、業務メニューからの「92 マスタ更新」で、「更新」します。
プラグインのエラーは、「プログラム更新」で、「not found」等のエラー表示されているプラグインを一度削除してから、「組込」しなおしてください。

TeraTermで、再度接続してからの作業

保険者マスタ更新を行います。

wget http://ftp.orca.med.or.jp/pub/etc/tools/jma-master-setup.tgz
tar xvzf jma-master-setup.tgz
cd jma-master-setup
sudo -u orca ./jma-master-setup -r -m 9 1

最後の行の 1 は、クリニックでは本来 2 かと思うんですが、1 でないとエラーが出ました。
実行後、「従サーバへの処理、又はリプリケーションを確認してください。」と出たら
マスタデータ移行処理を行います。

sudo /usr/lib/jma-receipt/bin/jma-migrate

確認は、

ls /var/log/jma-receipt/*-prf.csv

エラーを

sudo find /var/lib/jma-receipt/master/01/orca-mstlog -maxdepth 1 -size +0c -name "*.ERR"

で確認して、エラーのあるファイルを発見したら、

sudo cat エラーのファイル名 | iconv -f EUC-JP

で、エラーの内容を確認してください。
(確認の部分はOpenDolphin日記 http://opendolphin.motomachi-hifuka.jp/2019/11/post-5b3b06.html を引用させていただきました。)
これでいったん終わりですが、念のため、クライアントソフトで、「92 マスタ 更新」を再度しておいたほうがいいかもしれません。マスタ更新時にファイルがないようなエラーが出た場合は、「03 プログラム更新」してから再度「92 マスタ 更新」を行ってください。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です