3.3 DBMS_REDACT.ADD_POLICYプロシージャの一般的な構文
データ・リダクション・ポリシーを作成するには、DBMS_REDACT.ADD_POLICYプロシージャを使用する必要があります。
DBMS_REDACT.ADD_POLICYプロシージャの完全な構文は次のとおりです。
DBMS_REDACT.ADD_POLICY ( object_schema IN VARCHAR2 := NULL, object_name IN VARCHAR2, policy_name IN VARCHAR2, policy_description IN VARCHAR2 := NULL, column_name IN VARCHAR2 := NULL, column_description IN VARCHAR2 := NULL, function_type IN BINARY_INTEGER := DBMS_REDACT.FULL, function_parameters IN VARCHAR2 := NULL, expression IN VARCHAR2, enable IN BOOLEAN := TRUE, regexp_pattern IN VARCHAR2 := NULL, regexp_replace_string IN VARCHAR2 := NULL, regexp_position IN BINARY_INTEGER :=1, regexp_occurrence IN BINARY_INTEGER :=0, regexp_match_parameter IN VARCHAR2 := NULL);
ここでは次のように指定します:
表3-2 DBMS_REDACT.ADD_POLICYのパラメータ
| パラメータ | 説明 |
|---|---|
object_schema |
データ・リダクション・ポリシーを適用するオブジェクトのスキーマを指定します。この設定を省略(またはNULLを入力)する場合、Oracle Databaseは現在のユーザー名を使用します。ここでの"現在のユーザー"の意味は、DBMS_REDACT.ADD_POLICYプロシージャを呼び出す場所によって変わる可能性があることに注意してください。
たとえば、ユーザー
|
object_name |
必須 データ・リダクション・ポリシーの適用先の表またはビューの名前を指定します。 |
policy_name |
必須 作成するポリシーの名前を指定します。この名前は、データベース・インスタンス内で必ず一意である必要があります。 |
expression |
必須 ポリシーが適用されるタイミングを決定するブール型SQL式を指定します。リダクションは、ポリシー式が デフォルトでは、データ・リダクション・ポリシー式は、その表またはビューに対して定義されているデータ・リダクション・ポリシーに属するすべての列に適用されます。あるいは、個々の列に対してポリシー式を作成して関連付けることにより既存の式をオーバーライドすることもできます。これらの列レベルの式は、名前付きポリシー式と呼ばれます。複数の名前付きポリシー式の作成および管理を参照してください。 |
policy_description |
ポリシーの目的についての簡単な説明を指定します。 |
column_name |
データをリダクションする列を指定します。次のことに注意してください:
|
column_description |
ポリシーの目的についての簡単な説明を指定します。 |
function_type |
リダクションのタイプを設定するファンクションを指定します。
詳細は、次の各項を参照してください。 |
function_parameters |
部分リダクションの場合に列のリダクションをどのように発生させるかを指定します。function_typeがDBMS_REDACT.PARTIALの場合は必須です。部分リダクション・ポリシーを作成する構文を参照してください。
|
enable |
|
regexp_pattern |
正規表現を使用してデータを完全または部分的にリダクションできます。実際のデータにregexp_patternに一致するものがない場合は完全リダクションが実行されるので、regexp_patternを指定するときは注意してください。列のすべての値が、使用している正規表現のセマンティクスに一致しているか確認します。詳細は、正規表現ベースのリダクション・ポリシーを作成する構文を参照してください。
|
regexp_replace_string |
リダクションするデータをどのように置き換えるかを指定します。このデータは、CHAR、VARCHAR2、NCHARまたは NVARCHAR2のどのデータ型にもできます。regexp_replace_stringには、\nという書式で部分正規表現への後方参照を500個まで含めることができます。ここでのnは、1から9までの数値です。regexp_replace_string設定にバックスラッシュ(\)を含める場合は、その前にエスケープ文字(これもバックスラッシュ)を付ける必要があります。
たとえば、一致したパターンを文字どおり 詳細は、Oracle Database SQL言語リファレンスを参照してください。 |
regexp_position |
文字列検索の開始位置を指定します。入力する値は、Oracle Databaseが検索を開始するcolumn_nameデータの文字を示す正の整数です。デフォルトは1または DBMS_REDACT.RE_BEGINNING形式であり、これは、Oracle Databaseでcolumn_nameデータの最初の文字で検索が開始されることを意味します。
|
regexp_occurrence |
検索および置換操作の実行方法を指定します。入力する値は、置換操作の回数を示す正の整数です
正の整数 |
regexp_match_parameter |
ファンクションのデフォルトの照合動作を変更できる、テキスト・リテラルを指定します。このパラメータの動作は、REGEXP_REPLACE SQLファンクションのこのファンクションの動作と同じです。大文字と小文字を区別せずに検索をフィルタするには、RE_CASE_INSENSITIVE形式を指定します。
詳細は、Oracle Database SQL言語リファレンスを参照してください。 |
リダクション・ポリシーについての情報を検索するには、REDACTION_POLICIESデータ・ディクショナリ・ビューを問い合せます。
COMPATIBLEデータベース初期化パラメータを23以上に設定した後、初めて完全なリダクション・ポリシーをブール列に追加すると、REDACTION_VALUES_FOR_TYPE_FULLのカタログ・ビューにBOOLEAN_VALUE列が表示され、BOOLCOL列がSYS.RADM_FPTM$データ・ディクショナリ表に表示されます。