如题:现在把表空间SPACE1中的一部分表MOVE到SPACE2后,如何收缩SPACE1的空间?
用ALTER DATABASE FILE ... RESIZE ... 会出错:ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
用ALTER DATABASE FILE ... RESIZE ... 会出错:ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
解决方案 »
- 为什么没有权限??
- oracle 视图触发器
- oracle9i的问题,火急!!!!
- Oracle 9i 入门书推荐
- 问一个查询的问题
- ORACLE调用webservice时报badRequest : 401 unauthorized错误,求高手指点
- 一个统计语句请大家帮忙想一下!
- 有经验的老鸟。进来看看这个问题怎么解决!!
- 触发器(ORACLE)!!!!!!!!!
- 比较难的多表关联查询,解决就结帐,还可在加分100!
- Oracle写存储过程是==错误:PLS-00103: 出现符号 "%"在需要下列之一时: 。。。。。
- CREATE OR REPLACE VIEW YOSANN_HZ 速度特别慢
ALTER TABLE TABLENAME ENABLE ROW MOVEMENT;
ALTER TABLE TABLENAME SHRINK SPACE CASCADE;
ALTER TABLE TABLENAME MOVE TABLESPACE TABLESPACE_NAME;
--接着就可以开始收缩这部分移走的空间了但是用这个方法有个前提,就是要从一个文件中最大的块号开始移动才能收缩文件,如果不是从最大的块开始移动也是不能收缩的
2.找出收缩空间大小之外的对象迁移到另外表空间:
SELECT owner,segment_name,(block_id+blocks)*8/1024 loc_size FROM DBA_EXTENTS where tablespace_name='TBS_DATA'
3.然后再把你的文件缩小:
ALTER DATABASE DATAFILE 6 RESIZE 100M;