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