4 ライフサイクル管理情報

この章では、Oracle Formsに関連するインストール、構成、アップグレードおよび移行の問題について説明します。

この節の内容は以下のとおりです。

Oracle Formsのインストールおよび構成の問題

この項では、インストールと構成変更に関する問題およびその回避策について説明します。

次のトピックが含まれています:

インストール後のOracle Forms実行可能ファイルの再リンク

このインストールには、データベース・クライアント・ライブラリの更新がいくつか含まれています。これらのライブラリによって、PL/SQLやOracleNetなどの機能およびテクノロジが提供されています。Unix/Linuxインストールでは、これらの更新の一部はForms実行可能ファイルにリンクされていないために、それに含まれている更新が公開されていません。

これを修正するために、次のようにして再リンクする必要があります:

  1. ORACLE_HOME環境変数を、Formsホームを指すように設定します。例:

    export ORACLE_HOME=<FORMS HOME>

  2. 次のコマンドを発行します。

    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にします。

  1. rootとしてログインし、次のコマンドを実行します: # smitty iocp
  2. I/O完了ポートの特性の変更/表示を選択します。
  3. システム再起動時に構成された状態を「定義済」から「使用可能」に変更します。
  4. 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ファイルを更新するには:

  1. すべての管理対象サーバーを停止します。
  2. $DOMAIN_HOME/binディレクトリでsetStartupEnv.shファイルを見つけて、編集のために開きます。
  3. 次のエントリを、このファイルの最上部付近にあるコメントの真下(最初のコード行の上)に追加します:
    LD_LIBRARY_PATH="<ORACLE HOME>/lib${CLASSPATHSEP}${LD_LIBRARY_PATH}"
        export LD_LIBRARY_PATH

    ここで、<ORACLE HOME>は、このインストールのOracleホーム・ディレクトリへの完全修飾パスです。

  4. 変更を保存して、ファイルを閉じます。
  5. サーバーを再起動して再テストします。

インストール後のタスク

Oracle Formsをインストールして構成した後、管理者は、最終的な有効期限に備えるために、提供されたアプレットJARファイルに埋め込まれている関連有効期限を識別する必要があります。これらのファイルは、ディレクトリ$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エントリは、サーバーの起動時に自動的に暗号化されます。この機能は、新規インストール時にデフォルトで有効になっています。アップグレード時には、管理者はこの機能を手動で有効にする必要があります。

12.2.1.4より前のバージョンからアップグレードする場合は、次のステップを実行して、useridパラメータの自動暗号化を有効にします。ZDTアップグレードを実行する場合、3つのステップをすべて実行します。非ZDTのアップグレードを実行する場合は、ステップ1をスキップして、ステップ2および3を実行してください。
  1. 管理サーバーとForms管理対象サーバーで、forms.userid.encryption.enabledサーバー・パラメータをtrueに設定します。

    『Oracle WebLogic Serverサーバーの起動と停止の管理』ガイドのドメイン全体のサーバー・パラメータのカスタマイズに関する項を参照し、setUserOverridesLate.shファイル(Windowsの場合はsetUserOverridesLate.cmd)を使用してforms.userid.encryption.enabledパラメータを設定します。

  2. 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="*") 
  3. 管理サーバーとForms管理対象サーバーを再起動します。

Forms Webutilファイル転送の高速化

このリリースでは、WebUtilMaxTransferSizeの最大許容値を24573に増やすことで、Forms Webutilファイルのアップロードおよびダウンロードの転送速度が30%まで向上しました。

ノート:

アップグレード時に、インストールに含まれているcreate_webutil_db.sqlスクリプトを実行すると、向上したファイル転送速度を利用できることを確認します。インストールに含まれているwebutil.pllファイルを生成して使用してください。このファイルを以前のバージョンからコピーしないでください。