方法一、增加归档目录容量 1、查看归档目录空间使用率 select * from v$flash_recovery_area_usage; 2、修改归档目录大小 alter system set db_recovery_file_dest_size=8G scope=spfile; 3、查看归档目录空间使用率 select * from v$flash_recovery_area_usage; 4、重启数据库 shutdown immediate startup 方法二、删除归档日志,释放空间 1、rman target / #检查归档 crosscheck archivelog all; #列出无效的归档日志 list expired archivelog all; #删除无效归档 delete noprompt expired archivelog all; #删除七天前的归档 delete noprompt archivelog until time 'sysdate-7'; (生产一般建议保留7天的归档日志) 2、查看归档目录空间使用率 select * from v$flash_recovery_area_usage; 也可以设置定时任务删除归档日志: 1、编辑删除归档日志的脚本----/home/oracle/clearlog.sh #记录归档删除的日志 exec >> /home/rman_log/log/del_arch`date +%F-%H`.log $ORACLE_HOME/bin/rman target / <<EOF #检查归档 crosscheck archivelog all; #列出无效的归档日志 list expired archivelog all; #删除无效归档 delete noprompt expired archivelog all; #删除七天前的归档 delete noprompt archivelog until time 'sysdate-7'; #删除所有的归档 #delete noprompt archivelog all; exit; EOF 2、修改clearlog.sh脚本的权限及所有者所属组 chown oracle:oinstall clearlog.sh chmod 775 clearlog.sh 3、以oracle用户设置定时任务 $crontab -e 0 1 * * 0 /home/oracle/clearlog.sh