Oracle:新增用戶登錄提示“ORA-04098:觸發器‘GD.ON_LOGON_TRIGGER’無效且未通過重新驗證”
阿新 • • 發佈:2018-10-19
begin sql dbms ont env 用戶 database 環境 objects
接著上一篇創建一個只有查看權限的用戶,在測試環境,新建賬號後嘗試登錄,提示如下:
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’無效且未通過重新驗證”