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

Posted 我是冰霜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

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

 

以上是关于Oracle:新增用户登录提示“ORA-04098:触发器‘GD.ON_LOGON_TRIGGER’无效且未通过重新验证”的主要内容,如果未能解决你的问题,请参考以下文章

ORA -04098 触发器无效且未通过重新验证

oracle 触发器抛出 ora-04098

ORA-04098: 简单触发器无效。为啥?

SQL 触发器错误 ORA-04098

捕获到 SQL 异常。错误是:ORA-04098:触发器无效并且重新验证失败

Oracle新增客户端网络配置使用scott出现错误