Oracle:新增用户登录提示“ORA-04098:触发器‘GD.ON_LOGON_TRIGGER’无效且未通过重新验证”

接着上一篇创建一个只有查看权限的用户,在测试环境,新建账号后尝试登录,提示如下:

1.看提示是base库的触发器有问题了,所以先定位到这个触发器

SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE='TRIGGER'and OBJECT_NAME = '
ON_LOGON_TRIGGER
';

它的状态是无效的

2.通过pl/sql登录base库,查看触发器Triggers,找到ON_LOGON_TRIGGER

这个触发器上面有个红色的叉号,可能需要重新编译一下。

直接右键选择Recompile,提示错误

   

为了看到错误详情,在Command Window窗口重新编译一次

 错误出现在那个“/”

3.查看这个触发器,右键选择View

 

4.把触发器删掉,重新创建该触发器就好了

create or replace trigger on_logon_trigger after logon on database 
begin dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));end;

完成后再次登录新建的用户,发现可以正常登录了

猜你喜欢

转载自www.cnblogs.com/hanmk/p/9816553.html