SQL> drop user aaa ;

 

drop user aaa

 

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态

ORA-06512: 在 line 21

 

SQL> alter procedure WMSYS.NO_VM_DROP_PROC disable;

 

alter procedure WMSYS.NO_VM_DROP_PROC disable

 

ORA-00922: 选项缺失或无效

 

SQL> alter procedure WMSYS.NO_VM_DROP_PROC DISABLE;

 

alter procedure WMSYS.NO_VM_DROP_PROC DISABLE

 

ORA-00922: 选项缺失或无效

 

SQL> ALTER TRIGGER wmsys.NO_VM_DDL DISABLE;

 

Trigger altered

 

SQL> ALTER TRIGGER wmsys.NO_VM_DROP_A DISABLE;

 

ALTER TRIGGER wmsys.NO_VM_DROP_A DISABLE

 

ORA-04080: 触发器 'NO_VM_DROP_A' 不存在

 

SQL> drop user aaa ;

 

User dropped

 

SQL> purge recyclebin;

 

Done

SQL>

metlink引用文档

ORA-06576 error during Drop User (文档 ID 1498610.1)

In this Document

  Symptoms
  Cause
  Solution
  References

APPLIES TO:

Oracle Server - Enterprise Edition - Version 10.2.0.1 and later

Information in this document applies to any platform.

SYMPTOMS

Dropping a user schema results in below errors:

SQL> drop user GG_ADMIN;

DROP USER "GG_ADMIN"
Error at line 2
ORA-00604: error occurred at recursive SQL level 1
ORA-06576: not a valid function or procedure name
ORA-06512: at line 21 gg_admin cascade;

CAUSE

A DDL trigger is defined on the drop statement.

Next query will get you the definition of the DDL Triggers in the system.

SQL> connect / as sysdba

SQL> SELECT a.obj#, a.sys_evts, b.name FROM trigger$ a,obj$ b WHERE a.sys_evts > 0 AND a.obj#=b.obj# AND baseobject = 0;

  OBJ#       SYS_EVTS NAME
---------- ---------- ------------------------------
  81794             8 LOGON_DATE
  81795          8416 NO_VM_DDL
  81796           128 NO_VM_DROP_A
  13177          8192 AW_REN_TRG
  13179           128 AW_DROP_TRG
  11990        524256 LOGMNRGGC_TRIGGER
  13175          4096 AW_TRUNC_TRG
  71787             1 MGMT_STARTUP

Get an errorstack for ORA-06576 error:

SQL> alter system set events='6576 trace name errorstack level 3';
SQL> drop user <username>

When executing 'drop user gg_admin', the resultant trace file shows the failing statement is a call to wmsys.no_vm_drop_proc('USER', 'GG_ADMIN', '').



From errorstack trace file we could observe the following:

 if (s_event='CREATE') then
   execute immediate 'call wmsys.no_vm_create_proc(''' || sys.dictionary_obj_type || ''', ''' ||
sys.dictionary_obj_name || ''', ''' || sys.dictionary_obj_owner || ''')' ;
 elsif (s_event='DROP') then
   execute immediate 'call wmsys.no_vm_drop_proc(''' || sys.dictionary_obj_type || ''', ''' ||
sys.dictionary_obj_name || ''', ''' || sys.dictionary_obj_owner || ''')' ;

The triggers enabled for this were in this case NO_VM_DDL and NO_VM_DROP_A

SOLUTION

Check if there are any DROP BEFORE triggers enabled. Once you drop the trigger, it will allow you to drop the user.

Workaround would be:

SQL> ALTER TRIGGER NO_VM_DDL DISABLE;
SQL> ALTER TRIGGER NO_VM_DROP_A DISABLE;
SQL> drop user gg_admin;

REFERENCES

NOTE:75206.1 - OERR: ORA-6576 not a function or procedure

ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态的更多相关文章

  1. ORA-06575:程序包或函数处于无效状态

    今天一个朋友问我下面这段sql语句的问题,我发现了他竟然把程序员的编程思想带入了oracle,虽然是错误的,但也是很经典的错误啊. create or replace package p_view_p ...

  2. R--基本统计分析方法(包及函数)

    摘要:目前经典的统计学分析方法主要有回归分析,Logistic回归,决策树,支持向量机,聚类分析,关联分析,主成分分析,对应分析,因子分析等,那么对于这些经典的分析方法在R中的使用主要有那些程序包及函 ...

  3. Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包

    子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中.   子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 ...

  4. ORA-04044: 此处不允许过程, 函数, 程序包或类型和

    用Orale代码建表时,出现 SQL> comment on column SCORE.cno 2 is '学号(外键)';comment on column SCORE.cno is '学号( ...

  5. Oracle编程入门经典 第11章 过程、函数和程序包

    目录 11.1          优势和利益... 1 11.2          过程... 1 11.2.1       语法... 2 11.2.2       建立或者替换... 2 11.2 ...

  6. Oracle学习笔记十四 内置程序包

    扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...

  7. 设置R启动时自动加载常用的包或函数

    在我前面的文章(http://www.cnblogs.com/homewch/p/5749850.html)中有提到R可以自定义启动环境,需要修改R安装文件中的ect文件夹下的配置文件Rprofile ...

  8. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  9. Oracle基础<4>--程序包

    一:程序包定义(包括1.程序包规范 2.程序包主体) 程序包是一种数据库对象,它是对相关pl/sql 类型.子程序.游标.异常.变量和常量的封装. 1.程序包规范:可以声明类型.变量.常量.异常.游标 ...

随机推荐

  1. Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式

    Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 Method Swizzing中一般替换方法都写在Category类别里吗?有没有别的实现方式 > ...

  2. 织梦CMS调用文章第一张图片(非缩略图)终极方法

    之前,网上流传了很多在织梦CMS中调用第一张图片的方法,但大体都一样.即删除缩略图字符串,并添加后缀.然而这种方法仅限于jpg图片或其他单独图片类的调用.如果一个站有png.JPG.gif等多种格式. ...

  3. Mojo Associated Interfaces

    Mojo Associated Interfaces yzshen@chromium.org 02/22/2017 Background Before associated interfaces ar ...

  4. CentOS7-1810 系统Samba配置说明

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件.SMB(Server Messages Block,信息服务块)通信协议是微软(Microsoft)和英特尔(Intel)在198 ...

  5. tf.nn.softmax(logits,name=None)

    tf.nn.softmax( logits, axis=None, name=None, dim=None #dim在后来改掉了 ) 通过Softmax回归,将logistic的预测二分类的概率的问题 ...

  6. php 自带加密函数 mcrypt_encrypt

    <?php /** * AES128加解密类 * @author dy * */ class Aes{ //密钥 private $_secrect_key; public function _ ...

  7. 20180929 北京大学 人工智能实践:Tensorflow笔记03

    更改的程序部分如下: 另: 难?????????????见链接: https://www.bilibili.com/video/av22530538/?p=17 + (完)

  8. OpenCV图像处理篇之腐蚀与膨胀

    转载请注明出处:http://xiahouzuoxin.github.io/notes 腐蚀与膨胀 腐蚀和膨胀是图像的形态学处理中最主要的操作,之后遇见的开操作和闭操作都是腐蚀和膨胀操作的结合运算. ...

  9. Invalid command &#39;WSGIScriptAlias&#39;, perhaps misspelled or defined by a module not included in the ser

    没有Include wsgi,执行: sudo a2enmod wsgi 可能出现以下的错误 ERROR: Module mod-wsgi does not exist! 安装 libapache2- ...

  10. 最全Pycharm教程(10)——Pycharm调试器总篇

    最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...