oracle双机DG模式可以删除主用库上的归档日志么?特别是如果这些归档日志还没有同步到备库,我可以删除它们么?存在这个疑问的原因是,归档日志生成的比较快,我写了个定时清除的脚本,每隔一段时间使用rman的DELETE NOPROMPT ARCHIVELOG ALL;命令去删除归档日志,在单机上基本不存在什么问题;而在DG模式下,这些归档日志好像是要同步到备机的吧,如果我的备机down掉了,主机上的这些归档日志就无法同步,这是我调用DELETE NOPROMPT ARCHIVELOG ALL就删不掉归档日志啊。全部报RMAN-08137: WARNING: archived log not deleted as it is still needed错误。这样只要备机是down掉的,主机上的归档就会越积越多了。大家对归档日志都是怎么处理的,提供点经验吧,谢啦!

解决方案 »

  1.   

    dg就是靠日志来回复做同步的。原理是:primary库生成的归档日志。standby接受归档日志,然后把归档日志转重新还原成命令和sql语句。从而来使两个库同步。
    你把归档日志删掉,就没法做dg了。
      

  2.   

    首先你要判断archivelog是否apply啊.select * from v$archived_log where applied='yes'这样才可以删除啊.要不然就会出现gap了.
      

  3.   

    弱弱的问一句“archivelog是否apply“是啥意思?
    你说的这个apply和我删除时报的archived log not deleted as it is still needed错误是一个意思么?
      

  4.   


    apply 应用的意思。
    如果主的这边的 归档 传到备的那边并同步了,就apply了哈
      

  5.   


    也就是apply的才可以删除是么?
      

  6.   

    那么如果备机挂了,主上的归档日志也就只能越积越多,也不能删除么?
    =============================================================
    备份后删除(可以设置RMAN自动删除)
      

  7.   


    怎么设置RMAN自动删除?能不能指导一下?
    或者有没有资料(最好是中文的^_^)可以参考一下。
      

  8.   

    eg.backup database 
    format '' 
    archivelog delete input all;