首页 > 软件开发 > 数据库 >

oracle 如何释放磁盘空间

来源:互联网 2023-03-17 00:09:00 157

Oracle是一种大型商业数据库,在长时间及各种数据库操作后,会占用大量的存储空间,那么该如何释放这些存储空间呢?

0Hh办公区 - 实用经验教程分享!

0Hh办公区 - 实用经验教程分享!

oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

工具/原料

  • Oracle

方法/步骤

  • 1

    在Oracle数据库中使用SQL语言进行数据的相关处理,比如删除,不会直接释放相应的存储空间,需要单独处理

    0Hh办公区 - 实用经验教程分享!

    0Hh办公区 - 实用经验教程分享!

    oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

  • 2

    对于存储空间的占用,Oracle中一般包括表信息、表中的数据、分区表等几类,一般的删除语句不会彻底释放存储空间

    0Hh办公区 - 实用经验教程分享!

    0Hh办公区 - 实用经验教程分享!

    oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

  • 3

    针对表信息的处理,执行drop table xx 语句,相应的表会被放到回收站(user_recyclebin)中,彻底删除释放空间,需要执行drop table xx purge语句,如:0Hh办公区 - 实用经验教程分享!

    drop table testTable purge;0Hh办公区 - 实用经验教程分享!

    oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

  • 3该信息未经许可获取自百度经验
  • 4

    针对表中的数据,一般我们使用truncate table 语句进行删除,但此语句只是把表里的信息全部删除,但是表依然存在,表空间依然没有释放,需要执行如下语句保证彻底释放表空间:0Hh办公区 - 实用经验教程分享!

    alter table 表名称 deallocate UNUSED KEEP 0;0Hh办公区 - 实用经验教程分享!

    注意:必须加KEEP 0,否则表空间是不会释放的0Hh办公区 - 实用经验教程分享!

    oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

  • 5

    针对分区表,常用的语句是alter table 表名称 truncate partition 分区名称;但使用此语句,仅清除指定分区表的分区数据,要想彻底释放所占空间,需要执行如下语句:0Hh办公区 - 实用经验教程分享!

    alter table 表名称 DROP partition 分区名称;0Hh办公区 - 实用经验教程分享!

    oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

  • 6

    可以看到,Oracle的常规清除语句都是带有一定的保护功能的,防止误删除,所以不会彻底释放相应空间,只有添加相应参数或者使用专门语句后才能彻底删除并释放空间

    0Hh办公区 - 实用经验教程分享!

    0Hh办公区 - 实用经验教程分享!

    oracle 如何释放磁盘空间0Hh办公区 - 实用经验教程分享!

  • 注意事项

    • 删除有风险,操作需谨慎

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!0Hh办公区 - 实用经验教程分享!


    标签: oracle数据库

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码