OracleからPostgresqlへ移行 ora2pg


年末年始をかけて訳あってOracleで運用しているシステムを使い慣れたPostgrsqlへ移行。
ネットで調べるとora2pgというツールでPostgresqlの形式で出力できるようなので試してみた。

ora2pg

現在のOracleのバージョンなどは
Orcacle11g、正確には11.2.0.4.0である。
Oracle Linux上で動作している。

幸いにもコールドスタート用に準備していたバックアップ用のOracle Linuxがあったので運用しているシステムと同様の環境下でora2pgを動作させる事ができた。
これが本番環境しかないと色々と面倒である。

ora2pgを動作させるためにはいくつかのperlモジュールが必要なのでネットの情報を参考に

DBI
DBD:Pg
DBD::Oracle
String::Random
Compress::Zlib

をcpanでインストール。
DBD::Oracleだけは

cpan –fi DBD::Oracle

としないとインストールがうまくできなかった。

次にネットよりora2pgをダウンロード。
現在最新のバージョンは17.6、これを使用した。

http://ora2pg.darold.net/

ダウンロードしたファイルを展開し

sudo perl Makefile.pl
sudo make && make install

これで環境は整ったと思われたが、いざ変換用のスクリプトを起動してもエラーが出て正常に動作しない。
shared libがどうたらとかCan’t load~とか言われたので

/etc/ld.so.conf

にOracleのlibディレクトリを追記し

sudo ldconfig

することで何とか解決。
postgresqlのダンプファイルと同様の形式のファイルを出力することができた。

今回はLinux版のOracleからLinux版のPostgresqlなので文字のエンコードとか改行コードのようなものは特に問題なくできたようだけどWindows版のOracleからとかだとそのあたりも注意が必要だと思われる。
まぁとりあえず一度限りの事だから良いけどこの手の作業はすぐ忘れてしまうので一応メモ。

小規模なシステムでOracleである必要はないし不慣れなsqlplusと使わずに済むと思うとうれしいが半面Oracleに触れる機会が減るのでスキルが少し下がってしまうかも。
とはいえOracleマスターなどの肩書もないし自慢にもならんのだが。
Linux版のOracleは初期導入がかなり面倒だったのでその時は凄く勉強になったが数年前の事で忘れてるので次回もしOracleを使う事になったらWindows版を使用しようかと思う。

orcaというlinuxで動作する業務用アプリケーション


知り合いに頼まれて表題のアプリケーションのセットアップを行った。医療機関で使用する事務処理用のアプリケーションらしいがlinux上で動作する。
10年以上歴史はあるようでそれなりに普及しているようだ。
日本医師会が開発元らしくオープンソースのフリーウェアである。

ORCAプロジェクト
https://www.orca.med.or.jp/receipt/

簡単に言うと病院等で使うお会計ソフト、処方せん発行、そして処方せん、診療報酬請求を行うアプリケーションのようだ。
そう言えば最近診療報酬詐欺とかありましたね。

ubuntu14.04上で動作するサバクラ方式のシステム。
インストール自体はマニュアルが用意されているので簡単。
ものの1時間で完了した。

クライアントアプリケーションはjavaでも提供されているいうでwinやmacでも利用できる。個人的にはサーバーアプリはvmwareかなにかで稼働させてwinクライアントが操作面で良いのでは無いかと思います。

さて、細かい設定は医療事務の知識が必要なので私にはチンプンカンプンですが、個人でも処方せんとかお会計のシミュレーションが出来るので面白い。

病院でもらった領収書?明細書?の内容を入力してみたら同じ金額の領収書がでて面白い。きちんと設定すればいろいろ試せそうですが、自分には意味無いのでとりあえずここまで。
あとは知り合いの事務責任者に引き渡し。

linuxが活用されているのは嬉しいですが時代的にはクラウドなんだろうと思いました。

医療業界ってのIT化はなかなか難しいのですかね。

Ubuntu14.04でパケットモニタリング メモ


訳あって、ubuntu14.04をNIC2枚差しでhub化してwire sharkを導入した。要はパケットを監視する必要があるからである。

設定の備忘録

#vim /etc/network/interfaces

auto eth0
iface eth0 inet static
address 0.0.0.0

auto eth1
iface eth1 inet static
address 0.0.0.0

auto vbr0
iface vbr0 inet static
address 192.168.0.11
netmask 255.255.255.0
network 192.168.0.255
bridge_ports eth0 eth1
bridge_stp off

WireSharkのインストール
#sudo apt-get install wireshark
#sudo setcap ‘CAP_NET_RAW+eip CAP_NET_ADMIN+eip’ /usr/bin/dumpcap

ubuntuをUSBにの続き


ubuntuをUSBメモリにインストールする件。
結論から言うと失敗。
8.10のシステムメニューからほぼ自動でインストールできるのですが何も設定も無く何が悪いのか分からない。
bootパーテーションが壊れている的なメッセージが出て起動しない。
次回は

UbuntuをUSBメモリにインストールするには ( 8.10 版 GUI )

を参考にやってみます。
Ubuntuスタートアップバイブル

ubuntuをUSBにの続き


ubuntuをUSBメモリにインストールする件。
結論から言うと失敗。
8.10のシステムメニューからほぼ自動でインストールできるのですが何も設定も無く何が悪いのか分からない。
bootパーテーションが壊れている的なメッセージが出て起動しない。
次回は

UbuntuをUSBメモリにインストールするには ( 8.10 版 GUI )

を参考にやってみます。
Ubuntuスタートアップバイブル