ORACLE版本:9.2.0.4
操作系统:Fredora Core 6
Oracle安装完成之后,都提示成功了,
然后重启系统。
运行sqlplusSQL> startup
ORACLE instance started.Total System Global Area   97588504 bytes
Fixed Size                   451864 bytes
Variable Size              62914560 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
ORA-00205: error in identifying controlfile, check alert log for more info这个说明控制文件丢了
然后我就这样看了下,
SQL> show parameter control_file;NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      ?/dbs/[email protected]到$oracle_home/dbs目录里面看了下没有控制文件,
然后使用以下方式进行增加控制文件,
现在出以下的错误,急请各位帮忙,网上找了很多办法试了下都不能创建控制文件。CREATE CONTROLFILE reuse set  DATABASE orcl RESETLOGS noARCHIVELOG
     MAXLOGFILES 32
     MAXLOGMEMBERS 3
     MAXDATAFILES 32
     MAXINSTANCES 16
     MAXLOGHISTORY 1600
LOGFILE
group 1 ('/opt/oracle/OraHome1/dbs/redo01.log') size 100k,
group 2 ('/opt/oracle/OraHome1/dbs/redo02.log') size 100k,
group 3 ('/opt/oracle/OraHome1/dbs/redo03.log') size 100k
datafile
'/opt/oracle/OraHome1/dbs/cntrl01.dbf',
'/opt/oracle/OraHome1/dbs/cntrl02.dbf',
'/opt/oracle/OraHome1/dbs/cntrl03.dbf'

解决方案 »

  1.   

    这是报的具体错误。CREATE CONTROLFILE reuse set  DATABASE orcl RESETLOGS noARCHIVELOG
    *
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file '/opt/oracle/OraHome1/dbs/cntrl01.dbf'
    ORA-27037: unable to obtain file status
    Linux Error: 2: No such file or directory
    Additional information: 3
      

  2.   


    之前有修改过pfile没有? 控制文件一般和数据文件放在同一个目录下, 楼主到$ORACLE_BASE/oradata/sid/ 下面看看如果有控制文件, 那么在检查下pfile文件。 看一下里面参数指向什么位置的。 把这个文件修改成oradata 的目录。 在用这个pfile启动数据库试试。 
    ------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977(满)
    DBA3 群:62697850   DBA 超级群:63306533;     
    聊天 群:40132017
    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
      

  3.   

    没有修改过spfile.
    还有一个比较怪异的事情,就是我安装完成后没有
    $ORACLE_BASE/oradata/
    而且也没有$ORACLE_BASE/admin这个目录
    Apache      ctx      doc      jar        JRE   mgw      oem_webstage  owm      root.sh      sqlplus      wwg
    assistants  cwmlite  ds       javavm     jsp   network  olap          plsql    root.sh.old  syndication  xdk
    BC4J        dbs      hs       jdbc       ldap  oci      oracore       precomp  slax         sysman
    bin         demo     install  jdk        lib   ocommon  ord           rdbms    soap         ultrasearch
      

  4.   


    你这样怎么行啊
    你这样写的控制文件没有任何信息啊 。
    有控制文件的备份没有?如果有就好搞了。。
    操作如下:
    1.修改pfile文件,把里面的控制文件修改为你老的控制文件的目录
    2.startup mount pfile ='xxxx';
    3.alter database backup controlfile to trace;
    4.把udump目录下刚刚生成的trace文件打开,把控制文件的语句拷贝而出来建立个sql文件
    5.修改pfile到control_file参数
    6.startup nomount pfile=''
    7.运行4步骤建立的脚本
    8.登陆数据库。
      

  5.   

    感谢楼上的回复,由于是新装ORACLE数据库,没有备份的控制文件。
      

  6.   

    还有一个比较怪异的事,我在$ORACLE_HOME目录下都找不到pfile.
      

  7.   

    安装过 oracle 后没有使用 dbca 创建数据库吧。
      

  8.   

    安装的过程中不是已经创建一个ORCL的实例了么?
    现在我启动dbca/home/oracle/jre/1.1.8/bin/../lib/i686/native_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so)
    Unable to initialize threads: cannot find class java/lang/Thread
    Could not create Java VM
      

  9.   

    除非在安装时选择创建数据库,都需要在安装 oracle 后使用 dbca 新建数据库。symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
    --------------------------------------------------------------------------------------
    LD_ASSUME_KERNEL 和 LD_LIBRARY_PATH 都设置正确了吗?
      

  10.   

    楼主,你想到重建控制文件是对的,但你那重建语句明显少东西:像这样才对:
    CREATE CONTROLFILE REUSE DATABASE "ORCLDW" NORESETLOGS NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
    LOGFILE
    GROUP 1 'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\REDO01.LOG' SIZE 50M,
    GROUP 2 'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\REDO02.LOG' SIZE 50M,
    GROUP 3 'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\REDO03.LOG' SIZE 50M
    DATAFILE
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\SYSTEM01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\UNDOTBS01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\SYSAUX01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\USERS01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\EXAMPLE01.DBF'
    CHARACTER SET ZHS16GBK
    ;虽然我这是windows2003下的,但语法格式是不变的.
    我想主要问题出在你的datafile指定错了,你给的那3个cntrl01.dbf 真存在吗?如果我没猜错,你是把oracle的那3个控制文件 cntrl01.ctl给当成控制文件了吧. 仔细看看 datafile 所在目录下的 datafile再说吧