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.程序包规范:可以声明类型.变量.常量.异常.游标 ...
随机推荐
- hpuoj--1695--一道签到题(KMP)
1695: 一道签到题 时间限制: 2 Sec 内存限制: 128 MB 提交: 72 解决: 36 [提交][状态][讨论版] 题目描述 我想说这是一道签到题,意思就是本次测试中最水的一道,不过 ...
- MySQL优化-存储引擎
MySQL优化-存储引擎 标签(空格分隔): mysql 存储引擎 查看存储引擎 show engines Myisam: 表锁 全文索引 Innodb: 行锁 事物 外键 Memory: 内存存储引 ...
- Swift学习笔记(3):基本运算符
目录: 运算符 元组比较 空和运算符 区间运算符 运算符 +, -, *, /, %, =, +=, -=, *=, /= 算术运算符 >, <, ==, >=, <=, != ...
- html页面颜色名称和颜色值转换
public static string ToHtmlColor(string colorName) { try { if (colorName.StartsWith("#")) ...
- LeetCode(6)ZigZag Conversion
题目如下: C++代码: #include <iostream> #include <string> using namespace std; class Solution { ...
- CentOS7.4-btrfs管理及使用
btrfs, B-tree File System, GPL开源文件系统, 支持CoW即读时写入. 核心特性: 多物理卷支持; btrfs可由多个底层磁盘组成 支持RAID mkfs.btrfs 命令 ...
- 最大优先队列 A - 奇怪的玩意
我们的化学生物学家发明了一种新的叫stripies非常神奇的生命.该stripies是透明的无定形变形虫似的生物,生活在果冻状的营养培养基平板菌落.大部分的时间stripies在移动.当他们两个碰撞, ...
- 【Git 二】Windows|Mac 安装 Git
Windows 或 Mac 上安装 Git 相对于 Linux 上安装来说步骤是简便一些的.Linux 安装步骤见:[Git 一]Linux安装Git 一.Windows 安装 Git 直接下载对应 ...
- session 存入 redis
<?php header('content-type:text/html;charset=utf-8'); /* * 更改 session 存储位置及存储方式. */ ini_set('sess ...
- python 代码编写规范
一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类 ...
