1 Oracle Enterprise Data Qualityリリース・ノート
製品をインストールまたは使用する前に、このドキュメントを確認することをお薦めします。
1.1 リリース14.1.2.0.0
このドキュメントには、Oracle Enterprise Data Quality (EDQ) (12.2.1.4.4)のリリース情報が含まれており、次のセクションがあります。
1.1.1 新機能と改善点
このリリースには、次の拡張機能が含まれています。
1.1.1.1 新規スクリプト・セキュリティ・モデル
EDQはセキュアなスクリプト実行のためにJava Security Managerフレームワークに依存しますが、この機能はJDKバージョン17以降では非推奨です。EDQでは、直接入力スクリプト・プロセッサおよびガジェットの動作を制御するために使用できるscriptprocessor.security
という新しい構成プロパティが実装されるようになりました。
この拡張機能は、直接入力スクリプト・プロセッサおよびガジェットでのスクリプトの使用にのみ適用されます。これは、スクリプトの他のすべての使用(トリガーなど)には影響しません。詳細は、「セキュア・スクリプト実行の構成」を参照してください。
1.1.1.2 MBeanにアクセスして管理するためのREST API
EDQには、MBean属性の読取りと書込み、およびMBean操作の呼出しをサポートするREST APIが含まれています。
EDQでは多数のJMX MBeanが定義されており、その一部は実際に使用されています。14.1.2.0.0では、次のMBeanがWeb対応になっています。
- ロガー制御
- ランタイム・データNexus
- バケット・プロバイダおよびコンシューマ
- ランタイム・エンジン
- ソース・コード制御
RESTインタフェースを使用してMBean属性の読取りと書込みおよび操作の呼出しを行う方法の詳細は、REST APIを使用したMBeanへのアクセスおよび管理に関する項を参照してください。
1.1.1.3 ケース管理の添付の外部ストレージ
以前のバージョンのEDQでは、ケース管理の添付のバイナリ・データがdn_caseattachments表のBLOB列に格納されます。これにより、高速な格納および取得が可能になりましたが、多数の添付があるシステムでは、大量のデータベース・ストレージが使用される可能性があります。これにより、表領域のサイズおよびバックアップの問題が発生する可能性があります。
EDQ 14.1.2以降では、ファイル・システムまたはクラウド・ストレージに添付データを格納できます。新しい添付は外部に保存されますが、既存の添付データはデータベース表に残ります。このリリースには、データを外部ストレージに移行し、移行した外部データをデータベースに戻すために使用できるREST APIも含まれています。添付用の外部ストレージを構成および使用する方法の詳細は、ケース管理添付の外部ストレージの構成に関する項を参照してください。
1.1.1.4 ケース管理およびノートの添付のブラウザベースのダウンロード
EDQ 14.1.2.0.0より前のバージョンでは、ケース管理およびノートの添付はローカル・システムにダウンロードされ、Desktop.openを使用して開かれました。これにより、ブラウザのダウンロードによって提供されるファイル・スキャンがバイパスされました。
セキュリティ上の理由から、このような添付はデフォルトでブラウザを使用して開かれ、保存されるようになりました。ケース管理またはノートの添付をダウンロードしようとすると、EDQは一時的な一意のURLをhttp://server/edq/downloads/key/name
形式で生成し、Desktop.browse
APIを使用して開きます。保存操作の場合、EDQは結果にContent-Disposition: attachment header
を追加して、ブラウザで強制的にファイルを保存します。
ブラウザベースのダウンロードがデフォルトになりましたが、組織または個々のユーザーが現在の「ローカル」ダウンロード・モードを使用することが必要な状況があります。attachment.download.style
プロパティをclientstartup.properties
に追加することで、ダウンロード・タイプを制御できます。値がlocal
の場合、EDQはすべてのユーザーに対して現在のローカル・メカニズムを使用します。値がchoose
の場合、個々のユーザーは添付をダウンロードする方法を選択できます。
attachment.download.style
をchoose
に設定すると、ユーザー・インタフェースで次のオプションが有効になります。
- Directorアプリケーションの「プリファレンス」ダイアログ・ボックスの添付のダウンロード・スタイル・ドロップダウンには、ブラウザを使用してダウンロードとローカルにダウンロードの2つのオプションがあります。
- ケース管理で、添付を右クリックして、添付のダウンロード・スタイル・ドロップダウンを表示します。このドロップダウンには、ブラウザを使用してダウンロード(推奨)とローカルにダウンロードの2つのオプションがあります。
EDQアプリケーション全体に、同じダウンロード・スタイルの設定が適用されます。
1.1.1.5 AWS Roles Anywhere認証のサポート
EDQでは、現在のアクセス・キー/シークレット格納済資格証明タイプとともに、AWS Roles Anywhere格納済資格証明がサポートされるようになりました。
AWS Roles Anywhereでは、オンプレミスのワークロードがS3やSQSなどのAWSサービスにアクセスできます。Roles Anywhereは、標準のアクセス・キー・ベースのAWS資格証明の使用に代わるものです。詳細は、「AWS Roles Anywhere格納済資格証明の作成」を参照してください。
1.1.1.6 EDQ構成およびログ・ファイルへのWebアクセス
HTTPおよびHTTPSを使用して構成およびログ・ファイルにアクセスできるようになりました。
互換性のため、Webアクセスはデフォルトで有効になっていませんが、director.propertiesおよびMBeanを設定して有効にできます。詳細は、HTTPおよびHTPSサーバーを使用したEDQファイルへのアクセスに関する項を参照してください。
1.1.1.7 削除されたユーザーを識別およびパージするツール
EDQには、内部ストアまたは外部ストアから削除されたユーザーが構成スキーマ表のいずれかに参照を持っているかどうかを確認できるusergc.jar
というツールが含まれるようになりました。
このツールを使用して、このようなユーザーを識別し、データベースからそれぞれのレコードをクリーンアップできます。このツールの詳細は、「ユーザー・ガベージ・コレクション・ツールを使用した削除済ユーザーの管理」を参照してください。
1.1.1.8 パッケージ・ファイルをインポートするための新しい自動実行処理タイプ
新しい「インポート」自動実行タスクを使用して、システムの起動時にパッケージ・ファイルをインポートできるようになりました。
処理XMLには、パッケージ・インポート定義がインラインJSONまたはファイル名として含まれます。詳細は、「自動実行を使用した起動タスクの実行」を参照してください。
1.1.1.9 Sysreport REST APIの拡張機能
サポートおよびお客様は、システム管理ネームスペースでhttp://server:port/edq/admin/sysreport
エンドポイントを使用して、sysreportをJSON形式で生成できます。
REST APIを使用して完全なレポートのサブセットを返すことができます。これは、自動テストおよび迅速な診断に役立ちます。RESTインタフェースを使用して構成およびランタイム情報を取得する方法の詳細は、EDQシステム・レポートのRESTインタフェースに関する項を参照してください。
1.1.1.10 構成のパッケージ化およびインポートのREST APIの拡張機能
構成をパッケージ化してEDQ環境間でインポートするときに、グローバル・ケース・フィルタを含めることもできます。
詳細は、REST APIを使用した構成のインポートおよびエクスポートに関する項を参照してください。
1.1.1.11 ケース管理REST APIの拡張機能
ケース管理REST APIでは、JSONマップとしてのフィルタ仕様の定義、ケースとアラートの一括更新、ケースとアラートの一括エクスポート、レポートの実行、一括操作の取消しを行えるようになりました。このリリースには、ケース管理の管理用の単純なREST APIも含まれています。
ケース管理REST APIには、次の新機能が含まれています。
- 検索を実行するためのJSONマップとしてのフィルタ定義: 以前のバージョンでは、ケース管理REST APIを使用して検索を実行するために名前付きフィルタを指定する必要がありました。現在は、runfilterおよびbulkdelete POST操作のfilter属性を、検索の条件を定義するJSONマップにすることができます。これらのフィルタ条件には、ケース管理UIでサポートされている任意の標準属性および拡張属性を含めることができます。現在、ケース・コメントおよび遷移を使用した検索はサポートされていません。
- フィルタを使用した複数ケースの一括更新: bulkupdateメソッドを使用して、複数のケースまたはアラートをフィルタおよび更新できます。コールを行うユーザーには、ケース管理の一括更新権限と、状態変更定義で使用される遷移で定義された権限が必要です。
- 複数のケースおよびアラートのエクスポート: exportメソッドを使用して、複数のケースまたはアラートをフィルタし、ファイルまたはURLにエクスポートできるようになりました。サポートされている出力形式は、JSON、JSON行、XLSXおよびCSVです。コールを行うユーザーには、「Excelにエクスポート」のケース管理権限が必要です。
- レポートの実行: reportメソッドを使用し、汎用フィルタを使用してケース管理レポートを実行できます。
- 一括操作の取消: 一括操作を開始したコールによって返された実行キーを使用して、一括削除、更新またはエクスポート操作を取り消すことができます。
- ケース管理の管理API: このリリースには、ケース・ソース、ケース・ワークフロー、ケース管理の動的権限およびグローバル・フィルタをリストおよび削除できる単純なAPIが含まれています。
ケース管理REST APIの詳細は、「EDQケース管理APIの使用」を参照してください。
1.1.2 既知の問題と回避策
この項では、このリリースの既知の問題および回避策について説明します。
1.1.2.1 fontconfigパッケージが見つからない場合にApache POI XLSXシートの作成が失敗する
フォントは、Oracle JDK 11以降のバージョンには付属しなくなりました。フォント・レンダリングが必要なアプリケーションは、オペレーティング・システムとともにインストールされるフォントに依存します。
Apache POIは、Javaフォント・メカニズムを使用して平均文字幅を決定します。Linux fontconfig
パッケージが存在しない場合、出力の生成は"java.lang.reflect.InvocationTargetException
"エラーで失敗します。
この問題を避けるには、次のいずれかを実行します。
fontconfig
パッケージをインストールします。# yum install fontconfig
- Javaプロパティ
org.apache.poi.ss.ignoreMissingFontSystem
をtrue
に設定して、欠落しているフォントをApache POIで無視できるようにします。これは、Apache POIバージョン5.2.x以降に適用されます。
1.1.2.2 sourceid表示値が重複している場合、ケース管理REST APIフィルタが失敗することがある
EDQケース管理REST APIの一般化されたフィルタ形式では、sourceid
属性を使用してレコードをフィルタし、検索を実行できます。
例:
sourceid": "process(cm-wf-p) processor(Advanced Match)"
フィルタ・コードにより、sourceid
表示値と内部sourceid
識別子との間にマップが作成されます。ただし、プロジェクト間で一致プロセスをコピーする場合など、sourceid
表示値が重複する場合があります。このような重複するsourceid
表示値により、マップの作成がIllegalStateException
エラーで失敗する可能性があります。
この問題を回避するには、sourceid
属性を使用してフィルタを実行しないでください。
1.1.2.3 クラスタ環境でのケース管理REST APIの一括削除および更新の失敗
ケース管理の一括削除および更新APIの非同期操作を使用して格納される結果オブジェクトは、シリアライズできません。クラスタ環境でケース管理 APIを使用してケースまたはアラートを一括削除または更新しようとすると、操作の完了時に例外がスローされ、結果オブジェクトが後で取得できるように格納されます。
エラーは次のステータスで報告されます。
{
"start": "2024-11-13T13:27:30.002Z",
"complete": true,
"failed": true,
"error": "(Wrapped) java.io.NotSerializableException: oracle.edq.casemanagement.rest.data.DeleteResult",
"end": "2024-11-13T13:27:30.050Z"
}
1.1.2.4 XMLTransformer.purifyXMLが外部エンティティ拡張機能を無効にしない
XML解析などの複雑な変換をサポートするために、レコード値を処理するためのJavaScriptスクリプトを指定できます。スクリプトXMLTransformer.purifyXML
関数は、外部エンティティの拡張を無効にしないため、セキュリティの脆弱性が生じる可能性があります。
1.1.2.5 比較メソッドの失敗により、ダッシュボードの表示が500エラーで失敗する可能性がある
ダッシュボードには、結果の概要が指数、サマリーの形式で、またはルール別に表示されます。これらは、まとめて要素とも呼ばれます。ダッシュボードUIでは、すべての要素がステータスおよび合格率でソートされます。ソートは、合格率(合格数/合計数)を比較することによって行われます。
合計数がゼロの場合、これはNaNと評価されます。NaNとのより大きいまたはより小さい比較では常にfalseが返されるため、比較メソッドは0を返します。
たとえば、要素A、B、およびCがあり、Cの個数がゼロで、Aの合格率がBより大きいとします。このシナリオでは、比較は次のように返します。
A > B (正しい)
B < A (正しい)
A = C (正しくない)
B = C (正しくない)
A = CかつB = Cであるため、ソートではA = Bも想定されますが、これは正しくありません。
関連プロセッサを介して渡されたプロセス内のレコードがないため、比較がゼロのダッシュボード・ルールがある場合、UI表示は失敗し、次の例外が原因で500エラーが発生する可能性があります。
java.lang.IllegalArgumentException: Comparison method violates its general contract!
このエラーを回避するには、次のいずれかの操作を行います。
- すべてのルールに公開済レコードがあることを確認します
- 次のシステム・プロパティを設定します。
-Djava.util.Arrays.useLegacyMergeSort=true
1.1.2.6 Oracleへのエクスポートで、古い表がごみ箱に残ることがある
新しい表を作成するようにエクスポートが構成されている場合、EDQはまずDROP TABLE tablename
SQL文を使用して既存の表を削除します。表に関連付けられた領域は、すぐには削除されません。Oracle Databaseは表の名前を変更し、表および関連オブジェクトをごみ箱に置きます。
1.1.2.7 スキーマ・パスワードのリセットで接続プール・パスワードが変更されない
スキーマ・パスワードは、schema.password.auto.reset.after
オプションを使用して自動的に変更することも、REST APIを使用して手動で変更することもできます。スキーマ・パスワードの変更により、データベースおよびdirector.propertiesファイル内のパスワードが更新されますが、基礎となる接続プール内では更新されません。
スキーマ・パスワードの更新後、プール内の既存のアイドル接続は正常に機能しますが、新しい接続を取得しようとすると、無効なユーザー名/パスワード・エラーで失敗します。
1.1.2.8 Apache Derbyデータベースで表を作成するときにgetindexinfoコールによってデッドロックが発生する可能性がある
DatabaseMetaData getIndexInfo
メソッドは、表の索引の詳細を取得するために使用します。表は新しく作成され、索引がないため、ほとんどの場合、これは必要ありません。
Apache Derbyデータベースで複数のスレッドを使用して表を作成する場合、getIndexInfo
コールによってデータ・ディクショナリでデッドロックがトリガーされ、次の例外が発生する可能性があります。
ERROR 40XL1: A lock could not be obtained within the time requested