ora-00257

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

  

原文地址:https://www.cnblogs.com/orcl-2018/p/13847088.html