今天将数据库改成archivelog模式,
修改了LOG_ARCHIVE_DEST 参数,将这个参数指向了  E:\recover, LOG_ARCHIVE_DEST_SIZE 大小限制为2g现在E:\recover 达到2g后,数据库就挂了。
不是说LOG_ARCHIVE_DEST 指向了其他的路径,这个归档就不受限制了吗?如果要手动清除因为还要涉及到rman的回收无效空间,有没有什么脚本可以用来运行的?

解决方案 »

  1.   

    rman target /
    delete archivelog all;
      

  2.   

    可以将启用快速恢复区域,将归档目标设置为快速恢复区域,这样 ORACLE 会自动管理快速恢复区域中的归档日志,在需要空间时自动删除不再需要的归档日志文件(基于备份保留策略,归档删除策略)。如果要将其它位置设置为归档目标,可以先在 RMAN 中设置备份保留策略和归档删除策略,定期执行 DELETE OBSOLETE; 命令删除不再需要的备份和归档日志文件。
      

  3.   

    他说的是保留策略  
    rman下
    show all
      

  4.   

    启用快速恢复区域(sqlplus / AS SYSDBA)
    设置可用的空间大小:alter system set db_recovery_file_dest_size=8G;
    设置路径:alter system set db_recovery_file_dest='...';设置归档目标
    alter system set log_archive_dest_10='LOCATION=USE_DB_RECOVERY_FILE_DEST';
    (如果没有指定任何归档目标,在启用快速恢复区域后,ORACLE 会默认归档到快速恢复区域)设置备份保留策略和归档删除策略(rman TARGET /)
    只保留一份备份及其所需的归档日志:CONFIGURE RETENTION POLICY TO REDUNDANCY TO 1;这样 ORACLE 会自动管理在快速恢复区域中的归档日志文件,当快速恢复区域存储空间不足时,ORACLE 会自动删除那些不再为还原所需要或已经从快速恢复区域备份到其它位置的归档日志文件。如果为还原所需的归档日志文件确实在快速恢复区域中占用了大量的存储空间,可以考虑定期备份/压缩这些归档日志文件。
    压缩备份,同时删除归档日志文件:backup as compressed backupset archivelog all delete input;
    在执行恢复(recover)时,rman 会自动从这些备份中还原归档日志文件。
      

  5.   

    可以设置基于时间的备份策略:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS
    n为多少天
    然后,可以在脚本中删除过期和无效的备份;
    crosscheck backup;
    delete noprompt expired backup;
    delete noprompt obsolete;
      

  6.   

    这个 我有测试。 好像不行
    我昨天 是这么试验的
    rman 设置 CONFIGURE RETENTION POLICY TO REDUNDANCY TO 1;
    开启归档,
    把 db_recovery_dest设置到其他盘 ,设置 db_recovery_dest_size 设置为1g
    用用户创建一个单列的表  test(number),
    begin
    for i in 100000 loop
    insert into test values (i);
    commit;
    end loop;
    end;
    (这样日志文件一直增加)
    等到归档文件接近1g的时候,就无法切换日志和继续执行插入操作了。
    是我的理解错了?还是操作错了
      

  7.   

    这个要求定期对数据库进行备份。
    例如,CONFIGURE RETENTION POLICY TO REDUNDANCY TO 1;
    设置备份保留策略为保留一份备份。也就是说,当前备份数据库后,上次的数据库备份和与之相关的归档日志文件将会过时,如果在快速恢复区域中可以在需要时被自动删除。如果不作数据库备份,保留归档日志文件也没什么意义。
      

  8.   

    能帮我解释一下下面这两句吗?crosscheck backupset;
    delete noprompt obsolete;
    这个是不是可以删除过期的归档和备份的文件?
      

  9.   

    backup database skip inaccessible filesperset 10
    plus archivelog filesperset 20
    delete all input;
    上面是一个rman备份脚本里面的文字,谁能帮我解释一下。 看不太懂
      

  10.   

    crosscheck backupset; 检查 rman 资料库中记录的备份集是否在指定的位置delete noprompt obsolete; 删除过期的备份和归档日志文件backup database skip inaccessible filesperset 10
    plus archivelog filesperset 20
    delete all input; 
    备份数据库,跳过不可访问的数据文件,每个备份集中最多可保存 10 个数据文件;
    同时备份归档日志文件,每个备份集中最多可保存 20 个归档日志文件;
    备份成功后删除归档日志文件。