Oracle JDeveloper 12c(12.2.1.1.0)の既知の問題

概要

このドキュメントでは、以下の製品についての既知の問題(および、可能な場合には問題の回避策)の一覧を示します。

  • Oracle JDeveloper 12c(12.2.1.1.0)
  • Oracle Application Development Framework(Oracle ADF)12c(12.2.1.1.0)

このリリースの新機能の一覧については、OTNで新機能についてのドキュメントを参照してください。

このドキュメントでは、このリリースでの既知の問題について説明します。新しい問題が見つかった場合には、このドキュメントに追加されます。ご質問がある場合、答えが知りたい場合、およびご意見ご要望がある場合は、JDeveloperコミュニティのディスカッション・フォーラムや他のコミュニティ・リソースをご利用ください。

デプロイメント

エントロピが不十分なLinuxマシンでドメインの作成に時間がかかることがある

エントロピが不十分なLinuxマシンでドメインを作成しようとすると、長時間を要することがあります。詳しくは、 Oracle WebLogic Serverリリース・ノート を参照してください。

Webサービスの開発

WSDLなしにプロバイダ・サービスでポリシーが適用されない

WSDLが関連付けられていないWebサービス・プロバイダの場合、その添付ポリシーはサーバーによって適用されません。ユーザーがWSDLなしのプロバイダ・サービスをデプロイするのを防止するため、このシナリオが検出されると、JDeveloperのコード・エディタに警告が表示されます。この問題の回避策は、プロバイダ・サービス用のWSDLを保持し、wsdlLocationアノテーション・パラメータを使用して、WSDLをそのサービスに添付することです。

同じプロジェクト/パッケージに複数のトップダウンWebサービスを作成しない(7165531)

同じスキーマで動作している場合を除いて、同じプロジェクトで複数のトップダウンWebサービスを作成しないようにします。これは、同じパッケージ内に作成すると、連続して作成されるそれぞれのトップダウン・サービスにより、その前のサービスによって作成されたObjectFactoryクラスが上書きされる可能性があるからです。

JAX-WS RI WebサービスをGlassfishサーバーにデプロイするときにデプロイメントに失敗する(14629256)

JDeveloperを使用して作成したJAX-WS RI WebサービスのEARファイルまたはWARファイルをGlassfishサーバーにデプロイしようとすると、そのデプロイメントに失敗します。

この問題を回避するには、次のいずれかの手順を実行します。

  • Basic認証による保護などの高度な機能をサポートするためにWebサービスでweb.xmlファイルを必要とする場合は、次の手順を実行します。
    • web.xmlファイルを編集して、不要なライフサイクル・リスナー・エントリoracle.adf.share.glassfish.listener.ADFGlassFishAppLifeCycleListenerを削除します。
    • sun-jaxws.xmlファイルを削除します。
  • web.xmlファイルを削除します(高度な機能をサポートする必要がない場合)。

ADF Business Components

Oracle ADF Business Componentsの非推奨機能に関する注意事項

Oracle ADF interMediaドメインは非推奨機能となっている(22383701)

Oracle ADF BC Javaクラスの構築に使用するJPublisherが非推奨となったため、それらのJavaクラス上に構築されるinterMediaドメインのサポートも非推奨にすることが必要になりました。InterMediaドメインは将来のリリースではサポートされなくなるため、この機能は使用しないでください。

Oracle ADF bc4jdomjnrc.jarは成果物から削除されている(22599953)

bc4jdomgnrc.jarは、Oracle ADF BCの成果物から削除されています。これは、使用されることのない重複クラスがこの成果物によって生成され、プロジェクトのコンパイル時に予期しない警告が発生することが分かっているからです。導入したネイティブJavaでの汎用ドメイン・データ型に対しては、より適した代替成果物があります。

削除されたデータ型に対する代替データ型は次のとおりです。

oracle.jbo.domain.Number - IntegerやBigDecimalのようなJavaデータ型を使用する
oracle.jbo.domain.Date - java.sql.Dateおよびjava.sql.Timestampを使用する

oracle.jbo.domain.Char - java.lang.Characterを使用する

あるいは、これらのJavaデータ型が受け入れられない場合は、adf-config.xmlファイルとjbo.TypeMapEntriesプロパティを使用してカスタム・タイプでデータ型を登録できます。

Oracle ADF RESTランタイムに関する注意事項

Oracle ADF REST記述でのフィールド・データ型に対する変更

Oracle ADF Business Componentsの日付および日時属性にマップされるOracle ADF REST記述のフィールドは、string型として記述されなくなりました。Oracle ADF Business Componentsの日付/日時属性は、記述フィールド型datedatetimeです。

Oracle ADF REST HTTP PUTは非推奨機能となっている

Oracle ADF RESTリソース・リクエストでHTTP PUTメソッドを実行する機能は非推奨となりました。現在のリリースでは、バッキング・ビュー・オブジェクトで更新操作が有効になっている(更新操作によってPUTメソッドとPATCHメソッドの両方が有効になる)場合、Oracle RESTリソースの記述に引き続きPUTアクションが表示されます。ただし、この機能は将来のリリースでサポートされなくなるため、Oracle ADF RESTサービス・クライアントではPUTリクエストを行わないでください(表示行のすべての項目を置き換えてください)。

行のキー値となっている属性が変更されると、RESTリソースのPATCHリクエストが失敗する(20859674)

ビュー・オブジェクトの行のキー属性値が更新されると、Oracle ADF RESTフレームワークによって実行されるPATCHリクエストが失敗します。たとえば、PATCH /rest/Departments/10 with {“Deptno” : “11”}です。ここで、Deptnoがエラーの発生しているキー属性です。

ADF Desktop Integration

HTTPS接続

4.2.0.12861の時点で、Oracle ADFdiクライアントは、古いバージョンのWebLogic Serverにhttpsを使用して正常に接続できない可能性があります。古いバージョンのWLSの例には、JDEVADF(Rel11)ラベルでJDeveloperとバンドルされていたバージョンがあります。最新のPatch Set Updates(PSU)を適用する必要があります。たとえば、PSU 20780171を適用すると、Oracle WLS 10.3.6へのhttps接続を正常に行うことができることが報告されています。詳しくは、MOS Doc ID 2087746.1を参照してください。

表関連のリソース式:Oracle ADFdi 4.3.0(以降)を使用して新しい表を作成する場合は、表ヘッダー(および関連するリボン・コマンド)でいくつかの新しいリソース式を使用できます。これらの式は、Oracle ADFdi 4.3.0クライアントを使用して適切に評価されます。ただし、Oracle ADFdi 4.2.0以前のクライアントでは評価されません。これまでどおりオラクルでは、サーバーに適合したクライアントを使用することを推奨します。古いクライアントで作成された表で使用されている式の場合は、Oracle ADFdi 4.3.0で正しく評価されます。そのため、それらの式を変更する必要はありません。

Oracle ADF Faces、Oracle ADF Controller、およびOracle ADF Data Visualizationのランタイム

特別なアクセス可能性モードが不要になっている(16622238)

ADF Facesでは、Oracle ADF Facesアプリケーションで特別なアクセス可能性モードを設定しなくてもアクセス可能なコンテンツを提供するようになりました。コンポーネントは、スクリーン・リーダーで使用するためにデフォルトで最適化されており、アプリケーションのスクリーン・リーダー・モードの必要性をなくしています。コンポーネントはデフォルトで拡大可能になっており、アプリケーションの大きいフォント・モードの必要性をなくしています。コンポーネントは、OSの高コントラスト・モードが設定されるのを検出し、OSの高コントラストに適合するコンテンツを自動的にレンダリングするため、アプリケーションの高コントラスト・モードの必要性をなくしています。

Oracle ADF Data Visualizationsのグラフ

dvt:stockGraphタグは非推奨となりました。開発者は、代わりにdvt:stockChartを使用してください。

非推奨タグ 新しいタグ
dvt:stockGraph dvt:stockChart

株価チャートおよび他の新しいデータ視覚化機能について詳しくは、JDeveloper 12.2.1.1の新機能に関するドキュメントを参照してください。

Oracle ADF Data Visualizationのピボット・テーブル

先頭の0は、ピボット・テーブルからエクスポートされたExcelに持ち越されません(9927815)。

大規模データ・セットのパフォーマンス

1000行以上の行ベースのデータ・セットの場合には、データベース内でサマリー・データを事前計算してピボット・テーブルに送信される行の数を制限し、データ集計に必要とされるリソースを減らします。また、バッチのAll Rowsのデフォルト設定である1を使用することにより、ビュー・オブジェクトをチューニングしてデータベースからのデータの取得方法を設定することもできます。詳しくは、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』ガイドの"すべてのビュー・オブジェクトに適したチューニング設定の検討"を参照してください。最後に、dvt:pivotTableコンポーネントのcolumnFetchSize属性とrowFetchSize属性を設定して、データ・フェッチ・ブロック内の列数と行数を指定します。

Oracle ADFのデータ可視化のデザイン・タイム

メトリック属性がX軸にマップされている場合は、データバインドされた領域グラフ、棒グラフ、および折れ線グラフのCreateダイアログが正しく更新されません。回避策は、メトリック属性をY軸にマップしてから、ページ・ソースを編集して、生成されるchartDataItemタグごとに'groups'プロパティと'series'プロパティのEL文字列を入れ替えることです(23513579)

Oracle JDeveloper

OEL7でJDeveloperを実行中、JDKが起動時にクラッシュする(20119075)

GNOMEクラシック・ウィンドウ・マネージャを使用するOEL7が実行されているマシンでJDeveloperを起動すると、JDKがクラッシュする可能性があります。回避策は、JDK8u60以降を使用することです。

Coherenceクラスタのエラー(21812587)

統合されたWLS SERVER STARTUPに失敗する

CFUでのOPatchサポートをMacOSXで利用できない(22999741

Opatchライブラリで重大なバグが発見され、このリリースに間に合わなかったため、MacOSXでは、更新チェックでのOPatchサポートが無効になっています。

データベースとOracle MDSスキーマに関する注意事項

Oracle Metadata Services(MDS)リポジトリには、特定のタイプのデプロイされたアプリケーションのメタデータが格納されています。これには、ユーザー組織で開発したカスタムJava EEアプリケーションや、Oracle B2BなどのいくつかのOracle Fusion Middlewareコンポーネント・アプリケーションが含まれます。

Oracle MDSリポジトリでは、Oracleデータベースとともに、SQL ServerやDB2などのOracle以外のデータべースもサポートされています。認定済みデータベースの最新情報については、 Oracle Fusion Middleware Supported System Configurationsページで12c(12.2.1)の認定ドキュメントを参照してください。

Oracle MDSスキーマでのOracleデータベースの使用に関する注意事項

Oracleデータベースの場合、Repository Creation Utility(RCU)によって作成されたOracle MDSデータベース・ユーザーには、DBMS_OUTPUTおよびDBMS_LOBEXECUTE権限が必要です。RCUを使用してメタデータ・リポジトリを作成するときに、PUBLICDBMS_OUTPUTおよびDBMS_LOBでのEXECUTE権限がない場合、RCUユーザーには、DBMS_OUTPUTおよびDBMS_LOBでのEXECUTE権限をOracle MDSユーザーに付与する権限が必要です。

適正な権限があることを確認するには、SYSDBAとして、またはDBMS_OUTPUTおよびDBMS_LOBでのGRANT OPTIONに関してEXECUTE権限を持つDBAユーザーとしてRCUにログインします。

Oracle MDSスキーマでのMicrosoft SQL Serverデータベースの使用に関する注意事項

Oracle MDSのデータベースとしてSQL Serverを使用する場合は、以下の点に注意してください。

  • SQL Serverでメタデータ・リポジトリを作成するには、ホスティング・データベースのREAD_COMMITTED_SNAPSHOTONに設定します。これにより、必要な行バージョニング・サポートが有効になります。この機能は、以下の例にあるように、SQLコマンドALTER DATABASEを使用して有効にすることができます。
  • ALTER DATABASE mds SET READ_COMMITTED_SNAPSHOT ON

  • メタデータ・リポジトリで大/小文字を区別するセマンティックをサポートするには、大/小文字を区別する照会を使用してください。たとえば、Latin1_Generalを使用する場合は、次のSQLコマンドを使用してSQL_Latin1_General_CP1_CS_AS照会を選択します。
  • ALTER DATABASE mds COLLATE SQL_Latin1_General_CP1_CS_AS

  • OracleスキーマとSQL Serverスキーマの間には軽微な違いがいくつかあります。たとえば、特定のテキスト・フィールドの長さはSQL Serverスキーマのほうが短くなっています。また、SQL Serverでのメタデータのフルパス名は400文字までに制限されています。

Oracle MDSスキーマでのIBM DB2デーベースの使用に関する注意事項

Oracle MDSのデータベースとしてDB2を使用する場合は、以下の点に注意してください。

  • Oracle MDSリポジトリが正しく動作するには、DB2 9.7以降を使用する必要があります。
  • CUR_COMMITの値は、新規インストールしたDB2 9.7データベースのデフォルト値である"ON"に必ず設定してください。この設定は、次のDB2コマンドを使用して確認できます。

    db2 connect to your_database user admin_user db2 "get db cfg" | grep -I commit Curently Committed (CUR_COMMIT) = ON 

    データベースのロック・タイムアウト・パラメータを小さい値に設定します。Oracleデータベースとは異なり、DB2では、1人のユーザーが行を更新する場合、条件によっては別のユーザーが別の行を更新するときにブロックされることがあり、最初のユーザーによってトランザクションがコミットされるかロールバックされるまで待つ必要があります。同時実効性を高めるため、ロック・タイムアウトが無限長に設定される値-1は指定しないでください。

    DB2データベースのロック・タイムアウト値を問い合わせるには、次のコマンドを使用します。

    db2 'get database config for database_alias' | grep -i timeout

    値が大きすぎる場合は変更してください。たとえば、ロック・タイムアウト値を180秒に変更するには、次のコマンドを使用します。

    db2 'update database config for database_alias using locktimeout 180'

    locktimeoutパラメータとして適切な値を選択します。使用する値が大きいと、トランザクションでは処理を中止するまでに非常に長い時間待つ必要があるため、システムのスループットに影響します。設定する値が小さすぎると、データベースで数多くの長時間実行トランザクションを処理するときにタイムアウト例外が数多く発生します。

  • デッドロックやロックの問題を回避するには、DB2のレジストリ変数DB2_EVALUNCOMMITTEDDB2_SKIPINSERTED、およびDB2_SJIPDELETEDOFFに設定します。デフォルトでは、これらの変数がOFFに設定されています。現在のレジストリ変数の設定を確認するには、db2set -allコマンドを使用します。
  • OFFに設定されていない場合は、次のコマンドを使用します。

    db2set DB2_EVALUNCOMMITTED=OFF db2set DB2_SKIPINSERTED=OFF db2set DB2_SKIPDELETED=OFF 

    db2stopコマンドとdb2startコマンドを使用してデータベース・サーバーを再起動します。

  • DB2では、メモリのストレスやロックの使用量のために、行ロックが表ロックにエスカレートされる場合があります。その結果、ユーザーのトランザクションは、デッドロックやロック・タイムアウトの影響でロールバックされます。ロックのエスカレーションを軽減するため、構成パラメータMAXLOCKSおよびLOCKLISTのサイズを増やすことができます。次のコマンドを使用します。
  • db2 'update database config for database_alias using locklist value' db2 'update database config for database_alias using maxlocks value' 

    11g Release 1(11.1.1.8.0)以降の場合は、MAXLOCKSの値を20に、LOCKLISTの値を70000に設定してください。

  • 分離レベルはCurrently Committedに設定する必要があります。設定を確認するには、次のコマンドを使用します。
  • db2 'get database config for database_alias' | grep -i commit

    分離レベルをCurrently Committedに設定するには、次のコマンドを使用します。

    db2 'update database config for database_alias using CUR_COMMIT ON'

  • データベース・トランザクション・ログが頻繁にいっぱいになる場合は、データベース構成パラメータの値を増やして、ログ・ファイルのサイズを大きくできるようにします。ログ・ファイルが大きくなると、必要な領域も大きくなりますが、アプリケーションで処理を再試行する必要性が軽減されます。ログ・ファイルのサイズは10000以上に設定し、プライマリ・ログ・ファイルの数は50以上に設定してください。次のコマンドを使用します。
  •  db2 'update database config for database_alias using LOGFILSIZ 10000' db2 'update database config for database_aliasusing LOGPRIMARY 50' 

    Oracle MDS DB2データソースをIBM WebSphereアプリケーション・サーバーで作成し、IBM DB2 JCCドライバをデータソースとして選択する場合は、データソースのプロパティ・リストにprogressiveStreaming=2プロパティを追加する必要があります。実際には、プログレッシブ・ストリーミングが無効化されます。このプロパティ設定を行わないと、Oracle MDSリポジトリのラージ・オブジェクト(LOB)列に保存されているドキュメント・コンテンツにアクセスするときに、Oracle MDSで問題が発生する可能性があります。

Oracle MDSリモート通知

Oracle MDSデータベース・リポジトリには、リポジトリ内のドキュメントがクラスタ・メンバーによって変更されたときに、Coherenceを使用してクラスタ全体に通知を送信する機能があります。この機能を有効にすると、変更がコミットされたときにすべてのクラスタ・メンバーにドキュメントに対する変更があったことが通知され、各ノードでリポジトリのポーリングが実行される(ポーリング間隔が期限切れになったか、またはそのノードのリポジトリに変更が加えられたため)まで待たなくてもよくなります。クラスタ・メンバーは、ドキュメントに対する変更の通知を受け取ると、そのドキュメントの現在のローカル・バージョンを無効にし、代わりに更新されたドキュメントを使用します。

Release 12c以降、WLSドメインでOracle MDSを使用するときにこの機能を有効にするためには、adf-config.xmlファイルで“remote-notifications-enabled”プロパティを“true”に設定します。

 ...  

この機能を使用するには、リポジトリを参照するために各ノードが使用しているJNDI名をすべてのノードで同じにし、ポーリングを有効にする(external-change-detection=”true”)必要があります(デフォルトで有効になっていますが、無効にしないようにする必要があります)。

アプリケーションでリモート通知が有効になっている場合は、プロパティ“remote-notifications-enabled”を“false”に指定することにより、個々のDBメタデータ・ストアがオプトアウトされます。

   ...