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;

完成后再次登錄新建的用戶,發現可以正常登錄了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM