通过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;--打开数据库;