ORACLE 11G 触发器调试记录Error: PLS-00201: identifier'SYS.DBMS_SYSTEM' must be declared

1,触发器内容如下

CREATE OR REPLACE TRIGGER"LOGON_DENIED_TO_ALERT"

AFTER servererror ON DATABASE

DECLARE

message   VARCHAR2(168);

ip        VARCHAR2(15);

v_os_user VARCHAR2(80);

v_module  VARCHAR2(50);

v_action  VARCHAR2(50);

v_pid     VARCHAR2(10);

v_sid     NUMBER;

v_program VARCHAR2(48);

BEGIN

IF(ora_is_servererror(1017)) THEN

-- get ip FOR remote connections :

IF upper(sys_context(‘userenv‘, ‘network_protocol‘)) = ‘TCP‘ THEN

ip := sys_context(‘userenv‘, ‘ip_address‘);

END IF;

SELECT sid INTO v_sid FROM sys.v_$mystat WHERE rownum < 2;

SELECT p.spid, v.program

INTO v_pid, v_program

FROM v$process p, v$session v

WHERE p.addr = v.paddr

AND v.sid = v_sid;

v_os_user := sys_context(‘userenv‘, ‘os_user‘);

dbms_application_info.read_module(v_module, v_action);

message := to_char(SYSDATE, ‘YYYYMMDD HH24MISS‘) ||

‘ logon denied from ‘ || nvl(ip,‘localhost‘) || ‘ ‘ ||

v_pid || ‘ ‘ || v_os_user || ‘with ‘ || v_program || ‘ – ‘ ||

v_module || ‘ ‘ || v_action;

sys.dbms_system.ksdwrt(2, message);

ENDIF;

END;

----------------------------------------------------------------------------------------------------------------
<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!>
原博客地址:    http://blog.csdn.net/mchdba/article/details/45898169
原作者:黄杉 (mchdba)
----------------------------------------------------------------------------------------------------------------

2,执行报错信息:

Compilation errors for TRIGGERTIMDBA.LOGON_DENIED_TO_ALERT

Error: PL/SQL: ORA-00942: table or viewdoes not exist

Line: 20

Text: SELECT sid INTO v_sid FROMsys.v_$mystat WHERE rownum < 2;

Error: PL/SQL: SQL Statement ignored

Line: 20

Text: SELECT sid INTO v_sid FROMsys.v_$mystat WHERE rownum < 2;

Error: PL/SQL: ORA-00942: table or viewdoes not exist

Line: 23

Text: FROM v$process p, v$session v

Error: PL/SQL: SQL Statement ignored

Line: 21

Text: SELECT p.spid, v.program

Error: PLS-00201: identifier‘SYS.DBMS_SYSTEM‘ must be declared

Line: 35

Text: sys.dbms_system.ksdwrt(2, message);

Error: PL/SQL: Statement ignored

Line: 35

Text: sys.dbms_system.ksdwrt(2, message);

解决办法

grant execute on sys.dbms_system to timdba;

3,再次执行还在报错:

Compilation errors for TRIGGER TIMDBA.LOGON_DENIED_TO_ALERT

Error: PL/SQL: ORA-00942: table or viewdoes not exist

Line: 20

Text: SELECT sid INTO v_sid FROMsys.v_$mystat WHERE rownum < 2;

Error: PL/SQL: SQL Statement ignored

Line: 20

Text: SELECT sid INTO v_sid FROMsys.v_$mystat WHERE rownum < 2;

Error: PL/SQL: ORA-00942: table or viewdoes not exist

Line: 23

Text: FROM v$process p, v$session v

Error: PL/SQL: SQL Statement ignored

Line: 21

Text: SELECT p.spid, v.program

解决办法:

grant select on sys.v_$mystat to timdba;

4,再次调试报错信息3

Compilation errors for TRIGGERTIMDBA.LOGON_DENIED_TO_ALERT

Error: PL/SQL: ORA-00942: table or viewdoes not exist

Line: 23

Text: FROM v$process p, v$session v

Error: PL/SQL: SQL Statement ignored

Line: 21

Text: SELECT p.spid, v.program

解决办法:

grant select on sys.v_$process to timdba;

grant select on sys.v_$session to timdba;

参考文章地址:https://blogs.oracle.com/mandalika/entry/resolving_pls_00201_identifier_dbms

ORACLE 11G 触发器调试记录Error: PLS-00201: identifier'SYS.DBMS_SYSTEM' must be declared

时间: 2024-10-14 06:57:27

ORACLE 11G 触发器调试记录Error: PLS-00201: identifier'SYS.DBMS_SYSTEM' must be declared的相关文章

关于oracle 11g 安装笔记记录

安装ORACLE 11G 64位报错 报错信息: 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2012-07-25_03-10-02PM. 请稍候...[[email protected] database]$ ## An unexpected error has been detected by HotSpot Virtual Machine:# # SIGSEGV (0xb) at pc=0x00000034c9c14d70, pi

ORACLE 11G DB RAC ORA-00257archiver error解决办法

ORA-00257archiver error解决办法 1.之前有处理单机过oracle 11.2.0.4归档日志磁盘空间不足的问题 ,但是没有处理过ORACLE RAC的归档日志磁盘空间不足的问题 所以没有预想到会是出现asm磁盘空间不足的议题 Oracle数据库是目前业界最常用的大型数据库系统,我在单机ORACLE的实际项目中有遇到出现ORA-00257错误(空间不足错误), 通过查找资料,发现绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,可通过简单删除日志或加大存储空间就

Oracle 11g XE 试用记录

安装之前先删除系统环境变量中的oracle_home等配置(如果存在的话): 如果安装后出现Web管理界面不能访问或者数据库不能连接的情况,卸载再多安装几次可能就正常了.状态不正常时,可以使用 C:\oraclexe\app\oracle\product\11.2.0\server\bin\lsnrctl.exe status 查看服务状态. 安装开始之后,各种选择.设置结束之后,正式开始安装之前,有个总结的界面,界面里的内容要保存下来,类似如下的内容: 目标文件夹: C:\oraclexe\O

oracle 11g 报错记录

1.ORA-01034: ORACLE not available sqlplus "sys/password as sysdba" 2.ORA-00119: invalid specification for system parameter LOCAL_LISTENER 修改bhome_1\database\SPFILEXIANGDE.ORA,复制数据库中到initorcl.ora,修改,再startup 3.no message file for product: 查看环境变量设

使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g

ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracle SQL Developer is a free and fully supported graphical tool for database development. With SQL Developer, you can browse database objects, run SQL st

PowerDesginer 生成的Oracle 11g 组合触发器代码编译错误(29): PLS-00103

问题描述: 采用PowerDesigner15针对Oracle 11g 创建物理数据模型,想实现一个字段的自增,采用如下步骤: 1.创建序列,命名为Sequence_1; 2.在自增字段编辑窗口中,选择序列Sequence_01: 3.将表窗口Preview标签页,生成代码复制到SqlDeveloper 11gr2中执行,编译错误: PowerDeginer生成的部分代码: -------------------------------------------------------------

Linux7 64安装 oracle 11g Error in invoking target &#39;agent nmhs&#39; of makefile

在makefile中添加链接libnnz11库的参数修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11建议修改前备份原始文件[[email protected] ~]$ cd $ORACLE_HOME/sysman/lib[[email protected] lib]$ ls -l ins_emagent.mk-rw-r--r--. 1 oracle oins

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发