方法一、增加归档目录容量
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 / <
#检查归档
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