4. VPDの設定を削除する#
この手順では、VPDデモで作成した関数およびポリシーを削除し、競合を防ぐために設定をクリアします。
VPD関数の削除#
以下のSQLを使用して、HRスキーマ内に作成された関数を確認します。
SQL> select object_name from all_objects where owner = 'HR' and object_type = 'FUNCTION';
OBJECT_NAME
--------------------------------------------------------------------------------
GET_SALES_PREDICATE
GET_MASKING_SALARY_COL
確認した関数を削除します。
SQL> drop function hr.get_sales_predicate;
SQL> drop function hr.get_masking_salary_col;
再度関数を確認し、すべて削除されたことを確認します
SQL> select object_name from all_objects where owner = 'HR' and object_type = 'FUNCTION';
no rows selected
VPDポリシーの削除#
現在、作成されているポリシーを確認します。
SQL> select policy_name from all_policies where object_owner = 'HR';
POLICY_NAME
--------------------------------------------------------------------------------
EMPLOYEES_SALARY_COL_VPD_POLICY
EMPLOYEES_VPD_POLICY
確認したポリシーを削除します。
行制御ポリシーを削除#
BEGIN
DBMS_RLS.DROP_POLICY(
object_schema => 'HR',
object_name => 'EMPLOYEES',
policy_name => 'employees_vpd_policy'
);
END;
/
列制御ポリシーを削除#
BEGIN
DBMS_RLS.DROP_POLICY(
object_schema => 'HR',
object_name => 'EMPLOYEES',
policy_name => 'employees_salary_col_vpd_policy'
);
END;
/
ポリシーが削除されたことを確認します。
SQL> select policy_name from all_policies where object_owner = 'HR';
no rows selected
以上でVPDのデモは終了です。