如何查找谁在oracle中更改了用户密码

如何查找谁在oracle中更改了用户密码,oracle,oracle11g,Oracle,Oracle11g,最近有人更改了用户的密码。因此,我从dba_audit_跟踪和dba_audit_会话中获取了结果,但我可以找到返回代码0(成功登录)、28000(锁定)和1017(无效用户名/密码)。 我们如何获得详细信息,谁更改了密码,以及如果有人更改了密码,returncode将如何提示 所有有价值的建议都将不胜感激 提前感谢您可以遵循Oracle支持文档ID 419942.1中的建议 您可以创建触发器来拒绝密码更改 CREATE or REPLACE TRIGGER pass_change AF

最近有人更改了用户的密码。因此,我从dba_audit_跟踪和dba_audit_会话中获取了结果,但我可以找到返回代码0(成功登录)、28000(锁定)和1017(无效用户名/密码)。 我们如何获得详细信息,谁更改了密码,以及如果有人更改了密码,returncode将如何提示

所有有价值的建议都将不胜感激


提前感谢

您可以遵循Oracle支持
文档ID 419942.1中的建议

您可以创建触发器来拒绝密码更改

CREATE or REPLACE TRIGGER pass_change 
   AFTER ALTER on database
      BEGIN
           IF ora_sysevent='ALTER' and ora_dict_obj_type = 'USER' and ora_des_encrypted_password is not null
           THEN
              RAISE_APPLICATION_ERROR(-20003,  'You are not allowed to alter password user.');
           END IF;
      END;
/
或者您可以创建触发器,以便将每次更改记录到某个辅助表中:

CREATE or REPLACE TRIGGER log_pass_change 
   AFTER ALTER on database
      BEGIN
           IF ora_sysevent='ALTER' and ora_dict_obj_type = 'USER' and ora_des_encrypted_password is not null
           THEN
              INSERT INTO ....
           END IF;
      END;
/