发布网友 发布时间:2022-04-23 15:26
共3个回答
热心网友 时间:2022-04-08 20:49
如果是system表空间的话,基本上没有办法变小了。(按照你的说法,就是释放磁盘空间)
就算你删除了表,但是数据文件(就是物理存在于磁盘上的文件)是不会变小的。而且system表空间非常*,里面存有所有的基表,所以resize不要想了。而且转移表空间神马的,用在其他表空间还可以,system也不可能,如果你真的把所有的表(这个表是指你建立的表)都删除了,那么就干脆重新建库吧,把原来的库删了,这样就可以了。
反正据我所知,如果是system表空间的话(system表空间数据文件所占空间大小),不重新建库是只能变大不能变小的。
如果是其他表空间的话,复制表空间,然后删除什么的可以考虑。
最后给你一个建议啊,你的存储应该是自动扩展的吧,那每个文件最大值最好不要太大,oracle这个东西是有多少占多少,然后再说其他,如果你给的太多,那么他就会一直占用新的。
热心网友 时间:2022-04-08 22:07
你好的!
一般来说,重建一个表空间!
把所有当前表空间的表都move 到新表空间中!
完后删除原来的表空间并删除相关的物理文件。
oracle 的shrink 表空间不怎么实用!
热心网友 时间:2022-04-08 23:42
数据文件一般都是设置自增长的, 表删掉以后只是逻辑空间减少了, 物理大小不会自己变小的. 但可以用resize改小, 但一定要比当前表空间大.
alter database datafile '/oradata2/mesdb/SYSTRAVELIDX119.ora' resize 1024M;