警惕:Oracle中删除的分区不会进入回收站(Recyclebin)

简介:

最近在『云和恩墨大讲堂』的微信群讨论中,有朋友提到分区的删除和闪回问题,我注意到很多人可能忽略了这个问题。

在Oracle数据库中,单个删除的分区并不会进入回收站,全表删除的分区才可能和全表一起放入回收站。这是因为单个分区删除之后,是无法通过简单的闪回加入原分区表中,既然无法保证一致性,这个分区就不会进入回收站中。

image

以下这个测试展示了这个过程:

SQL> select * from v$version;

BANNER          
-------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production   
PL/SQL Release 12.2.0.1.0 - Production        
CORE 12.2.0.1.0 Production         
TNS for Linux: Version 12.2.0.1.0 - Production       
NLSRTL Version 12.2.0.1.0 - Production        

SQL> CREATE TABLE enmotech (
2 PartID  integer  not null,
3 CretTm  date  not null,
4 PartCD  varchar2(2) not null
5 ) partition by list (partcd) automatic (
6 partition pBJ values ('BJ'),
7 partition pCD values ('CD'),
8 partition pGZ values ('GZ'),
9 partition pSH values ('SH')
10 );

Table created.

SQL> insert into enmotech values (1, sysdate, 'KM');

1 row created.

SQL> select partition_name from user_tab_partitions
2 where table_name = 'ENMOTECH';

PARTITION_NAME
--------------------------------------------------------------------
PBJ
PCD
PGZ
PSH
SYS_P281

SQL> alter table enmotech drop partition SYS_P281 purge;
alter table enmotech drop partition SYS_P281 purge
*
ERROR at line 1:
ORA-14048: a partition maintenance operation may not be combined with other operations


SQL> alter table enmotech drop partition PSH;

Table altered.

SQL> select * from user_recyclebin;

no rows selected

当我们DROP 整个分区表时,分区表连带所有的分区,会进入到回收站。

image

很多时候,想当然的结果可能并不可信,实践操作方能出真知,多动手,是技术人的王道。
文章转自数据和云公众号,原文链接

相关文章
|
SQL Oracle 关系型数据库
Oracle rman备份保留策略,归档删除策略及delete命令的使用
oracle rman备份保留策略、归档策略的使用及对delete命令的影响
1821 0
|
存储 Oracle 关系型数据库
Oracle海量数据优化-02分区在海量数据库中的应用-更新中
Oracle海量数据优化-02分区在海量数据库中的应用-更新中
111 0
|
Oracle 关系型数据库 数据库
Oracle 不使用DBCA在Oracle 11中删除数据库
Oracle 不使用DBCA在Oracle 11中删除数据库
65 0
|
SQL 存储 Oracle
Oracle海量数据优化-01分区的渊源
Oracle海量数据优化-01分区的渊源
57 0
|
存储 SQL 监控
实践笔记:Oracle-表按天分区
实践笔记:Oracle-表按天分区
154 0
|
Oracle 关系型数据库 数据安全/隐私保护
oracle学习25-手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间
oracle学习25-手工删除oracle归档日志后操作步骤 和修改用户默认解锁时间
149 0
|
Oracle 关系型数据库
oracle学习47-oracle删除非空表空间
oracle学习47-oracle删除非空表空间
106 0
|
Oracle 关系型数据库 数据库
Oracle 使用脚本建库,删库及删除数据库软件
Oracle 使用脚本建库,删库及删除数据库软件
412 0
Oracle 使用脚本建库,删库及删除数据库软件

推荐镜像

更多