4 ライフサイクル管理情報
この章では、Oracle Formsに関連するインストール、構成、アップグレードおよび移行の問題について説明します。
この節の内容は以下のとおりです。
Oracle Formsのインストールおよび構成の問題
この項では、インストールと構成変更に関する問題およびその回避策について説明します。
次のトピックが含まれています:
インストール後のOracle Forms実行可能ファイルの再リンク
このインストールには、データベース・クライアント・ライブラリの更新がいくつか含まれています。これらのライブラリによって、PL/SQLやOracleNetなどの機能およびテクノロジが提供されています。Unix/Linuxインストールでは、これらの更新の一部はForms実行可能ファイルにリンクされていないために、それに含まれている更新が公開されていません。
これを修正するために、次のようにして再リンクする必要があります:
ORACLE_HOME
環境変数を、Formsホームを指すように設定します。例:export ORACLE_HOME=<FORMS HOME>
- 次のコマンドを発行します。
cd $ORACLE_HOME/procbuilder/lib
make -f ins_procbuilder.mk sharedlibs dejvm_install
cd $ORACLE_HOME/forms/lib
make -f ins_forms.mk sharedlib frmopmn_wrp_install frmctrl_install frmweb_install frmcmpb_install frmcmp_install frmbld_install
ユーザー・リクエストの処理中にIBM AIX上のOracle Forms サーバーがクラッシュすることがある
IBM AIXにOracle Forms Serverをインストールして構成した後、ユーザー・リクエストの処理中にFormsサーバーがクラッシュすることがあります。次のエラー・テキストが表示されることもあります。
exec(): 0509-036 Cannot load program frmweb because of the following errors: rtld: 0712-001 Symbol CreateIoCompletionPort was referenced from module $ORACLE_HOME/lib/libclntsh.so(), but a runtime definition of the symbol was not found.
このIBM AIXの問題を解決するには、Formsサーバーのインストール・マシンでIOCPモジュールを有効にする必要があります。
POWER Systems (64ビット)のIBM AIXで、インストール・プロセスを開始する前に、I/O完了ポート(IOCP)を使用可能にします。
IOCPモジュールが有効かどうかをチェックするには、lsdevコマンド$ lsdev | grep iocp
を実行します
次のサンプル出力は、IOCPステータスがDefinedに設定されているので、有効ではないことを示しています: iocp0 Defined I/O Completion Ports
デフォルトでは、IOCPはDefined
に設定されています。
IOCPを使用可能にするには、次のプロシージャを使用してIOCPステータスをAvailable
にします。
- rootとしてログインし、次のコマンドを実行します:
# smitty iocp
。 - I/O完了ポートの特性の変更/表示を選択します。
- システム再起動時に構成された状態を
「定義済」
から「使用可能」
に変更します。 - lsdevコマンドを実行して、IOCPステータスが
Available
に設定されていることを確認します。$ lsdev | grep iocp iocp0 Available I/O Completion Ports
システムの再起動を実行して変更を確定します。
Oracle FormsアプリケーションでのJACOBバージョン1.18以降のサポート
Oracle Forms 12.2.1.19では、WebUtilの使用時にOLEサポートを有効にするために、サード・パーティ・ライブラリJACOBを使用します。このFormsバージョンでは、JACOB 1.18以降がサポートされています。ただし、インストールはJACOB 1.18-M2を使用するように事前構成されています。それ以外のバージョンが使用されている場合は、WebUtil構成に変更を加える必要があります。
JACOBは、JavaからのCOMオートメーション・コンポーネントの呼出しを可能にするJAVA-COMブリッジです。これは、JNIを使用してCOMライブラリにネイティブ・コールを行います。JACOBは、32ビットおよび64ビットのJVMをサポートするx86およびx64環境で動作します。
いずれのバージョンを使用することにした場合も、使用前にライブラリ・セットをダウンロードして署名し、適切なディレクトリに挿入する必要があります。詳細は、Forms Builderのヘルプを参照してください。
現在のリリースは、GitHub (https://github.com/freemansoft/jacob-project/releases)で入手できます。
19.14.0.0データベース・クライアントを使用するForms
次に、データベース・クライアントを使用するFormsに関する問題を示します:
- このFormsのインストールはOracle Database 19.14.0.0に基づいています。 そのため、すべてのアプリケーション・モジュールは実行前に再生成しておく必要があります。アプリケーション・モジュールが新しいバージョンで再生成されると、(ソースも実行ファイルも)前のバージョンとの後方互換性がなくなります。Forms Builderで再生成または開く前に、アプリケーション・モジュールのバックアップ・コピーを作成する必要があります。 このプロセスを元に戻すことはできません。
- バージョン19.14.0.0プリコンパイラを使用してユーザー出口を再生成する必要があります。
SqlDeveloperバージョンの更新
作成中(または拡張中)のドメインにForms Application Deployment Service (FADS)を含める場合、関連付けられたOracleホームにインストールされているSqlDeveloperバージョンをバージョン18.2以上にアップグレードする必要がありますが、バージョン21.4.3を超えることはできません。FADSを含めるようにWLSドメインを構成する前に、この更新を完了する必要があります。
詳細は、『Oracle Formsのインストール』ガイドのForms Application Deployment Servicesのインストールに関する項を参照してください。
Java ScriptおよびJava Webの起動に必要なEclipse/Jettyバージョンの統合
Forms Java Script Integration (WebSocketJSI)にはEclipse/Jettyバージョン9.4.5以降が必要です。 Jettyバージョン10.x以降を使用している場合、ユーザーはJava 11以降を使用してアプリケーションを実行する必要があります。
このjarファイルは信頼されている既知の証明書で署名されている必要があります。 jarファイルの署名方法の詳細は、Javaドキュメントを参照してください。 デプロイメントにJava Web Startを使用している場合、extensions.jnlpにJettyのjar参照を追加してください。
必要なファイル(jetty-all-<version>.jar
)は、https://repo1.maven.org/maven2/org/eclipse/jetty/aggregate/jetty-all/でダウンロードできます。
setStartupEnv.sh
ファイルの更新
Oracle FormsおよびOracle ReportsをSUSE Linuxマシンにインストールし、WLSドメインを作成した後、setStartupEnv.sh
ファイルのLD_LIBRARY_PATH環境変数を更新します。
この環境変数に値を指定しないと、フォームの実行時にHTTP 404エラーが発生します。
setStartupEnv.sh
ファイルを更新するには:
インストール後のタスク
$ORACLE_HOME/forms/java
に格納されています。提供されたJARの一部(frmall.jar
など)には、いくつかの署名が埋め込まれています。各署名には一意の目的と有効期限があります。デジタル署名の仕組みの詳細は、Oracle Javaのドキュメントを参照してください。
署名付きJARファイルは、ORACLE_HOME/forms/java
ディレクトリ内にあります。
インストールに含まれるJDKのjarsigner実行可能ファイルを使用して、目的のJARをテストできます。たとえば:
- Windowsの場合: jarsigner -verify -verbose frmall.jar | find "expire"
- Unix/Linuxの場合: jarsigner -verify -verbose frmall.jar | grep "expire"
署名者証明書の日付は、新規のJARファイルの署名にその証明書を使用できる最終日を表します。提供されたJARはその日付より前に署名されているため、この有効期限はほぼ無関係であり、無視してかまいません。ただし、タイムスタンプを検証できず、インターネット接続が必要になる場合には、これを使用することもできます。
タイムスタンプは、JARが有効期間中に署名されたことを確認するために使用されます。この検証テストは、タイムスタンプの有効期限まで続行できます。前述のように、タイムスタンプを検証できない場合、署名者証明書の有効期限が、JARを使用できる最後の有効日であると想定されます。
タイムスタンプの有効期限が近づいているJARファイルがある場合は、更新されたファイルを入手するためにOracleサポートに連絡してください。
アップグレードおよび移行の問題
この項では、Oracle Formsのアップグレードと移行プロセスに関連する問題について説明します。
次のトピックが含まれています:
アップグレード・ガイダンス
Oracle Formsの変更された機能または廃止された機能のリストを表示するには、「アップグレードの準備」を参照してください。
Oracle Formsをアップグレードするには、『Oracle Formsのインストール』ガイドのOracle Formsのアップグレードに関する項を参照してください。
formsweb.cfg
ファイルのセキュリティ処理の向上
ファイル内のすべてのuserid
エントリは、サーバーの起動時に自動的に暗号化されます。この機能は、新規インストール時にデフォルトで有効になっています。アップグレード時には、管理者はこの機能を手動で有効にする必要があります。
userid
パラメータの自動暗号化を有効にします。ZDTアップグレードを実行する場合、3つのステップをすべて実行します。非ZDTのアップグレードを実行する場合は、ステップ1をスキップして、ステップ2および3を実行してください。
- 管理サーバーとForms管理対象サーバーで、
forms.userid.encryption.enabled
サーバー・パラメータをtrueに設定します。『Oracle WebLogic Serverサーバーの起動と停止の管理』ガイドのドメイン全体のサーバー・パラメータのカスタマイズに関する項を参照し、
setUserOverridesLate.sh
ファイル(Windowsの場合はsetUserOverridesLate.cmd
)を使用してforms.userid.encryption.enabled
パラメータを設定します。 - WLST (オンライン・モード)を使用して次のコマンドを実行し、FormsアプリケーションのキーストアにアクセスするためのFormsアプリケーション/MBeanへの権限を付与します。
- 停止時間なし(ZDT)のアップグレード用のコマンド
grantPermission(codeBaseURL="file:${common.components.home}/../forms/provision/ forms-config-mbeans.jar",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=formsapp,keystoreName=formsks,alias=*", permActions="*")
grantPermission(codeBaseURL="file:${domain.home}/servers/${weblogic.Name}/tmp/_WL_user/ formsapp_12.2.1/-",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=formsapp,keystoreName=formsks,alias=*",permActions="*")
- 非ZDTアップグレード用のコマンド
grantPermission(codeBaseURL="file:${common.components.home}/../forms/provision/ forms-config-mbeans.jar",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=formsapp,keystoreName=formsks,alias=*", permActions="*")
grantPermission(codeBaseURL="file:${domain.home}/servers/${weblogic.Name}/ tmp/_WL_user/formsapp_12.2.1/-",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", permTarget="stripeName=formsapp,keystoreName=formsks,alias=*",permActions="*")
- 停止時間なし(ZDT)のアップグレード用のコマンド
- 管理サーバーとForms管理対象サーバーを再起動します。