创建数据库级触发器,但是这个会不会影响数据库的效率,这个 还有带验证,而且, 因为无法捕捉到alter事件是否是改密码,所以只好对alter 用户的所有命令都禁止执行。create or replace trigger trig_log_afterddl after ddl on database declare begin if ora_sysevent='ALTER' AND ora_login_user<>'SYSTEM' AND ora_login_user<>'SYS' AND ora_dict_obj_type='USER' THEN raise_application_error(-20001,'不允许普通用户进行alter操作!'); END IF; end;
是可以修改的,除非你做了特殊配置 SQL> alter user kel identified by oracle;
after ddl on database
declare
begin
if ora_sysevent='ALTER' AND ora_login_user<>'SYSTEM' AND ora_login_user<>'SYS' AND ora_dict_obj_type='USER'
THEN
raise_application_error(-20001,'不允许普通用户进行alter操作!');
END IF;
end;
SQL> alter user kel identified by oracle;