ITPub博客

首页 > Linux操作系统 > Linux操作系统 > dataguard之逻辑备库表空间不足

dataguard之逻辑备库表空间不足

原创 Linux操作系统 作者:suifeng2316 时间:2011-11-28 09:30:37 0 删除 编辑
早上发现一个逻辑备库上的表空间不足,接着检查其主库和其他备库,发现并没有出现该表空间不足的情况。
于是接着在表空间不足的备库上检查空间被那些对象占据:
 select segment_name ,bytes/1024/1024 from dba_segments where tablespace_name='PRODUCTSPACE' order by bytes desc;
结果发现是表COMRFPVDETAIL占据了将近6G的空间,可在主库是上查询该对象时发现该对象只占据了2G左右的空间。
于是在选择了一个业务低谷的时间段,在主库执行以下操作:
1,  alter table COMRFPVDETAIL shrink space ;
在 执行该指令之前必须允许行移动 alter table table_name enable row movement; 
有没有启动行移动可查询:select * from dba_tables where  table_name='COMRFPVDETAIL';
2,主库执行一次日志切换
alter system switch logfile;
结果:
再次查询备库表空间的状态,发现主备之间空间占用率基本一致。
解决以上问题,估计还可以在备库上使用dbms_logstdby.instantiate_table手工同步该表。不过执行前得先停止日志应用。
注意:
1.使用shrink space时,索引会自动维护。shrink space cascade会同时收缩索引。也可以单独使用alter index xxx shrink space收缩索引。
2.shrink space需要在表空间是自动段空间管理的,所以system表空间上的表无法shrinkspace
3.move也可以实现收缩并降低hwm,但是move需要指定storage参数做到真正压缩分配空间
4.使用move时会改变一些记录的rowid,所以move后索引会变为无效,需要rebuild

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23073818/viewspace-712196/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-09-14

  • 博文量
    48
  • 访问量
    193123