最近有人更改了用户密码。所以我从dba_udit_trails和dba_audit_sessions中获取了结果,但我能够找到返回码为0(成功登录),28000(锁定)和1017(无效的用户名/密码)。 我们如何获取详细信息,更改密码的人以及是否有人更改密码时会提示returncode。
所有有价值的建议将不胜感激。
预先感谢
答案 0 :(得分:1)
您可以遵循Oracle支持Doc 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;
/