【Oracle问题集4】ORA-00205 error in identifying controlfile
【Oracle问题集4】ORA-00205 error in identifying controlfile
说明:【oracle问题集】是博主平时操作数据库遇到的问题以及解决方案。
执行语句:表示操作数据库过程
出错现象:表示操作数据库过程出现错误现象
出错原因:表示出现错误的原因
解决方法:表示解决错误的方法
相关知识:表示与这个主题相关的知识
================================================================
执行语句:
启动数据库:startup
出错现象:
ORA-00205 error in identifying controlfile
错误原因:
控制文件丢失,丢失控制文件为control02.ctl和control03.ctl
解决方法:
解决方法A1:
将CONTROL01.CTL复制2份,分别将其改名为CONTROL02.CTL和CONTROL03.CTL,重新启动后问题解决。
解决方法A2:
首先查看/home/oracle/app/oracle/oradata/orcl/目录,如果发现只有CONTROL01.CTL,其它两个都没有,需要修改 spfileorcl.ora。参考【相关知识:创建pfile和spfile】,然后从新启动数据库
解决方法A3:
重新创建控制文件,首先删除剩余的控制文件 参考【相关知识:创建控制文件】
相关知识:
A、创建pfile和spfile
a、查看系统是以pfile还是spfile启动
Select isspecified,count(*) from v$spparameter group by isspecified;
如果isspecified里有true,表明用spfile进行了指定配置 如果全为false,则表明用pfile启动
b、使用SPfile的好处: Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image 启动时候需要跟踪最新的image。这是个烦琐的过程。 用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both),参数配置有个权威的来源。
c、查看spfile 位置spfile_location
show parameter spfile
d、从spfile获取pfile
Create pfile='Your_pfile_location' from spfile;
Create pfile='Your_pfile_location' from spfile='spfile_location';
e、从pfile获取spfile
Create spfile from pfile='Your_pfile_location'
Create spfile='spfile_location' from pfile='Your_pfile_location'
f、动态修改参数
alter system set parameter=Value scope=spfile|both|memory
Startup nomount的时候需要读去spfile或pfile,两者共存,spfile优先
g、强制用pfile或者spfile启动
SQL>startup pfile='Your_Pfile.ora'
B、创建控制文件
第一步 :生成跟踪文件alter database backup controlfile to trace
第二步:执行跟踪文件中的语句这一段内容Set #1. NORESETLOGS case到End of tempfile additions.或者 Set #2. RESETLOGS case到End of tempfile additions(他们的区别是:如果日志没有损坏,可以用Noresetlogs方式,还可以执行恢复;如果日志损失了,只能用resetlogs方式打开。)
第三步:执行以下语句
SQL> ALTER DATABASE OPEN RESETLOGS ;