この章では、一般的な管理およびセキュリティに関連する問題について説明します。内容は次のとおりです。
Windowsでは、createASInstanceコマンドへのWindowsショートカットを作成して、そのショートカットからコマンドを呼び出すと、ORACLE_CONFIG_HOMEディレクトリに既存の構成がある場合、createASInstanceコマンドによりユーザー入力を求められます。しかし、それに応じて入力したy
またはn
は無視されます。
この問題を回避するには、先に[Enter]キーを押し、既存の構成を無視する場合はy
、既存の構成を使用する場合はn
と応答します。
createInstance
コマンドを-apacheRoot
オプションとともに使用して追加のApplication Serverインスタンスを作成する際、opmnctl status -l
で表示されるステータスに、同じHTTPプロトコルの2つの異なるポートが示されます。
79**で始まるポートはApacheリスニング・ポートです。もう一方のポートは診断用ポートです。詳細は、インスタンスのホームにあるohs/conf/httpd.confやohs/conf/dms.confなどのApache構成ファイルを調べてください。
Microsoft VistaおよびWindows 2008システムでは、Oracle Application Serverの起動と停止に管理者権限が必要です。
opmnctl
を使用してコマンドラインから起動および停止するには、管理者としてcmd.exe
を実行し、DOSウィンドウを開きます(cmd.exe
を右クリックして「管理者として実行」を選択します)。
「スタート」メニューにあるOracle Application Serverのショートカットを使用して起動および停止するには、ショートカットを右クリックし、「管理者として実行」を選択します。
起動および停止時に管理者権限がないと、アクセスが拒否されたというエラー・メッセージが表示されます。
匿名ユーザー(つまり認証されていないユーザー)は、Oracle Enterprise Manager 10g Application Server Controlコンソール(Application Server Controlコンソール)のユーザーとしてはサポートされません。管理者ロールを匿名ユーザーに割り当てると、Application Server Controlコンソールを使用できなくなります。
Application Server Controlコンソールの管理者ロール(ascontrol_admin
、ascontrol_appadmin
またはascontrol_monitor
)は、Application Server Controlコンソールのユーザー管理ページを使用するか、またはjazn-data.xml
ファイルを編集すれば、匿名ユーザーに割り当てることが可能です。ただし、前述のロール割当てはいずれもOracleではサポートされていません。
認証ユーザーを持たないアプリケーションを起動するときには、OC4Jは匿名ユーザーをOC4Jユーザーとして表示します。EJB RMIアクセス時に匿名ユーザーが使用される場合もあります。
DBベース・ポーリング・クラスタ・レイヤーは、ドメインの構成プロパティとログ出力設定を伝播できます。ただし、このクラスタ・レイヤーでは、サーバー全体の構成プロパティ(BPEL管理コンソールで検出されるプロパティ)を伝播することはできません。サーバー全体の構成プロパティは、データベースに格納されず、BPELインストール・ディレクトリ内のファイルに保存されています。
ユーザーにとって重要なサーバー全体の主な構成プロパティは、soapServerUrl、soapCallbackUrlおよびnonFatalConnectionMaxRetryです。
管理対象サーバーを最初に起動するとき、次のエラー・メッセージが発生することがあります。
log4j:ERROR setFile(C:/WORK/mw351/soa22sep/bpel/system/logs/orabpel.log, false) call failed. java.io.FileNotFoundException
存在しないログ・ファイルorabpel.log
は自動的に作成されます。その後の管理対象サーバーの起動時には、このエラーは表示されません。
管理対象サーバーを起動するとき、次のようなエラー・メッセージが表示されることがあります。
<Warning> <EJB> <BEA-010001> <While deploying EJB 'TaskNotificationSender', class oracle.bpel.services.workflow.task.notification.MDBTaskNotificationConsumer was loaded from the system classpath. As a result, this class cannot be reloaded while the server is running. To prevent this behavior in the future, make sure the class is not located in the server classpath.> When processing WebService module 'esb_console.war'. Failed to load servlet Class: oracle.tip.jbi.servlet.JBIContainerServlet Ignoring: unable to load class:java.lang.ClassNotFoundException: oracle.tip.jbi.servlet. JBIContainerServlet at: weblogic.xml.schema.binding.util.ClassUtil.loadClass(ClassUtil.java:76) When processing WebService module 'esb_console.war'. Failed to load servletClass: oracle.tip.jbi.servlet.JBIContainerServlet Ignoring: unable to load class:java.lang.ClassNotFoundException: oracle.tip.jbi.servlet.JBIContainerServlet at:weblogic.xml.schema.binding.util.ClassUtil.loadClass(ClassUtil.java:76) <Sep 9, 2009 8:53:42 AM UTC> <Warning> <Connector> <BEA-190155> <Compliance checking/validation of the resource adapter /scratch/aime1/work/mw5764/user_projects/domains/single_managed/servers/soa10g _server1/tmp/_WL_user/esbservices/1ginqd/esb-jca-dt.rar resulted in the following warnings: The ra.xml <resourceadapter-class> class 'oracle.tip.esb.server.bootstrap.DesignTimeWLResourceAdapter' should implement java.io.Serializable but does not.>
When processing WebService module 'worklistxpress.war'. Failed to load servlet Class: WorklistServlets.TaskSearch Ignoring: unable to load class:java.lang.ClassNotFoundException: WorklistServlets.TaskSearch at: weblogic.xml.schema.binding.util.ClassUtil.loadClass(ClassUtil.java:76) When processing WebService module 'worklistxpress.war'. Failed to load servlet Class: WorklistServlets.TaskSearch Ignoring: unable to load class:java.lang.ClassNotFoundException: WorklistServlets.TaskSearch at: weblogic.xml.schema.binding.util.ClassUtil.loadClass(ClassUtil.java:76) When processing WebService module 'worklistapp.war'. Failed to load servlet Class: worklistapp.servlets.TaskAttachment Ignoring: unable to load class:java.lang.ClassNotFoundException:
これらのメッセージは無視してかまいません。
WSデータ・バインディング・エラー・メッセージが、起動時に管理対象サーバー・ログに表示されます。
これらのエラー・メッセージは、soabpel.ear
ファイルのHWF WebservicesアプリケーションのためのJAXRPCマッピング・ファイルに、Oracle WebLogic Serverに対する追加のjava-wsdl
タイプ・マッピングがあるためです。
これらのエラー・メッセージには問題がなく、機能にも影響しません。JAXRPCマッピング・ファイルは、SOA Oracle WebLogic Server用に変更されていません。このような同じマッピング・ファイルが、SOA OC4JとSOA Oracle WebLogic Serverで使用されます。
マルチ・データソースReal Application Cluster(RAC)設定でXAデータソースにデフォルト値を使用すると、RACノードの1つが停止した場合、リクエストの処理に最大5分間の遅延が発生することがあります。
システムで各XAデータソースに対して1つのRACデータベースを使用して実行しているときは、XA再試行期間変数をデフォルトの300秒から120秒に変更します。
Oracle SOA Suite-Oracle WebLogic Server 10.1.3.5.1インストールがネイティブ環境で実行されているとき、電子メール通知の件名行ではマルチバイト・キャラクタが疑問符として表示されます。
この問題を回避するには、ロケールをUTF8(en_US.utf8
など)に変更してSOAサーバーを再起動します。
この項では、一般的な管理およびセキュリティに関するドキュメント内の誤りについて説明します。内容は次のとおりです。
『Oracle Application Serverエンタープライズ・デプロイメント・ガイド, 10gリリース3(10.1.3.3.0)』のOC4J_ESBDTインスタンスのサービス・フェイルオーバーの構成に関する項の手順4に間違いがあります。
手順4では次のopmnctl
コマンドを実行します。
> opmnctl stopall
> opmnctl start
> opmnctl startproc ias-component="<group_name>" process-type=OC4J_ESBDT"
これらのopmnctl
コマンドを順番に実行することで、サービス・フェイルオーバーが正しく構成されます。
さらに、サービス・フェイルオーバーを使用してOC4Jコンテナを停止および起動するには、次のopmnctl
コマンドを使用します。
> opmnctl startproc ias-component="<group_name>" process-type=OC4J_ESBDT
> opmnctl stopproc ias-component="<group_name>" process-type=OC4J_ESBDT
次のopmnctlコマンドのどちらかを使用する場合:
> opmnctl startproc process-type=OC4J_ESBDT
> opmnctl stopproc process-type=OC4J_ESBDT
サービス・フェイルオーバーは予期したとおりに動作しません。
『Oracle Process Manager and Notification Server管理者ガイド』の汎用Apacheに関する項で、リストされている適用可能なオペレーティング・システムに間違いがあります。リストされている汎用Apacheプロセスを管理するOracle HTTP Serverプロセス・モジュールの構成は、Linuxオペレーティング・システムでのみ有効です。