Oracle调整表空间大小——ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据

公司7套库的表空间大小与实际占用空间相差较大。为合理利用存储,打算resize数据文件,把空间释放出来。

通过下列命令找出能适合resize的文件:

Set pagesize 1000

colFILE_NAME for a40

col"used%" for 99.99

col"free%" for 99.99

SELECTa.FILE_ID,

       a.FILE_NAME,

       trunc(a.BYTES/1024/1024/1024,0) total_G,

       trunc(b.bytes/1024/1024/1024,0) free_G,

             'alter database datafile'''||a.file_name||''' resize '||ceil((a.BYTES - b.bytes)/1024/1024/1024+trunc(b.bytes/1024/1024/1024,0)*0.3) || 'G;' resizeG

  FROM DBA_data_files a, (select file_id,sum(bytes)bytes from DBA_FREE_SPACE group by file_id) b

wherea.file_id = b.file_id

   and A.TABLESPACE_NAME IN (select TABLESPACE_NAMEfrom dba_tablespaces) 

   and 100 *trunc(b.bytes / a.BYTES, 2)>30;
<pre class="html" name="code">        87 /oradata/oradb1/system02.dbf                      8          6
alter database datafile '/oradata/oradb1/system02.dbf' resize 4G;

 
在resize数据文件时,部分文件会报<u><span style="color:#0066cc;">ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据错误。</span></u>

 

我们以上面查询结果87号为例进行说明,数据文件大小8G,段的大小2G左右,但是数据分布的超过的2G,所以在resize的时候,就会报上面的错误。

 

解决方法:对87号上的表和索引移动位置,可以参照:http://www.cnblogs.com/wenlong/archive/2011/10/22/2221025.html

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangliang0703

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值