在测试环境中使用某个账号ESCMOWNER对数据库进行ALTER操作时,老是报如下错误:

ORA-00604: error occurred at recursive SQL level 1

ORA-20016: (ALTER) Action denied as it is a protected object!

ORA-06512: at line 7

不清楚发生了什么情况,于是想跟踪当前会话,查看具体原因,查看当前会话的SID为967

SELECT USERENV('SID') FROM DUAL;

以system登录,查看会话ID=967的SID,SERIAL#

SELECT SID, SERIAL# FROM V$SESSION WHERE SID=967;

跟踪会话ID、SERIAL#为967,2276的会话,如下所示:

SQL> exec dbms_system.set_sql_trace_in_session(967,2276,true);

 

PL/SQL procedure successfully completed.

 

在会话967中启用跟踪标识,如下所示

ALTER SESSION SET TRACEFILE_IDENTIFIER='kerry_test'

ORACLE 10g 的跟踪文件位于$ORACLE_BASE/admin/SID/udump 下,查看跟踪文件,

[oracle@get-linux01 udump]$ ls *kerry*

epps_ora_1960_kerry_test.trc

[oracle@get-linux01 udump]$ more epps_ora_1960_kerry_test.trc

具体的内容如下所示

查看SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME='PROTECT_ESCMOWNER_BTR' 发现PROTECT_ESCMOWNER_BTR为触发器,具体脚本如下所示

CREATE OR REPLACE TRIGGER PROTECT_ESCMOWNER_BTR

BEFORE DDL

ON ESCMOWNER.SCHEMA

BEGIN

   if sys.sysevent = 'ALTER' and sys.dictionary_obj_type in ('TRIGGER','VIEW','PACKAGE','PACKAGE BODY','PROCEDURE','FUNCTION','SYNONYM') then

      NULL;

   elsif sys.sysevent = 'ANALYZE' then

        NULL;

      else

        RAISE_APPLICATION_ERROR(-20016,'('||sys.sysevent||') Action denied as it is a protected object!');

   end if;

END PROTECT_ESCMOWNER_BTR;

结论:

这个数据库触发器应该是前任DBA设置的,而我一直使用system更新脚本,所以一直没有触发该触发器。禁用该触发器后问题解决。

ORA-00604: error occurred at recursive SQL level 1的更多相关文章

  1. error occurred at recursive SQL level 1

    ORA-00604: error occurred at recursive SQL level 1出现的错误:java.sql.SQLException: ORA-00604: error occu ...

  2. 【总算解决了】A network-related or instance-specific error occurred while establishing a connection to SQL Server

    给别人做的网站莫名其妙连接不上数据库.百度了好多,总算知道自己的错在哪了. 报 "A network-related or instance-specific error occurred  ...

  3. 解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during ...HRESULT: 0x80070422(注意尾部的错误号)

    解决:安装SQL Server 2008 Native Client遇到错误(在Navicat premium新建sqlserver连接时 需要):An error occurred during . ...

  4. 【SQL Server 问题记录】A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible.

    本文涉及的相关问题,如果你的问题或需求有与下面所述相似之处,请阅读本文 A network-related or instance-specific error occurred while esta ...

  5. kettle 通过JDBC 连接SQL Server(Error occurred while trying to connect to the database)

    在连接数据(MS SQLServer 2008)发现:Error occurred while trying to connect to the database 然后找资料看,都不是问题所在,最后一 ...

  6. SSMS错误:A connection was successfully established with the server, but then an error occurred during the login process

    参考: 系统太慢,实在搞不清是哪里的问题,祭出重装大法 需要安装的工具还真多,先装主要的吧.VS2013, SQL SERVER 2012,搞定.. 连个数据库试试,出错了: A connection ...

  7. The error occurred while setting parameters 错误解析--Bad value for type timestamp : 3

    错误信息:nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying datab ...

  8. 安装qc 出现error An error occurred while attempting to connect to the database.

    When trying to install mercury quality center starter edition 9.0 on Windows XP media center, I am g ...

  9. iis7错误提示An error occurred on the server when processing the URL...

    win7下面运行ASP程序总是出错,原来是站点配置的问题... 问题一:MS Jet引擎改变了临时目录的位置,但是又没有对临时目录的存取权限,导致数据库使用失败(因为sql问题,后改用access数据 ...

随机推荐

  1. golang获取程序运行路径

    golang获取程序运行路径: /* 获取程序运行路径 */ func getCurrentDirectory() string { dir, err := filepath.Abs(filepath ...

  2. php isset( $test ) 的神奇之处。

    很久一段时间没更新博客了,由于近段时间一直在忙 挑战杯 的项目,所以没怎样把一些总结放上来.这次,总结下 php 的一个 函数 : boolean isset($test), 返回值:boolean类 ...

  3. ssh整合问题总结--使用HibernateTemplate实现数据分页展示

    在进行大量的数据展示时,必须要使用分页查询,第一次使用在SSH框架整合中使用分页查询,遇到了一些问题,下面以我练习的项目为例详细介绍,如何在Spring+hibernate(+action)的环境下完 ...

  4. 【大结局】《从案例中学习JavaScript》之酷炫音乐播放器(四)

    这是之前写的用H5制作的音乐播放器,前三节其实已经做得差不多了,音轨的制作原理已经在上一节说明,不过一直还没有和音乐对接. 本章作为该系列的一个完结篇,我会专门把动态音轨的实现代码贴出来,demo地址 ...

  5. js基础篇——变量

    a.变量类型 变量类型 构造函数 举例 类型检测typeof 字符串 function String() var t = "chua"; var m = new String(&q ...

  6. JS实现-页面数据无限加载

    在手机端浏览网页时,经常使用一个功能,当我们浏览京东或者淘宝时,页面滑动到底部,我们看到数据自动加载到列表.之前并不知道这些功能是怎么实现的,于是自己在PC浏览器上模拟实现这样的功能.先看看浏览效果: ...

  7. lob结构

    lob是什么? 从网上查了好多资料没找到,最后还是同事给我找到了. lob他是这样解释的:LOB专门存储大型对象数据的,类型text.image这些数据类型的数据就是存储在LOB页面 LOB_DATA ...

  8. [Q&A] 远程过程调用失败。[0x800706be]

    由于先安装 SQL Server R2,后又安装 Visual Studio,导致 VS 中的 SQL Sever 版本和 SQL Server R2 版本冲突造成实例出错 打开"开始&qu ...

  9. WPF数据编辑的提交与撤销

    当为一个集合(通常绑定在DataGrid或其它ItemsControl控件)添加或编辑一个项时,通常会弹出一个编辑界面编辑项的属性,编辑结束再提交,或者我们不想编辑数据了,此时选择取消,数据项的内容没 ...

  10. Java之数组篇

    动手动脑,第六次Tutorial--数组 这次的Tutorial讲解了Java中如何进行数组操作,包括数组声明创建使用和赋值运算,写这篇文章的目的就是通过实际运用已达到对数组使用的更加熟练,下面是实践 ...