ORACLE如何清理删除表数据并释放表空间可以使表空间立即释放

  这两天我一个朋友问我一个问题他想定期删除一个表里删除表数据并释放表空间,只保留最近一个星期的删除表数据并释放表空间
而且要考虑释放磁盘空间,所以我幫他做了个定时任务判断时间是通过表里的一个列,类型
是删除表数据并释放表空间型是utc时间。刚开始还想把utc时间转化成现在的时间

utc時间是从1970年1月1号零时开始到现在的总秒数

但后来一想那需要那么麻烦啊,只要计算出一周的秒数用最能近的utc时间减去7天的总秒数,和七天前的时间做比较就ok了

1. //创建存储过程


3.//启动任务(每天执行一次)

PL/SQL 过程已成功完成

然后在查看表的内容 如果表的内容为空 ,证明已经删除了

5. //删除定时任务:

}

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

oracle建议不要轻易的删除里面的表空间,直接删除的话你的oracle就得重新的安装了,毕竟要很长时间嘛以前在网上搜过,使用代码的方式删除具体的怎么做,我现在忘记了反正是直接删除时不可以的,会破会你的oracle软件嘚

希望能帮到你.....不知道对你的问题有没有用....

你对这个回答的评价是?

Oracle实例是指:内存SGA+Oracle后台进程 删除表数据并释放表空间库关闭了实例就沒有了不存在删除的问题。

如果说要删除在硬盘中创建的删除表数据并释放表空间库可以通过开始菜单运行Database Configuration Assistant就可以看到创建和删除删除表数据并释放表空间库的窗口了。

本回答被提问者和网友采纳

你对这个回答的评价是

}

truncate操作 同没有where条件的delete操作十分相似只是把表里的信息全部删除,但是表依然存在

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

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

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

三、查询分区表存在哪些分区:

四、清除汾区表占用的空间:

    可以利用如下语句查询各表在存储空间的使用分情况:

可以使用如下语句,查询存储空间情况:

七、删除指定空间下嘚所有表

本篇文章来源于 Linux公社网站()  原文链接:

}

我要回帖

更多关于 删除表数据并释放表空间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信