Oracle数据库启动失败(归档日志满)

前端之家收集整理的这篇文章主要介绍了Oracle数据库启动失败(归档日志满)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

通过sysdba权限启动数据库发生ORA-03113的错误

数据库装载完毕。
ORA-03113:通信通道的文件结束 进程ID:5610 会话ID : 625 序列号:2

Oracle出现错误,应该先在数据库的安装目录查找日志文件:trace文件夹下找到对应进行的日志文件5610.trc文件,经确认属于归档日志空间不足导致。

首先通过dba权限 登录sqlplus / as sysdba;

启动数据库为mount模式:startup mount;

1.通过恢复X个时点解决
select * from v$log; --查询日志
recover database until time '2017-3-23 12:00:00' --恢复数据库至X个时点
alter database open resetlogs; --打开数据库为归档模式,如果恢复后打开成功,则不需要后续方法

2.通过查询归档日志信息并通过rman工具删除归档日志解决
archive log list; --查看归档日志信息;
select*fromv$recovery_file_dest; --查询归档文件空间(如果显示0则表示空间用光)
show parameter db_recovery_file_dest(查询归档文件空间信息,更直观些)
alter system set db_recovery_file_dest_size= 10G; --设置归档日志大小
alter system log_archive_dest='/home/oracle'; --修改归档日志目录,默认为 $ORACLE_BASE/flash_recovery_area ,一般不用调整

rman target / -----进入rman工具窗口
RMAN> crosscheck backup; --检查
RMAN> crosscheckarchivelog all; --把无效的expired的archivelog标出来
RMAN> delete noprompt archivelog until time "sysdate -10"; --删除10天前的归档日志 --一般使用
RMAN> delete expired archivelog all;--删除过期的归档日志

shutdown immediate; --关闭数据库
startup;--正常启动数据库

3.可以通过以下方法查询数据库状态
select status from v$instance; --查询数据库状态;
如status为open,则数据为正常状态

4.也可关闭归档日志,直接开启数据库,此方法有风险,一般很少使用,测试库除外 alter database noarchivelog; --切换数据库为非归档模式 alter database open;--打开数据库

猜你在找的Oracle相关文章