`
dongzhaowu
  • 浏览: 7130 次
社区版块
存档分类
最新评论

oralce彻底删除分区表的办法

阅读更多

oracle分区表彻底删除的办法

当对一个不再使用的分区表进行drop后,查询user_tab_partitions视图发现出现如下不规则的分区表表名:

SQL> select distinct table_name from user_tab_partitions;

BIN$l+Pv5l1jCMXgQKjAyQFA0A==$0

这样很容易导致自己写的"自动增加表的分区"的存过发生错误,因此为了避免再修改存过,只能把这些不规则的表名删除才行.现提供如下方法彻底删除这些不规则的表名.

 

其实当我们执行drop table tablename的时候,不是直接把表删除掉,而是放在了回收站里,可以通过查询user_recyclebin查看被删除的表信息.这样,回收站里的表信息就可以被恢复或彻底清除。

通过查询回收站user_recyclebin获取被删除的表信息,如果想恢复被drop掉的表,可以使用如下语句进行恢复

flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop;

上面的语句是将回收站里的表恢复为原表名称

flashback table <user_recyclebin.object_name or user_recyclebin.original_name> to before drop rename to <new_table_name>;

将回收站里的表恢复为指定的新表名称,表中数据不会丢失。

 

若要彻底删除表,则使用语句:drop table <table_name> purge;这样drop后的表就不被放入回收站

如果是清除回收站中指定的表,可以使用语句purge table <table_name>;

如果是清除当前用户回收站所有的表,可以使用语句purge recyclebin;

如果是清除所有用户的回收站:purge dba_recyclebin;

到此,按上面的方法清除回收站的数据后,再查询user_tab_partitions视图,发现不规则表名已经没有了

SQL> select distinct table_name from user_tab_partitions;

no rows selected

 

在此顺便再提一下truncate操作后不释放空间的解决办法

Truncate不支持回滚,并且不能truncate一个带有外键的表,如果要删除首先要取消外键,然后再删除。

truncate table 后,有可能表空间仍没有释放,可以使用如下语句:

alter table 表名称 deallocate UNUSED KEEP 0;

注意如果不加KEEP 0的话,表空间是不会释放的。

例如:

alter table tablename deallocate UNUSED KEEP 0;

或者:

TRUNCATE TABLE tablename DROP STORAGE才能释放表空间。

例如: truncate table tablename DROP STORAGE;

分享到:
评论

相关推荐

    清除oracle分区表数据

    在Oracle数据库管理中,分区表是一种非常实用的功能,它能够帮助优化查询性能并简化大型表的管理。当涉及到批量删除或清除分区表中的数据时,就需要掌握一些特定的方法和技术。根据给定的信息“清除oracle分区表数据...

    Oracle分区表学习及应用.doc

    Oracle分区表是数据库管理系统Oracle中的一种高级特性,用于优化大规模数据的存储和管理。通过将一个大表分成多个较小的部分,每个部分(分区)可以独立管理和操作,从而提高查询性能,减少维护成本,并且便于数据的...

    Oracle重构索引

    2. **索引碎片化**:随着数据表的更新(如插入、删除等操作),索引可能会出现碎片化现象,即索引的存储空间分布不连续,这会导致查询效率降低。 3. **索引重构**:通过重新创建或优化索引来改善索引的存储结构,...

    Oracle PPT

    最后,关于锁和表分区,锁是Oracle保证并发性和数据一致性的重要机制,分为行级锁、表级锁和表空间级锁等。理解锁的类型和行为对于解决并发冲突至关重要。表分区则是大数据管理中的优化技术,通过将大表分割成逻辑上...

    Oracle数据库表空间收缩方法探讨.pdf

    2. **分区表重组**:如果表已分区,可以考虑重分区或合并分区,将空闲空间整合。 3. **重建索引**:删除并重建索引可以消除碎片,回收被删除记录占用的空间。但这可能会导致短暂的服务中断。 4. **使用`ALTER ...

    oracle 整理(比较全)

    在Windows NT/2000上重新安装Oracle前,需要彻底清理旧的Oracle环境,包括删除注册表项、服务、事件日志、安装目录、环境变量等。 六、Oracle网络配置 Oracle网络配置涉及网络驱动(如SQL*Net v2.0、Net8、Net8i)...

    Oracle9i模式对象1.ppt

    Oracle9i模式对象是数据库管理的核心组成部分,它们包括多种类型的表,如常规表、集群表、分区表和索引组织表。这些表是数据存储的基本单元,每张表都有一个唯一的名称以及列的集合,列定义了数据类型、宽度、精度和...

    Oracle重复数据清理

    Oracle数据库中的重复数据是指在表中存在完全相同的数据行,通常这在数据库设计和数据操作中是不被允许的,因为它可能导致数据的不一致性和数据冗余。在数据迁移过程中,重复数据的问题尤为突出,可能会影响数据的...

    Oracle9i模式对象.pptx

    7. **删除表**:最后,使用`DROP TABLE`语句可彻底删除表,如`DROP TABLE test`。如果表与其他对象有依赖关系,可以使用`CASCADE CONSTRAINTS`确保一起删除相关联的对象。 以上就是Oracle 9i中关于模式对象的一些...

    Oracle数据库培训笔记

    - **删除Oracle目录和环境变量**:说明了如何彻底删除Oracle安装目录以及相关的环境变量设置。 - **删除开始菜单项**:介绍了如何移除Oracle在Windows开始菜单中的快捷方式。 - **重启计算机并删除磁盘目录**:最后...

    重装oracle 的注意事项

    2. **卸载旧版本**:确保彻底卸载之前的Oracle实例,包括服务、注册表项、文件夹和文件。不完全卸载可能导致新安装失败或产生冲突。 3. **清理注册表**:检查Windows注册表,删除与旧Oracle安装相关的键值,防止新...

    Oracle笔记

    5. **SQL基础**:了解SQL语言是使用Oracle的关键,包括SELECT用于查询数据,INSERT用于插入新记录,UPDATE用于修改现有记录,DELETE用于删除记录,以及CREATE、ALTER和DROP用于创建、修改和删除表、视图和索引等...

    (完整word版)太原理工大学Oracle实验报告.doc

    - 删除表时需谨慎,选择"使用选项删除",并勾选删除所有引用完整性约束条件,以确保彻底删除。 5. **在SQL Developer中创建表** - SQL Developer是另一个管理Oracle数据库的工具,首先需要建立数据库连接。 - ...

    oracle基础知识.pdf

    7. **回收站管理**:Oracle 10g引入了回收站功能,删除的表会被移动到回收站中,可通过`DROP TABLE xx PURGE`彻底删除。如果需要恢复被删除的表,可以使用`FLASHBACK TABLE`命令。清理回收站可以使用`PURGE`命令,...

    Oracle DBA 参考手册

    8.4.4. 创建分区表 34 8.4.5. 查询分区 35 8.4.6. 添加分区 35 8.4.7. 删除分区 35 8.4.8. 修改分区 35 8.4.9. 移动分区 36 8.4.10. 拆分分区 36 8.4.11. 截断分区 36 8.4.12. 合并分区 36 8.4.13. 交换表分区 36 ...

    oracle基础知识.docx

    在Oracle 10g及以上版本中,`DROP TABLE xx PURGE`命令会彻底删除一个表,不会放入回收站。若要恢复被删除的表,可以查询`USER_RECYCLEBIN`,然后使用`FLASHBACK TABLE ...

    Oracle导入dmp文件最安全步骤

    `命令,彻底删除目标用户及其所有依赖项。 2. **清除表空间**:不仅要删除用户,还需清除其关联的所有表空间,包括数据表空间、索引表空间以及临时表空间,例如: - `DROP TABLESPACE testdb INCLUDING CONTENTS;...

    Oracle单机数据库安装学习总结.docx

    在Linux环境中,安装Oracle数据库需要掌握如登录、安装、分区、文件处理、系统管理、网络操作、系统安全等相关命令。例如,`login`用于用户登录,`shutdown`、`halt`、`reboot`分别用于关机、停机和重启,`mount`和`...

    sql基础源代码下载

    - 分区表:Oracle支持大表分区,提高查询和管理效率。 - 高可用性:Oracle提供RAC(Real Application Clusters)和Data Guard等解决方案,保证数据库的高可用性。 7. Access数据库特性: - 更适合小型应用:...

Global site tag (gtag.js) - Google Analytics