コンテンツにスキップ

DBXFORMインストレーションガイド

更新履歴

更新日 更新箇所 概要
2023/12/12 初版作成 初版作成

バージョン

DBXFORM 1.x

初めに

DBXFORM帳票システムの構成

DBXFORM帳票システムは、Oracle® APEX(又はOracle Database)から呼び出すPL/SQLパッケージと、PL/SQLから接続し帳票変換を行うWebAPI(Oracle Databaseと別のサーバー)から構成されます。

また、帳票テンプレートを開発するためのDBXFORM帳票開発アプリ(Oracle APEXのアプリケーション)があり、簡易に帳票のテンプレートを作成することが出来ます。

DBXFORM帳票開発アプリについて

DBXFORM帳票開発アプリは、帳票出力する際のテンプレートを生成するOracle APEXのアプリケーションです。DBXFORM帳票開発アプリに登録したファイルや文字の入れ替え設定を、1つのJSONのテンプレートファイル(以降帳票テンプレートJSONファイルと呼称)として出力します。 Oracle APEX(又はOracle Database)から帳票を生成する際は、事前作成した帳票テンプレートJSONファイルを基に、SQL結果の反映やPDFの結合などを行った結果の帳票を動的生成します。

DBXFORM PL/SQLパッケージ

DBXFORMのPL/SQLパッケージは、Oracle APEX等から帳票生成する際に呼び出すDBXFORMパッケージと、DBXFORM帳票開発アプリで利用するDBXFORM_ADMINというパッケージから構成されます。 DBXFORM_ADMINは帳票テンプレートの作成に利用される為、帳票開発時のみ利用されます。

動作環境

データベース

  • Oracle Database 12.2 以上
  • Oracle APEX 19.1 以上
    • DBXFORM帳票開発アプリはOracle APEX 22.2 以上

OS

  • ディストリビュージョン
    • RedHat互換Linux 9以上(Red Hat Enterprise Linux、Oracle Linux、Aloma Linux、Rocky Linux等)
  • 推奨スペック
    • 推奨CPU: 2core以上
    • 推奨メモリ: 8GB以上
    • 推奨HDDサイズ: 10GB以上
  • OSパッケージ
    • Python 3.9以上
    • pango 1.44以上

帳票サーバーインストール手順

ファイル配置

DBXFORMのzipファイルを操作場所へ移動します。 本手順ではアップロード先を/tmp配下とします。

パッケージインストール

OSパッケージのインストールを行います。

sudo su -
dnf search python39
dnf install python39 -y
dnf search pango
dnf install pango -y # pango 1.44以上が必要

フォントインストール

日本語用にIPAフォントのインストールを行います。 フォントは文字情報技術促進協議会のダウンロードページよりダウンロードしてください。DBXFORMでは、OSにインストールされたフォントを利用できます。 本手順ではアップロード先を/tmp配下とします。

fc-list
cd /usr/share/fonts
mkdir -p -m755 ja
ls -l
cd ja
unzip /tmp/IPAexfont00401.zip
chmod 644 ./IPAexfont00401/*
ls -lR
fc-cache -fv
fc-list

実行ユーザーの作成

実行ユーザーがいない場合作成します。ユーザー名は任意ですが、ここではdbxapとしています。

groupadd -g 10000 dbxap
useradd -u 10000 dbxap -g dbxap

実行ユーザーメモリサイズの制限

# メモリを4GBまでに制限
ulimit -m -H 4194304 dbxap
ulimit -v -H 4194304 dbxap
vi /etc/security/limits.conf
dbxap soft as 4194304
dbxap hard as 4194304
dbxap soft rss 4194304
dbxap hard rss 4194304

大きいサイズのPDFを生成するなどでメモリを使いすぎる場合、OSのサービス自動起動に組み込み後メモリ制限をかけてください。

systemctl [--runtime] set-property <サービス名> MemoryMax=4G MemorySwapMax=512M

Python環境設定

実行ユーザーにてインストールを行います。

su - dbxap
unzip /tmp/DBXFORM.zip
cd ./DBXFORM/Python/DBXFORM
chmod 750 ./*sh
./PythonAddModule.sh

帳票サーバーの実行

cd ~/DBXFORM/Python
./server.sh start

帳票サーバーの停止

cd ~/DBXFORM/Python
./server.sh stop

DBXFORM PL/SQLインストール手順

データベースに帳票開発用のテーブル及び、PL/SQLパッケージをインストールします。 SQLを実行するクライアントがない場合はDBサーバーで実行してください。

帳票開発用DBXFORM_ADMINインストール

帳票開発者用のスキーマで実施します(帳票開発アプリケーションが動くスキーマとなります)。 開発者用のインストールにはユーザーアプリケーション用のパッケージ(DBXFORM)も含まれます。

cd ~/DBXFORM/SQL
NLS_LANG=Japanese_Japan.AL32UTF8
export NLS_LANG
sqlplus <帳票開発スキーマ>/<パスワード>@<接続先>
@install_dbxform_admin.sql

帳票生成用DBXFORMインストール

ユーザーアプリケーションを実行するスキーマで実施します。帳票開発用のインストールを行ったスキーマと同じスキーマを利用する場合実施不要です。

cd ~/DBXFORM/SQL
NLS_LANG=Japanese_Japan.AL32UTF8
export NLS_LANG
sqlplus <ユーザーアプリケーションスキーマ>/<パスワード>@<接続先>
@install_dbxform.sql