このリリースでの『Oracle Databaseデータ・リダクション・ガイド』の変更点
この章の内容は次のとおりです:
Oracle Data Redactionの機能拡張
このリリースには、既存機能の最適化や以前の制限事項の削除など、Oracle Data Redactionに対する多数の機能拡張が含まれています。
ビュー内のリダクションされる列に対する複雑式
このリリースでは、リダクションされる列を含むSQL式(CONCAT
、SUM
、TRIM
、MIN
またはMAX
など)を、CREATE VIEW
定義またはインライン・ビューのSELECT
リストで使用できます。
次の例では、c1
にリダクション・ポリシーが定義されています。
例 - SQL式を使用したCreate View文
create view v1 as select sum(c1) sum_c1 from t1 order by c1;
select * from v1;
例 - インライン・ビューのサポート
select * from (select sum(c1) sum_c1 from t1 order by c1);
リダクションされる列での拡張統計およびファンクション索引
Oracle Data Redactionでは、Oracle Database 23ai以降でのファンクションベース索引および拡張統計のベース列でのリダクション・ポリシーがサポートされています。
これにより、お客様は、データベース・パフォーマンス機能をデータベース・セキュリティ機能と組み合せることができます。ファンクションベース索引と拡張統計の詳細は、『Oracle Database開発ガイド』および『Oracle Database SQLチューニング・ガイド』を参照してください。
リダクション・ポリシーがある列に対する式でのGROUP BY
このリリースでは、リダクション・ポリシーがある列に対するSQL式をSELECT
リストおよびGROUP BY
句で使用できます。
GROUP BY
句を使用すると、選択した行を各行の値に基づいてグループ化し、各グループのサマリー情報を1行で戻すことができます。次の例では、c1
にリダクション・ポリシーが定義されています。
例 - c1
にあるリダクション・ポリシーでのGROUP BY
select (c1+5)
from t1
group by (c1+5);
リダクションされる列に対するDISTINCTとORDER BY
このリリースでは、データ・リダクション・ポリシーを含む列に対して、ORDER BY
句とともにDISTINCT
句を使用できます。
DISTINCT
句により、選択された一連の重複行についてはデータベースによってそのコピーが1行のみ返されるようにすることを指定します。
ORDER BY
句を使用すると、選択された行が返される順序を指定できます。
次の例では、c1
にリダクション・ポリシーが定義されています。
例 - c1
にあるリダクション・ポリシーでのDISTINCT
select distinct c1
from t1
order by c1;
副問合せを含む集合演算があるインライン・ビュー
このリリースでは、副問合せを含む集合演算があるインライン・ビューが含まれている問合せでの、データ・リダクション・ポリシーを含む列の使用がサポートされています。
SELECT
文のFROM
句にある副問合せは、インライン・ビューとも呼ばれます。
リダクションされる列を使用する集合演算子
このリリースでは、集合演算での列に、集合演算子の対応する列にあるリダクション・ポリシーとはプロパティの値が異なるリダクション・ポリシーを含めることができます。
- 関数タイプ
- 関数パラメータまたは
REGEXP
パラメータ - ポリシー式
- 有効フラグ
また、集合演算問合せでは、集合演算の片側にリダクション・ポリシーありの列、集合演算の反対側にリダクション・ポリシーなしの対応する列を含めることができます。
集合演算子により、UNION
、UNION ALL
、INTERSECT
、INTERSECT ALL
、EXCEPT
、EXCEPT ALL
、MINUS
またはMINUS ALL
を使用して2つのSELECT
文によって返される複数の行を結合して単一の結果にします。
例 - c1
に完全リダクション、c2
に部分リダクションがあるSELECT
文
select c1 from t1
union
select c2 from t1
この問合せの結果は、「リダクション・ポリシーがある列を使用する場合のSQL式および集合演算を含む問合せでのリダクション結果」の説明のとおり、完全にリダクションされます。
Oracle Data Redactionでアクセス制御を簡素化するスキーマ権限
Oracle Data Redactionでは、Oracle Database 23aiで導入されたスキーマ権限がサポートされています。
この機能拡張は次のとおりです。
ADMINISTER REDACTION POLICY
権限は、Oracle Database 21cで必要だったCREATE TABLE
またはCREATE ANY TABLE
ではなく、DBMS_REDACT
PL/SQLパッケージを使用するためのシステム権限またはスキーマ権限としてユーザーに付与する必要があります。データ・リダクション・ポリシーを作成および管理するには、DBMS_REDACT
パッケージに対するEXECUTE
権限に加えて、この権限が必要です。EXEMPT REDACTION POLICY
権限は、システム権限またはスキーマ権限のいずれかとして付与できます。