تا قبل از اوراکل نسخه 21c، هرگونه تغییر در یک Unified Audit Policy، برای sessionهای متصل به دیتابیس اعمال نمی شد و برای اثرپذیری فوری تغییرات audit policy، باید کاربران متصل به دیتابیس را مجبور به log out کرد تا بعد از اتصال مجدد به دیتابیس، مطابق با قوانین جدید audit شوند. این محدودیت را در سناریوی زیر توضیح دادیم.
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
–session 1:
SQL> create user vahid identified by a;
User created.
SQL> grant create session to vahid;
Grant succeeded.
SQL> grant select on usef.tbl1 to vahid;
Grant succeeded.
SQL> create audit policy audpolselect actions select on usef.tbl1;
Audit policy created.
–session 2:
SQL> conn vahid/a@192.168.56.22:1521/pdb1
Connected.
–session 1:
SQL> audit policy audpolselect by vahid;
Audit succeeded
–session 2:
SQL> show user
USER is “VAHID”
SQL> select count(*) from usef.tbl1;
COUNT(*)
———-
3
فعال شدن audit policy قبل از اجرای دستور select، منجر به audit کاربر vahid نخواهد شد:
SQL> select dbusername,action_name,unified_audit_policies from unified_audit_trail where unified_audit_policies like ‘%AUDPOLSELECT%’;
no rows selected