ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
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 处于无效状态的更多相关文章
- ORA-06575:程序包或函数处于无效状态
今天一个朋友问我下面这段sql语句的问题,我发现了他竟然把程序员的编程思想带入了oracle,虽然是错误的,但也是很经典的错误啊. create or replace package p_view_p ...
- R--基本统计分析方法(包及函数)
摘要:目前经典的统计学分析方法主要有回归分析,Logistic回归,决策树,支持向量机,聚类分析,关联分析,主成分分析,对应分析,因子分析等,那么对于这些经典的分析方法在R中的使用主要有那些程序包及函 ...
- Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包
子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中. 子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 ...
- ORA-04044: 此处不允许过程, 函数, 程序包或类型和
用Orale代码建表时,出现 SQL> comment on column SCORE.cno 2 is '学号(外键)';comment on column SCORE.cno is '学号( ...
- Oracle编程入门经典 第11章 过程、函数和程序包
目录 11.1 优势和利益... 1 11.2 过程... 1 11.2.1 语法... 2 11.2.2 建立或者替换... 2 11.2 ...
- Oracle学习笔记十四 内置程序包
扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...
- 设置R启动时自动加载常用的包或函数
在我前面的文章(http://www.cnblogs.com/homewch/p/5749850.html)中有提到R可以自定义启动环境,需要修改R安装文件中的ect文件夹下的配置文件Rprofile ...
- 如何在windows中编写R程序包(转载)
网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...
- Oracle基础<4>--程序包
一:程序包定义(包括1.程序包规范 2.程序包主体) 程序包是一种数据库对象,它是对相关pl/sql 类型.子程序.游标.异常.变量和常量的封装. 1.程序包规范:可以声明类型.变量.常量.异常.游标 ...
随机推荐
- 转一篇100offer的采访~35岁程序员是一种什么状态
随着互联网的高速发展变革,大龄恐惧症越来越多地在技术圈被人讨论.很多程序员在工作5-10年以后,都会开始思考5年.10年甚至更久以后的自己,会是怎样一种生活工作状态,以及是否会被时代抛弃. 特别是全民 ...
- Linux-php安装mongodb
Linux-php安装mongodb 标签(空格分隔): php 安装mongodb 1 下载解压 下载压缩包 :https://www.mongodb.com/download-center?jmp ...
- 5.array
#include <iostream> #include <array> #include <algorithm> using namespace std; //a ...
- atom玩法
1.先用 git 下载一个 react-devtools: $ cd /some-directory$ git clone --recursive https://github.com/faceboo ...
- springMVC中跳转问题
在使用SpringMVC时遇到了这个跳转的问题很头疼.现在总结出来,对以后的开发有所帮助. . 1.可以采用ModelAndView: @RequestMapping("test1" ...
- include、require、include_once和require_once的区别
/*** * 1.include 和 require 的文件可以有返回值 * 2.include 包含的文件不存在,会发出一个警告,但是不会停止执行代码. * require 在这种情况下会抛出错误并 ...
- vue组件递归的一些理解
自己做个小项目练手,需要用到组件递归,网上查了一些资料,每个代码片段都认识,但是连起来,就一团浆糊. 既然人傻就多思考吧.不明白的点有以下: 1.组件怎么自己调用自己,函数的递归是就是在functio ...
- CRC校验的C语言实现
文章转自 循环冗余校验(CRC)算法入门引导 - Ivan 的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyuanbhu/article/details/7 ...
- 洛谷 P1754 球迷购票问题
P1754 球迷购票问题 题目背景 盛况空前的足球赛即将举行.球赛门票售票处排起了球迷购票长龙. 按售票处规定,每位购票者限购一张门票,且每张票售价为50元.在排成长龙的球迷中有N个人手持面值50元的 ...
- 洛谷 P3467 [POI2008]PLA-Postering
P3467 [POI2008]PLA-Postering 题目描述 All the buildings in the east district of Byteburg were built in a ...
