【Oracle问题集4】ORA-00205 error in identifying controlfile

来源:互联网 发布:office word苹果mac版 编辑:程序博客网 时间:2024/05/16 01:42
说明:【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 ;