この章では、Oracle Application Server Wireless(OracleAS Wireless)に関する問題について説明します。この章の内容は次のとおりです。
この項では、OracleAS Wirelessの一般的な問題について説明します。この項の内容は次のとおりです。
バージョン10.1.2.1のWDKを使用してローカルのJSPをテストできない問題がユーザーから報告されています。ローカルにデプロイされたJSPをテストするには、次の手順を実行します。
ORACLE_HOME
/j2ee/OC4J_Wireless/applications/wdk/wdk-web/WEB-INF/web.xml
ファイルで、xmlのコメント(この例の6行目と31行目)を削除します。
1. <!-- For Transcoder --> 2. <filter-mapping> 3. <filter-name>SdkTranscoder</filter-name> 4. <servlet-name>SdkContentRetriever</servlet-name> 5. </filter-mapping> 6. <!-- 7. <filter-mapping> 8. <filter-name>SdkTranscoder</filter-name> 9. <url-pattern>*.jsp</url-pattern> 10. </filter-mapping> 11. <filter-mapping> 12. <filter-name>SdkTranscoder</filter-name> 13. <url-pattern>*.mxml</url-pattern> 14. </filter-mapping> 15. <filter-mapping> 16. <filter-name>SdkTranscoder</filter-name> 17. <url-pattern>*.xhtml</url-pattern> 18. </filter-mapping> 19. <filter-mapping> 20. <filter-name>SdkTranscoder</filter-name> 21. <url-pattern>*.html</url-pattern> 22. </filter-mapping> 23. <filter-mapping> 24. <filter-name>SdkTranscoder</filter-name> 25. <url-pattern>*.htm</url-pattern> 26. </filter-mapping> 27. <filter-mapping> 28. <filter-name>SdkTranscoder</filter-name> 29. <url-pattern>*.xml</url-pattern> 30. </filter-mapping> 31. -->
OC4J_Wireless
プロセスを再起動します。
一部のユーザーから、Oracle Application Server 10gのインストールでエッジ・スキーマを作成しようとするとエラーが発生することが報告されています。これは、create_edge_user.sql
スクリプトを使用してエッジ・ユーザーを作成しようとするときに、dbms_aq
パッケージが他のセッションによってロックされていることが多いためです。edge
/<password>@<db name>
として接続し、edg_create_streams.sql
を実行した後にエッジ・スキーマを作成しようとすると、表とキューの作成が失敗します。
この問題を解決する手順は次のとおりです。
パッケージのロックを解除します。これはデータベース管理者が行います。パッケージをロックしているセッションからロックを解除する必要があります。これには、データベース・インスタンス全体の再起動が必要な場合があります。再起動すると、dbms_aq
パッケージをロックしているセッションがなくなります。
エッジ・ユーザーに、dbma_aq
パッケージに対する実行権限を明示的に付与します。
systemとしてログインします。
SQL> grant execute on dbms_aq to edge
を実行します。
edge
/<password>@<db name>
として接続し、edg_create_streams.sql
を再度実行します。
STREAMSディスパッチャは、データベース・ジョブとして実行されます。PL/SQL開発中にパッケージを頻繁に再コンパイルする必要がある場合は、データベース・ロックによってSTREAMSディスパッチャがハングすることがあります。通常は、次のコマンドを実行するとディスパッチャを再起動できます。
exec edg_utl.deschedule_job;
ジョブが正常に終了したかどうかを確認するには、edg_jobs
表をチェックします。次の問合せを実行します。
select component_name, status from edg_jobs;
ジョブが正常に終了した場合は、この問合せで返される行はありません。このジョブが終了処理中である場合、ステータスは「停止中」になります。ジョブが完全に終了するまでに30〜40秒かかる場合があります。この問合せで「停止中」のステータスが引き続き返される場合は、ディスパッチ・ジョブがフリーズしています。これを解決するには、まずこの行を表から消去します。次のコマンドを実行します。
delete from edg_jobs where component_name = 'EdgeDispatchJob';
次に、データベースを再起動します。データベースが再起動したら、ジョブを再起動(または再スケジュール)します。この場合は次のコマンドを実行します。
exec edg_utl.schedule_job;
ジョブが再起動されます。確認するには、次の問合せを使用します。
select component_name, status from edg_jobs;
これで、「開始」のステータスが返されます。
Oracle Application Server 10.1.2でApache Axisおよびワイヤレス機能を使用していて、リリース10.1.2 XDKパッチを適用済の場合は、MetaLinkからOracleAS Wireless個別パッチをダウンロードする必要があります。
OracleAS Wireless個別パッチを使用すると、XDKパッチによって発生した問題が修正されます。OracleAS Wirelessパッチを適用しないと、ボイス・チャネルからのログインが失敗します。
SSLモードでアップグレードされたインスタンスのOracleAS Wirelessデバイス・ポータルのホーム・ページのアイコンが壊れています。これは、SSL構成でのアイコンのmod_rewriteが機能しないためです。
この問題を修正するには、次のエントリをSSL仮想ホスト構成に追加して、SSLモードでのリライトを有効にする必要があります。
RewriteEngine on RewriteOptions inherit
エントリのサンプルは次のとおりです。
<VirtualHost _default_:4444> # General setup for the virtual host DocumentRoot "/Portal1012/Apache/Apache/htdocs" @ ServerName iwinrea05.us.oracle.com ServerAdmin you@your.address ErrorLog "|/Portal1012/Apache/Apache/bin/rotatelogs logs/error_log 43200" TransferLog "|/Portal1012/Apache/Apache/bin/rotatelogs logs/access_log 43200" Port 443
HDMLが有効なデバイスで支出デモ・アプリケーションを実行しているユーザーから問題が報告されています。HDMLが有効なデバイスを使用して、「認可」または「拒否」ボタンをクリックしてデバイス・ポータルに組込みの支出デモ・アプリケーションにアクセスしようとしたときに、エラーが発生する場合があります。HDMLが有効なデバイスを使用しているときは、このデモの「認可」および「拒否」機能を使用しないようにする必要があります。
この項では、OracleAS Wirelessの構成に関する問題とその対処方法について説明します。この項の内容は次のとおりです。
OracleAS Metadata Repository Creation Assistantツールでは、9.0.2.6データベースへのOracleAS Wirelessスキーマのロード時にエラーが発生することがあります。この問題を回避するには、max_enabled_rolesパラメータを100に増やしてから9.2.0.6 RACデータベースでRepCAインストールを試行してください。
最初にcurrent max_enabled_rolesパラメータの値をチェックします。
sysdbaとしてデータベースに接続します。
次のコマンドを発行します。
SQL> select name,value from $parameter where name='max_enabled_roles';
値が100未満の場合は、sysdbaとしてRACデータベースに接続し、次のコマンドを発行します。
SQL> alter system set max_enabled_roles=100 scope=spfile;
新しい値を使用するためにデータベースを再起動します。
Configuration Assistantのエラー・メッセージは、ORACLE_HOME
/wireless/logs/upgrade_CA.out
で確認できます。メッセージは次のようになっています。
SQL例外: java.sql.BatchUpdateException: バッチ処理でエラーが発生しました。 ORA-01430: 追加する列がすでに表に存在しています。
10.1.2インスタンスが以前のリリースのOracle Application Serverからアップグレードされたものではなく、新規のインスタンスである場合は、このメッセージを無視しても問題ありません。
IBM WebSphere Application Serverを使用している場合は、次のパッチをインストールします。
http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg24009813
これにより、Oracle Industrial Telnet Serverや(場合によっては)他の製品を使用する際に発生する可能性のある問題を回避できます。