如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录...

有这样一种需求,虽然controlfile中的archivelog和其他一些备份信息会被覆盖重用,收到参数control_file_record_keep_time的影响,但是我们没法手动触发这种重用,这导致有时候controlfile中的archivelog 记录过多,可能导致一些备份、恢复过程中的"control file sequential read"等待事件。 已知的一些解决方案,包括:   1. 重建控制文件, 例如 backup controlfile to trace后重建该控制文件,但要求有数据文件均存在 2. 设置control_file_record_keep_time=0 然后等待记录被重用, 太过被动了....   这里再介绍一种手动清除v$ARCHIVED_LOG中不管是DELETED还是available 记录的方法,注意不要在你的产品数据库上这样做:    SQL> select count(*) from v$archived_log;   COUNT(*)   ----------   553   SQL> /   COUNT(*)   ----------   553   SQL> execute sys.dbms_backup_restore.resetCfileSection( 11);   PL/SQL procedure successfully completed.   SQL> select count(*) from v$archived_log;   COUNT(*)   ----------   0

  PROCEDURE resetCfileSection(record_type IN binary_integer ); -- This procedure attempts to reset the circular controlfile section. -- -- Input parameters: -- record_type -- The circular record type whose controlfile section is to be reset.   execute sys.dbms_backup_restore.resetCfileSection( 11);


本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278516

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值