www.dbpj.net > 在orAClE数据库中删除表后,怎样把占用的磁盘空间释放出来?

在orAClE数据库中删除表后,怎样把占用的磁盘空间释放出来?

使用: truncate table tablename DROP STORAGE;解释: 直接删除表,并且释放存储空间.truncate的意思是清空表数据, “DROP STORAGE”是释放存储空间.

一、drop表执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句 flashback table

analyze table itemLog compute statistics;或者把数据exp出来..drop掉表.在imp进去

如果是system表空间的话,基本上没有办法变小了.(按照你的说法,就是释放磁盘空间)就算你删除了表,但是数据文件(就是物理存在于磁盘上的文件)是不会变小的.而且system表空间非常变态,里面存有所有的基表,所以resize不要想

1、删除用户和数据,磁盘空间不会释放,因为数据文件大小已定.2、解决方法最直接的就是:导出数据, 重建数据文件、表空间, 重新导入数据.

只要满足where条件,都会被删除.只要判断好where条件就好

1、先创建表空间,创建用户时候才能指定默认表空间,用户登陆后创建表时候才能存放在指定的表空间.CREATE TABLESPACE test_ts1 DATAFILE '/data1/test_ts1.dbf' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED

你删除表只能释放表空间里的空间,无法释放数据库的体积 就像你买了一箱可乐,你都喝完了,可乐瓶子还是那么大,还要占为止 你如想要释放空间,可以缩小数据文件的大小:alter database datafile XXXXXXXX resize XXXXm 这样就可以释放空间,就像你喝完可乐了再把它踩扁,这样他就不占地方了

解决方案执行alter table jk_test move或 alter table jk_test move storage(initial 64k)或alter table jk_test deallocate unused或 alter table jk_test shrink space.注意:因为alter table jk_test move 是通过消除行迁移,清除空间碎片,删除空闲空间,实现

清除数据库日志.不紧急的话,让ORACLE系统自动释放.紧急的话,手工收缩该表所在的DB.

网站地图

All rights reserved Powered by www.dbpj.net

copyright ©right 2010-2021。
www.dbpj.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com