ORA-38301:can not perform DDL/DML Over Object in Recycle Bin 11.2.0.4
我们最近有两台测试服务器在oci direct load期间出现下列异常:

从表象上看,是我们在对表执行ddl操作,确实内部也是用了truncate table XXX,可是这个XXX并不是回收站里面的XXX。即使是purge dba_recyclebin之后,也可能还是会有这个问题,所以这个问题只能说和回收站有关、但是并不一定是该表本身被DDL的原因。目前已知除了直接对回收站中的表直接DDL之外(这一般用户不会直接进行,但是oracle后台的各种自身统计收集任务是允许这么做的),有可能是表空间中存在一些回收站,导致了XXX表和该表空间中已回收的对象存在空间争用(但是我看下了dba_data_files,可用空间是足够的);还有一个可能的已知原因是auto space advisor任务在跑。
前者可以通过下列语句清理:
purge tablespace XXX;
后者可以通过下列方式禁用:
begin
dbms_auto_task_admin.disable(client_name => 'auto space advisor',
operation => null,
window_name => null);
end;
/
伴随着ORA-38301,通常在alert.log里面会有日志:performing DML/DDL operation over object in bin. 但是他没有被当做ERROR或者WARNING来显示和对待。
我们的错误重放过程和https://knowledge.exlibrisgroup.com/Aleph/Knowledge_Articles/Oracle_message_in_alert_log%3A__%22performing_DMLDDL_operation_over_object_in_bin%22非常像,但是模拟不出来,有很多的帖子去模拟,比如http://www.xifenfei.com/2011/07/performing-dmlddl-operation-over-object-in-bin%E9%94%99%E8%AF%AF%E6%A8%A1%E6%8B%9F.html,实际上业务根本不是这么操作的,所以这些所谓的专家就是这么忽悠的,通常就是为了凑而凑。
至于ORA-39776,它纯粹是表象,需要看具体的cause。
参考:
https://blog.csdn.net/lansesl2008/article/details/16116749
http://zy8643954.iteye.com/blog/701831
ORA-38301:can not perform DDL/DML Over Object in Recycle Bin 11.2.0.4的更多相关文章
- ORA-38301:can not perform DDL/DML over objects in Recycle Bin
一个智障操作,drop一个用户,下面的东西比较多,删得比较慢,然后shell突然关了. 就导致了,删不掉,又不能创建新的用户.出版本要得比较急,就先创建新的用户测试去了. 今天要弄个东西,又想起这个事 ...
- DDL DML DCL SQL
https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_ddl SQL The Structured Query Language tha ...
- Hive数据据类型 DDL DML
Hive的基本数据类型 DDL DML: 基本数据类型 对于Hive而言String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以 ...
- MySQL中的DDL,DML
MySQL中的DDL,DMLDDL:数据定义语言: CREATE,ALTER,DROP DB组件:数据库.表.索引.视图.用户.存储过程.存储函数.触发器.事件调度器等 CR ...
- SQL语言:DDL,DML,DCL,DQL,TCL
DDL(Data Definition Language)数据库定义语言 statements are used to define the database structure or schema. ...
- DDL/DML是什么?
DDL:(Data Definition Language)数据库定义语言 它是定义数据库的语言, 里面包含: CREATE ALTER DROP TRUNCATE COMMENT RENAME DM ...
- ddl dml dcl
DCL数据控制语言 创建临时表空间 create temporary tablespace user_temp tempfile 'E:/oracle/product/10.1.0/oradata/o ...
- oracle中DDL DML指什么?
DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop in ...
- DDL DML DCL语句
总体解释:DML(data manipulation language):自动提交的数据库操作语言 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样 DDL( ...
随机推荐
- SDN概述:简介、工具、环境部署
一.前言: 本文初步接触 SDN 的相关概念.需要依次完成下面几项任务: SDN 简介 SDN 工具 SDN 环境部署 推荐阅读 推荐阅读下述内容: Ethane 项目,openflow 的基础 op ...
- 启动及更改tomcat 配置
到tomcat安装的bin目录下面,双击那个startup.bat文件,启动Tomcat 去浏览器输入 http://localhost:8080/ 然后出现下面的界面,那就说明你的tomcat配置 ...
- .Net Core:身份认证组件
类库组件 .NET Core的身份认证使用的类库如下图:常用的 Microsoft.AspNetCore.Authorization Microsoft.AspNetCore.Authorizatio ...
- 2017.11.11日后matlab统一过期需激活解决办法
转载自此处: 在matlab安装目录中找到license目录,并创建license.lic文件,然后把以下内容copy到文件中,重启matlab. INCREMENT Aerospace_Blocks ...
- jQuery UI 中Tabs Ajax载入时出现Http 304的问题
最近发现jQueryUI中tabs的ajax载入,总是会出现304未修改的情况,明明数据有变化的么~应该返回200才对. 于是尝试在beforeLoad中设置: ui.ajaxSettings.cac ...
- Install the mongdb
#!/bin/bash#Function: Install the mongdb#Author: WangDonghui#Date: 20180124 #Installing mongdbecho & ...
- HDU1007.Quoit Design
-- 点我 -- 题目大意 :给你一堆点,求一个最小圆能够覆盖两个点的半径(最近两点距离的一半): 最多100000个点,暴力即O(n^2)会超时,考虑二分,先求左边最短距离dl,右边dr, 和一个点 ...
- LinkedList 底层实现原理
LinkedList的底层实现原理 LinkedList 底层数据结构为双向链表,链表结构,基于一个个链表节点Node 1,Inner Class 内部类 private static class N ...
- python 简单了解namedtuple
namedtuple类位于collections模块,有了namedtuple后通过属性访问数据能够让我们的代码更加的直观更好维护 namedtuple能够用来创建类似于元祖的数据类型,除了能够用索引 ...
- flask 使用Flask-SQLAlchemy管理数据库(连接数据库服务器、定义数据库模型、创建库和表)
使用Flask-SQLAlchemy管理数据库 扩展Flask-SQLAlchemy集成了SQLAlchemy,它简化了连接数据库服务器.管理数据库操作会话等各种工作,让Flask中的数据处理体验变得 ...