急贴 ! Linux下的Oracle中如何在Linux排程中定时删除三天前(相对于现在时间)的归档文件 , 即如何用Linux中的shell script来判断文件时间并删除它 . 如果可以 , 请举例说明一下 , 不胜感激 , 必高分相送 !!

解决方案 »

  1.   

    find 目录 -atime + 3 -print 
    写入文件或通过管道直接删除
      

  2.   

    可以用一个sql脚本来进行删除
    set feedback off
    set heading off
    spool /home/oracle/deletearch.sh
    select 'rm -f '||name
    from v$archived_log
    where next_time <= sysdate -3
    and archived='YES';
    !chmod 775 /home/oracle/deletearch.sh
    !/home/oracle/deletearch.sh
    set feedback 6
    set heading on这里只是没有定时机制。此脚本是生成一个删除三天前的归档日志的脚本,并执行它。
      

  3.   

    谢了, 各位 , 这里好像有更加简单的命令 : (仅供参考) 
    find   /data/arch   -atime +3 -exec  rm -f  {} \;