表被DROP掉后存放到了回收站中,有一些局限性,回收站中被标记删除的表不可以DML和DDL操作。
1.模拟表被不含有PURGE关键字的DROP语句删除
1)确认回收站功能已经开启
SQL> show parameter recyclebin
NAME TYPE VALUE
------------------------------------ ----------- ----------------------
recyclebin string on
SQL> show recyclebin;
2)新建测试表模拟删除
create table t1
(
sid int not null primary key,
sname varchar2(30)
)tablespace test
;
insert into t1 values(101,'wind');
insert into t1 values(102,'snow');
commit;
drop table t1;
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
T1 BIN$puqxNCm2R1WC0bzbMxzKVA==$0 TABLE 2012-05-16:17:07:42
或
select object_name,original_name,can_undrop,base_object from user_recyclebin;
3)查询回收站数据
SQL> select * from "BIN$puqxNCm2R1WC0bzbMxzKVA==$0";
SID SNAME
---------- ------------------------------
101 wind
102 snow
4)对回收站中的表尝试DML操作
insert into "BIN$puqxNCm2R1WC0bzbMxzKVA==$0" values(103,'snow');
第 1 行出现错误:
ORA-38301: 无法对回收站中的对象执行 DDL/DML
update "BIN$puqxNCm2R1WC0bzbMxzKVA==$0" set sname='mwind' where sid=101;
第 1 行出现错误:
ORA-38301: 无法对回收站中的对象执行 DDL/DML
delete from "BIN$puqxNCm2R1WC0bzbMxzKVA==$0" where sid=101;
第 1 行出现错误:
ORA-38301: 无法对回收站中的对象执行 DDL/DML
alter table "BIN$puqxNCm2R1WC0bzbMxzKVA==$0" add sno int;
第 1 行出现错误:
ORA-38301: 无法对回收站中的对象执行 DDL/DML
存放在回收站中的表可以使用闪回技术恢复为原始表的状态,这是它的优势。与此同时,回收站中的数据是有其自身的限制的
分享到:
相关推荐
在Oracle数据库中,如何查找,定位一张表最后一次的DML操作的时间呢? 方式有三种,不过都有一些局限性,下面简单的解析、总结一下。 1:使用ORA_ROWSCN伪列获取表最后的DML时间 ORA_ROWSCN伪列是Oracle 10g开始...
SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。其中用于定义数据的结构,比如 创建、修改或者删除数据库;DCL用于定义数据库用户的权限;在这篇文章中我将详细讲述这...
本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQL Server的查询分析器中用DML语言对表中的数据进行插入、删除和修改。了解DDL语言的CREATE、DROP、ALTER对视图的操作,学会SQL Server的查询分析器...
基础SQL语句练习题,涵盖DQL、DML和DDL等常用语句
该文档基于windows DOS命令行环境下进行DDL,DCL,DML基础语法练习,包括数据库,表的创建,删除,修改,子查询,表连接,用户创建,授权等。
DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用 DCL(Data Control Language): 是数据库控制功能。是用来设置或更改数据库用户或角色权限的
整理了SQL中DML DDL的相关笔记
DDL、DML和DCL的区别与理解 ...DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。
在Oracle10g中,引入了一个回收站(Recycle Bin)的概念。回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息。...不能对已经放到回收站(Recycle Bin)中的对象执行DDL/DML语句。
基本的DML与DDL综合介绍.pptx
python与mysql基础 教程,数据库的操作,表的DDL、DML
关于Oracle DDL,DML,DCL,TCL 的一些基础概念,对于初学者很有帮助
DML DCL DDL区别,看了这个就全明白了……
DDL与DML.doc
实训 sql 关系数据库实训练习含答案,DML语句及DDL语句.doc
Oracle_9i培训胶片中文版-1_2.基本的DDL和DML介绍-caith.ppt
主要介绍了使用sqlplus创建DDL和DML操作方法,需要的朋友可以参考下
此Markdown文档提供了MySQL数据库中更新和删除数据的DML操作示例代码和说明。通过文档,您可以学习如何使用`UPDATE`语句更新表中的数据,以及如何使用`DELETE`语句删除表中的数据。 示例代码演示了更新单行和多行...
00570 Oracle公司内部数据库培训资料-Les20_Oracle9i对DML和DDL语句的扩展(PPT 21页).ppt