この章では、Oracle Formsに関連する問題について説明します。内容は次のとおりです。
この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。
Forms 6iからのアップグレードの詳細は、『Oracle Fusion Middleware Forms Services Deployment Guide』の「Oracle Forms Services 11gへのアップグレード」の章を参照してください。変更された機能と不要になった機能の詳細は、『Oracle Forms Upgrading Oracle Forms 6i to Oracle Forms 11g』を参照してください。
Oracle Forms 10g以下のリリースからアップグレードする場合、アップグレード・アシスタントを使用できます。詳細は、『Oracle Fusion Middlewareアップグレード・プランニング・ガイド』および『Oracle Fusion Middleware Oracle Portal, Forms, ReportsおよびDiscovererアップグレード・ガイド』を参照してください。
下位互換性の詳細は、My Oracle Supportノート113987.1(http://myoraclesupport.oracle.com
)を参照してください。
どのリリースのOracle Formsからアップグレードするかにかかわらず、現在のアプリケーションを再コンパイルしてOracle Formsを再起動する必要があります。
この項では、Oracle FormsおよびLinux/UNIXに関連する問題について説明します。内容は次のとおりです。
JVMバージョン1.5以上でシグナル・チェーン機能が動作するには、default.env
にLD_PRELOAD
設定が必要です。他の環境ファイルを作成または使用する場合、その環境ファイルでのLD_LIBRARY_PATH
およびLD_PRELOAD
の設定は、default.env
での設定と同じである必要があります。
FormsセッションでReportsを実行しようとして、レポートを実行できないというFormsエラー(FRM-41214)が発生した場合、そのエラーの詳細はReportsエンジン・ログを確認してください。
11gのインストールでは、11gをインストールしたユーザーのみが実行可能ファイルを実行できるように、ファイル・アクセス権が設定されます。他のユーザーがForms開発ツールを実行できるようにアクセス権を変更する方法の詳細は、http://www.oracle.com/technology/products/forms
にあるドキュメント『Setting Developer Tools Permissions on Unix』を参照してください。
この項では、構成に関する問題およびその回避方法について説明します。内容は次のとおりです。
Internet Explorer以外のサポートされる任意のブラウザでOne-Button-Runを使用している際にFORBIDDENエラーが発生した場合、127.0.0.1(localhost)がブラウザのプロキシ・設定に存在するかどうかを確認してください。127.0.0.1が例外リストに存在しない場合は、追加します。これにより、ブラウザはプロキシ・サーバーを迂回できます。
WebUtilでは、Windows上のJREまたはJVMのbinディレクトリに、またはLinux上のJREのlibディレクトリにinstall.syslib
ライブラリをダウンロードします。この場所は、webutil.cfg
のパラメータinstall.syslib.location.client.<OS> = <Path on client machine>
で指定できます(<Path on client machine>
は、WebUtilによりクライアントで使用されるライブラリが格納される場所へのパスを表し、絶対パスまたはクライアント・ユーザー・ホームに対する相対パスです)。
install.syslib
ライブラリのダウンロード時に、WebUtilでは、webutil.properties
ファイルをクライアント・ユーザー・ホームに作成します。異なるサーバーでクライアントにライブラリをダウンロードして管理できるように、異なるwebutil.propertiesファイルがクライアント側で保持されます。クライアント上のファイルの名前は、webutil.<HOST>.<CONFIG>.properties
です(HOST
はサーバー・コンピュータの名前で、CONFIG
はformsweb.cfg
の構成セクションの名前です)。
クライアントとしてJDK 1.6.0_12を使用しているコンピュータにWinRunnerもインストールされていると、Formsを実行できません。
この問題を回避するには、2つの環境変数_JAVA_OPTIONS
およびJAVA_TOOLS_OPTIONS
の名前を変更します。たとえば、これらの名前をtest_JAVA_OPTIONS
およびtest_JAVA_TOOLS_OPTIONS
に変更します。これにより、WinRunnerは無効化されますが、Formsは実行できます。
file://プロトコルに基づいてInternet Explorer 7で開かれたフレーム付きHTMLファイルでは、JavaScript通信は機能しません。
この問題を回避するには、フレームのURLでマシン名のかわりにIPアドレスを使用します。たとえば、testform.htmで、次の部分を変更します。
<frame noresize="noresize" src="http://testform.us.oracle.com:8888/forms/java/js2frm1.html" name="fr2" frameborder="0"> <frame noresize="noresize" src="http://testform.us.oracle.com:8888/forms/frmservlet?play=&record=forms& form=js2frm1&userid=scott/tiger@adt10220" name="fr1" frameborder="0">
次のように変更します。
<frame noresize="noresize" src="http://10.229.147.186:8888/forms/java/js2frm1.html" name="fr2" frameborder="0"> <frame noresize="noresize" src="http://10.229.147.186:8888/forms/frmservlet?play=&record=forms&form=js2fr m1&userid=scott/tiger@adt10220" name="fr1" frameborder="0">
Oracle Enterprise ManagerでForms Java EEアプリケーション・デプロイメントをOracle Internet Directory(OID)に関連付ける場合、その関連付けは、Oracle Internet DirectoryのSSL以外のポートを使用する場合にのみサポートされます。Oracle Internet DirectoryのSSLポートを使用する関連付けは、サポートされません。
Formsがリモート・ホストで拡張クラスタまたは拡張ドメインを使用して構成されている場合、Forms Java EEアプリケーションの診断ログ・ファイルが生成されない可能性があります。
この問題を回避するには、管理サーバー・ホストの(リモート管理対象サーバー用の)ODL構成ファイルにForms Java EEアプリケーションのODLハンドラ・エントリを手動で追加します。ODL構成ファイルlogging.xml
は、管理サーバー・ホストのディレクトリ$DOMAIN_HOME/config/fmwconfig/servers/<MANAGED_SERVER>/
に存在します(<MANAGED_SERVER>
は、WLS_FORMS
という接頭辞の付けられた、リモートのForms管理対象サーバーの名前です)。
<Log-Handlers>
親要素の下位に次のエントリを追加します。
<log_handler name='forms-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory'> <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/formsapp-diagnostic.log'/> <property name='maxFileSize' value='10485760'/> <property name='maxLogSize' value='104857600'/> <property name='useSourceClassAndMethod' value='true'/> </log_handler>
<Loggers>
親要素の下位に次のエントリを追加します。
<logger name='oracle.forms.servlet' level='NOTIFICATION:1' useParentHandlers='false'> <handler name='forms-handler'/>
リモート・ホストの管理対象サーバーを再起動します。
この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。
『Oracle Fusion Middleware Forms Services Deployment Guide』の第7章の7.2.3項の例には、jarファイルに署名する必要があることが記載されていません。手順4の後で、jarファイルに署名する次のタスクを実行します。$ORACLE_INSTANCE\bin
に含まれるsign_webutil.sh
(Windowsではsign_webutil.bat
)を使用して、jarファイルに署名できます。
引き続きガイドの手順5に進んでください。
『Oracle Fusion Middleware Forms Services Deployment Guide』の9.7項のOIDホストをFormsアプリケーションに再度関連付ける手順には、osso.conf
ファイルを生成およびコピーするタスクについて記載されています。最初にOIDホストをFormsアプリケーションに関連付ける際にも、同じタスクを実行する必要があります。
『Oracle Fusion Middleware Forms Services Deployment Guide』の9.7項の手順には、Oracle HTTP ServerをOracle SSOに登録する方法が記載されていません。Formsを非SSOモードでインストールおよび構成し、後でSSOを有効化する場合、これらの手順が必要です。WebTier OHSのモジュールmod_osso
をパートナ・アプリケーションとしてSSOサーバーに登録するには、次の手順を実行します。
OIDホストをFormsアプリケーションに再度関連付ける方法に関する項の手順3および4に従って、osso.conf
ファイルを生成およびコピーします。
$ORACLE_INSTANCE/config/OHS/<OHS_INSTANCE>/moduleconf
ディレクトリにmod_osso.conf
ファイルを作成します。ファイルの内容は、次のようになります。
LoadModule osso_module ${ORACLE_HOME}/ohs/modules/mod_osso.so <IfModule mod_osso.c> OssoIpCheck off OssoSecureCookies off OssoIdleTimeout off OssoConfigFile osso.conf # # Insert Protected Resources: (see Notes below for # how to protect resources) # #______- # # Notes # #______- # # 1. Here's what you need to add to protect a resource, # e.g. <ApacheServerRoot>/htdocs/private: # <Location /private> require valid-user AuthType Osso </Location> </IfModule> # # If you would like to have short hostnames redirected to # fully qualified hostnames to allow clients that need # authentication via mod_osso to be able to enter short # hostnames into their browsers uncomment out the following # lines # #PerlModule Apache::ShortHostnameRedirect #PerlHeaderParserHandler Apache::ShortHostnameRedirect
次の行をforms.conf
ファイルの先頭に追加します。
<IfModule !mod_osso.c> LoadModule osso_module ${ORACLE_HOME}/ohs/modules/mod_osso.so </IfModule> <IfModule mod_osso.c> OssoHTTPOnly off </IfModule>
ガイドの9.7項に従って、Enterprise ManagerでOIDホストを関連付けます。
Oracle WebLogic管理対象サーバーとフロントエンドのOHSを再起動し、変更を反映します。
『Oracle Fusion Middleware Forms Services Deployment Guide』のC.5項には、次の注意事項が追加される必要があります。
forms.conf
に/forms/
という接頭辞付きのユーザー定義のaliasMatch
を含める場合、ディレクティブWLExcludePathOrMimeType
を追加してください。たとえば、Linuxにおいて、forms.conf
で/forms/usericons
に対してaliasMatch
を定義する場合、次のようにディレクティブWLExcludePathOrMimeType
を定義します。
AliasMatch /forms/usericons/(..*) "/home/userx/myicons/$1" WLExcludePathOrMimeType /forms/usericons/
Forms Builderオンライン・ヘルプのWebUtilの追加のインストール手順に関する項では、次の訂正が必要です。
スクリプトsign_webutil.bat
(Windows)またはsign_webutil.sh
(Linux)は、$ORACLE_INSTANCE/bin
ディレクトリにあります。
手順5には、次のように記載されています。
5. CLASSPATH=/ORACLE_INSTANCE/config/FormsComponent/forms/jdk/bin
がパスに含まれることを確認します。含まれていない場合は、追加します。
この手順は間違っており(以前のリリースで使用されていた変数は、CLASSPATH
ではなくPATH
でした)、不要です。これらのスクリプトを使用するために、PATH
やCLASSPATH変数にjdk/binディレクトリを追加する必要はありません。
Forms Builderオンライン・ヘルプには、SET_APPLICATION_PROPERTY
およびGET_APPLICATION_PROPERTY
で使用されるPL/SQLプロパティとして、MaxEventWait
が記載されています。ただし、MaxEventWait
は、PL/SQLプロパティではなくアプレット・パラメータです。このプロパティは、SET_APPLICATION_PROPERTY
およびGET_APPLICATION_PROPERTY
の説明から削除する必要があります。