Oracle_解决ora-00257错误(清理归档日志、修改日志最大值解决)

Oracle数据库虽然强大,但是不了解其运行原理和优化维护的小白们经常会在正常运行一段时间后遇到各种问题,比起MySQL等数据库那么省心来说真是头疼,现在记录一下解决ORA-00257: archiver error. Connect internal only, until freed错误的步骤。

 

步骤一:诊断、设置最大值

plsql developer用sys用户sysdba模式登录,运行sql查询

select * from v$recovery_file_dest;
select * from v$flash_recovery_area_usage;

第一句sql查询设置的归档日志最大值和已用的量。

第二句是查询使用的空间比例,发现archivelog 使用比例达到了99%以上

设置归档日志最大值:

alter system set db_recovery_file_dest_size='21474836480';-- 修改为20GB

运行后最大值改为了20GB,这个是按字节设置的所以需要换算一下。根据自己服务器的磁盘大小可以具体修改。

步骤二:清理历史日志

win+r打开运行cmd命令窗口,进入rman

rman target sys/你的密码

检查已产生的日志

crosscheck archivelog all;

删除日志,三条按需选择。

delete expired archivelog all;--删除过期日志
delete archivelog until time 'sysdate'; --删除所有日志
delete archivelog until time 'sysdate-1'; --删除今天之前的日志

执行完毕后可以再次执行步骤一验证日志占用的空间。

你可能感兴趣的:(Oracle数据库,数据库,oracle)