Oracle 错误 257 archiver error
系统redflag linux + IBM 3400 磁盘阵列
在应用服务器想做数据库备份时,提示如下:
到数据库存服务器查看 :df -h 发现/dev/sdd1 分区空间已经使用满
通过图形界面,我也再一次通过路径确认是日志文件空间不足后。
经过网上查看了,也偿试去解决:
1. 在linux 中
su - oracle -c sqlplus / nolog
user: system
pass: orcl as sysdba
进入 oracle
1.1 show parameter log_archive _dest; //查看归档文件路径
1.2 archive log list;
1.3 select * from v$Flash_RECOVERY_AREA_USAGE:
1.4 show parameter recover
1.5 select sum(percent_space_used)*3/100 from v$flash_recovery area_usage;
1.6 select name from v$archived_log; //查看归档日志路径
修改日志空间大小
alter system set db_recovery_file_dest_size = 10 G scope = both;
因为硬盘空间都 不足,所以这修改是不起作用的
2. 在linux下 RMAN 模式删掉归档日志,不能直接删掉,要通过oracle的管理RMAN来删掉,不然oracle 不知道你的删掉动作;
还有一点是,在操作时,先要让
su oracle
lsnrctl status lsnrctl stop 让归档停止 再删掉归档日志
rman target / //从系统进入 RMAN
crosscheck archivelog all; //检测所有归档
list expired archivelog all; //列出所有无效归档
下面这条命令要大写
DELETE ARCHIVELOG UNTIL TIME 'SYSDATE - 7'; /删掉7天前归档日志
终于可以 ,由原来280G归档日志,减少为80G。
归档日志删掉结束后,需要lsnrctl start 再把归档日志功能启动
与此数据库存的相关应用恢复正常。