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