12cR1.3.0.14での変更点

Oracle NoSQL Database 12cR1.3.0.14で次の変更が行われました。

新機能

  1. 表APIを使用する場合、レコード、マップおよび配列のフィールドに索引を作成できるようになりました。[#23091]

  2. Oracle NoSQL DatabaseとOracle Coherenceの統合が更新され、Coherence 12c (12.1.2)がサポートされるようになりました。Coherence 12.1.2より、キャッシュ構成パラメータはカスタムXMLのネームスペース内で指定され、実行時にNoSQL Databaseのネームスペース・ハンドラによって処理されるようになりました。この更新されたモジュールはCoherenceバージョン3.7.1でも使用できますが、Coherenceは最新バージョンにアップグレードすることをお薦めします。Coherence 12.1.2または以前のCoherence 3.7.1を使用してNoSQL Databaseでサポートされるキャッシュを構成する方法の詳細は、oracle.kv.coherenceパッケージのjavadocを参照してください。[#23350]

  3. Oracle外部表を使用して、表APIによって作成されたOracle NoSQL Database表にアクセスできるようになりました。通常必要なプロパティに加えて、ユーザーは外部表構成ファイルで表名を指定する必要があります。詳細は、こちらを参照してください。[#23605]

  4. 指定された表のインメモリー・サイズを見積もるために、管理CLIのtableコマンドに"size"オプションを新たに追加しました。sizeコマンドの結果は、ストアのリソース要件を計画する際の入力として使用できます。[#23444]

  5. Oracle Enterprise ManagerでOracle NoSQL Databaseのインスタンスを監視できるようになりました。詳細は、管理者ガイドのOracle Enterprise ManagerとOracle NoSQL Databaseの統合に関する項を参照してください。

  6. Hadoop MapReduceジョブ内から表APIを介してOracle NoSQL Databaseに書き込まれたデータにアクセスできるようになりました。通常必要なプロパティに加えて、ユーザーはMapReduceジョブの初期化に使用される表名をコマンド・ラインで指定する必要があります。詳細は、クラスのjavadoc、KVHOME/examples/hadoop/table/CountTableRows.javaを参照してください。[#23714]

  7. 表APIを介してOracle NoSQL Databaseに書き込まれたデータに対してHive問合せを実行できるようになりました。この機能を採用するには、Oracle NoSQL Database表が作成されたフィールドに似たフィールド、つまり同じ数とタイプのフィールドで、新しいoracle.kv.hadoop.hive.table.TableStorageHandlerクラスによってSTORED BYが実行されているHive外部表を作成する必要があります。また、Hive TBLPROPERTIESでは、ストア名、ヘルパー・ホストとポート、および表名(Hive表名と同じである必要はありません)を指定する必要があります。[#23714]

バグとパフォーマンスの修正

  1. サニティ・チェックをさらに追加し、securityconfig add/remove-securityコマンドのエラー・メッセージを改善しました。[#23311]

  2. ストレージ・ノード・パラメータmgmtClassに無効な値を指定すると管理サービスのクラッシュが引き起こされるバグを修正しました。[#23227]

  3. oracle.kv.RequestLimitConfigコンストラクタを修正して限度チェックを改善し、整数オーバーフローの問題を解消しました。[#23244]

  4. 管理者がホストしているSNAがリブートされるまで管理パラメータが有効にならないことがあるバグを修正しました。[#23429]

  5. レプリケーション・グループ内でのRepNodeのメンバーシップの状態を示すために、JMXを介して提供されるRepNode MBeanに新しい属性(String replicationState)を追加しました。通常、この値は"MASTER"または"REPLICA"を示しますが、"DETACHED"または"UNKNOWN"もレポートします。この同じ値は、nosql.mibに定義されたとおり、SNMPを介してrepNodeReplicationStateオブジェクト内でレポートされます。[#23459]

  6. Durability、RequestLimitConfigおよびVersionクラスを修正してSerializableを実装し、すでにシリアライズ可能なoracle.kv.KVStoreConfigのインスタンスのシリアライズを許可しました。[#23474]

  7. 2次索引が入力されている場合にレプリケーション・ノードのフェイルオーバーがあったときに、表APIを使用する操作でSecondaryIntegrityExceptionが表示されるバグを修正しました。[#23520]

  8. これ以前のリリースでは、Loadユーティリティを使用して、セキュリティが有効なストアまたは表APIを使用するストアに対して取得されたスナップショット・ファイルから新しいストアを作成することはできませんでした。これは修正されました。この場合に使用する-security、-username、-load-adminおよび-forceフラグがloadユーティリティに追加されました。詳細は、『管理者ガイド』を参照してください。[#23528]

  9. 管理CLIでhistoryコマンドを呼び出す際に、-lastオプションと、ストア内で実行されたコマンドの合計数よりも大きい値を使用すると、java.lang.ArrayIndexOutOfBoundsExceptionが発生するバグを修正しました。[#23579]

  10. 管理サービスが次の例外とともに終了するバグを修正しました。この修正の前は、管理機能は別の管理サービスにシームレスにフェイルオーバーしましたが、プロセスの終了は不必要なもので、アラート可能イベントとして現れていました。[#23580]

    com.sleepycat.je.rep.UnknownMasterException:
    Transaction -XXX cannot execute write operations because this node is no longer a master
  11. 表APIのバグを修正して、enumフィールドにアンダースコアで始まる名前を使用できるようにしました。

  12. まれに、1を超える容量のストレージ・ノードを使用してストアがデプロイされた場合に、同時削除操作、表反復操作、およびシャード内でマスター権限ロールの移動があると、反復操作においてイテレータによって返される値が誤ってスキップされる可能性がありました。これは修正されました。[#23608]

  13. Java GCのCMSフェーズが繰り返し実行され、本来アイドルであるRepNodeのCPUリソースを消費する原因となるGCの構成の問題を修正しました。この修正は、デフォルトのJVM CMSInitiatingOccupancyFractionを77から80に変更しました。テストでは、幅広いアプリケーション・アクセス・パターンにおいてこの構成がより適切なものであることが示されています。しかし、一部の特殊な状況においてこの新しい構成をオーバーライドする必要がある場合は、管理者のchange-policyコマンドを、それが既存のストアである場合は、plan change-parameterコマンドを次のように使用できます。[#23652]

    change-policy -params "javaMiscParams=-XX:CMSInitiatingOccupancyFraction=77"
    plan change-parameters -all-rns -params "javaMiscParams=-XX:CMSInitiatingOccupancyFraction=77"
  14. セキュリティが有効なストア内で発生する可能性のある次のバグを修正しました。

    • セキュリティが有効なストアに新しいレプリケーション・ノードをデプロイするdeploy-topologyコマンドの後で次のエラーがレポートされます。[#23682]

      Task 23/DeployNewRN on sn1(slc06tyu:5000) ended in state ERROR
      oracle.kv.impl.fault.RNUnavailableException: Security metadata
      database is not opened yet.
    • セキュリティが有効なストア内の弾力性の変更の後で次の例外が表示されます。[#23703]

      Insufficient access rights : client host: xx.xxx.xxx.xx:
      attempt to call RepNodeAdmin.updateMetadata(MetadataInfo,AuthContext,short)
    • セキュリティが有効なストア内の弾力性の変更の後で次の問題がログに記録されます。[#23704]

      ProcessMonitor: java.lang.NullPointerException
      ProcessMonitor: at oracle.kv.impl.api.rgstate.RepNodeState$ReqHandlerRef.resolve(RepNodeState.java:649)
      ProcessMonitor: at oracle.kv.impl.api.rgstate.RepNodeState$ReqHandlerRef.get(RepNodeState.java:709)
  15. 弾力性の変更の直後にアプリケーション要求が不必要に短時間タイムアウトするバグを修正しました [#23705]

パッケージおよびドキュメントの変更点

  1. Oracle NoSQL DatabaseにバンドルされたOracle Coherenceライブラリのバージョンが最新のCoherence 12.1.2にアップグレードされました。このため、NoSQL Databaseでサポートされるキャッシュ用にキャッシュ構成パラメータを指定する必要があります。

  2. ラージ・オブジェクトAPIの使用方法に関する新しいドキュメントが追加されました。索引ページおよびOracle NoSQL Database Large Object APIを参照してください。