Oracle启动时报如下错误:
ORA-03113: end-of-file on communication channel
解决方案如下:
1、查看orcle启动日志,确定具体是什么原因引起的错误。
cd $ORACLE_HOME/diag/rdbms/实例名/实例名/trace/
ls -alcr | grep alert (c时间排序、r倒序) 定位启动日志。
2.tail -f -n 500 alert_ncdbemu.log 然后重启运行startup命令:得到oracle提示如下:
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
选择:清理归档日志文件方法:
双实例的oracle启动---注意:首先要export ORACLE_SID=要操作的实例名 保证自己操作的实例是需要删除归档日志文件的实例,然后进行删除步骤:
1.启动到mount状态下:
su - oracle
sqlplus /nolog:
进入到sql命令窗口下:
conn /as sysdba
startup mount;
2.查看恢复区(闪回区)位置及大小:
SQL> show parameter db_recovery;
3.查询当前的使用状态
select file_type,PERCENT_SPACE_USED,NUMBER_OF_FILES from v$flash_recovery_area_usage;
4.物理清除归档路径下的日志文件:
退出sql命令窗口:
cd /u01/flash_recovery_area/DMDEV/archivelog---进入到对应的归档实例日志目录
清理不需要的归档日志---清理前请对需要的日子做好备份潮州:
rm -rf 不需要的日子文件目录
物理日志文件清理后,还需要在ramn管理中清理一次,不然还是显示的空间没有释放
5.进入rman命令行:通过rman管理工具清理。
连接上数据库实例:rman----> connect target sys/sys_passwd
crosscheck backup;
delete obsolete;
delete expired backup;
crosscheck archivelog all;
delete expired archivelog all;
此步会有提示,输入 YES 回车
退出rman 删除完成,重新连接数据库
6.删除完毕后查看结果:
sqlplus /nolog
SQL> connect /as sysdba
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
7.重新启动数据库ok。