码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-10-19 15:59:47      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:begin   HERE   rac   span   .com   cts   直接   end   window   

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

技术分享图片

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

SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE=TRIGGERand 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;

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

 

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

标签:begin   HERE   rac   span   .com   cts   直接   end   window   

原文地址:https://www.cnblogs.com/hanmk/p/9816553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!