3. VPDの設定を削除する
この手順では、VPDデモで作成した関数およびポリシーを削除し、競合を防ぐために設定をクリアします。
- VPD関数の削除
- VPDポリシーの削除
- 削除結果の確認
VPD関数の削除
Section titled “VPD関数の削除”以下のSQLを使用して、HRスキーマ内に作成された関数を確認します。
SQL> select object_name from all_objects where owner = 'HR' and object_type = 'FUNCTION';
OBJECT_NAME______________________GET_SALES_PREDICATEGET_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 selectedVPDポリシーの削除
Section titled “VPDポリシーの削除”現在、作成されているポリシーを確認します。
SQL> select policy_name from all_policies where object_owner = 'HR';
POLICY_NAME_______________________________EMPLOYEES_SALARY_COL_VPD_POLICYEMPLOYEES_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のデモは終了です。