ORA-00257 数据库归档日志满了,磁盘空间不足
这几天在登录一个Web系统时,后台抛出异常数据库异常:ORA-00257。经过分析和查阅资料发现是数据库归档日志太多,超出了磁盘的空间导致的。Oracle归档日志:Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档。相应的日志被称为归档日志。归档日志是联机重做日志组文件的一个副本,包含redo记录以及一个唯一的log sequence nu...
这几天在登录一个Web系统时,后台抛出异常数据库异常:ORA-00257。经过分析和查阅资料发现是数据库归档日志太多,超出了磁盘的空间导致的。
Oracle归档日志:
Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档。相应的日志被称为归档日志。归档日志是联机重做日志组文件的一个副本,包含redo记录以及一个唯一的log sequence number, 对日志组中的一个日志文件进行归档,如果该组其中一个损坏,则另一个可用的日志将会被归档, 对于归档模式的日志切换,当日志归档完成后,下一个日志才能被覆盖或重新使用,自动归档功能如开启,则后台进程arcn在日志切换时自动完成归档,否则需要手动归档。归档日志用途:恢复数据库,更新standby数据库,使用LogMiner 提取历史日志的相关信息
解决办法:
1、可使用ftp连接数据库服务器(eg:192.168.XXX.XX : 22)
username:XXXXX
password:XXXXXXXXX
直接删除/archive/arch01/文件夹下的旧日志文件,一般可存放3个月左右的日志,当然因系统应用不同存放时间也不同。删除时需要确认日志文件是否还会使用,建议本地备份后再删除
2、登录数据库服务器
a、输入命令 su -oracle 切换到oracle用户
b、输入命令>rman target/
c、输入命令>crosscheck archivelog all(用于检查缺失的日志文件)
d、输入命令>delete expired archivelog all(删除过期的日志文件flashfxp_setup.zip)
e、输入命令>exit (退出)
另外建议可以对归档日志目录进行扩容,否则以后日志文件满了还是要清理归档日志:
alter system set db_recovery_file_dest_size=xxxxxxxxx;--设置使用空间大小xxxxxxxxx
show parameter db_recovery_file_dest;--查看归档日志参数
更多推荐
所有评论(0)