WIN2003+ORA9I数据库停电,重新起动系统自检.进入系统后,在另一台机子上用ORA客户端PC连接该数据库服务器,连不上库.于是就到装库的服务器上用SQL*PLUS,输入ID,PASSWORD后,显示error:
ora-01033:oracle initialization or shutdown in progress用oracle enterprise manager console独立启动
进入后例程停留在“已装载”,当选择“打开”后,显示ORA-01122:?????1????
ORA-01110:????1:'E:\ORACLE\ORADATA\ORA9I\SYSTEM01.DBF'
ORA-01207:??????????-??????启动不了数据库,请问各位高手,象这种情况是什么原因,怎么办呢?我按用户备份过数据库.怎样恢复呢?(我对ORA9I基本不懂,以前出错都是找人修.)请祥细点给出解决的步骤
谢谢!

解决方案 »

  1.   

    手工关闭数据库/启动数据库
    sqlplus "/ as sysdba"
    shutdown immediate
    startup
    看有什么错误信息么?
      

  2.   

    系统环境: 
    1、操作系统:RedHat Advanced Server,机器内存512M
    2、数据库: Oracle 9i Release 9.2.0.1.0 for linux
    3、安装路径:/home/oracle/ora错误现象: 
    因误操作,数据库中某一数据文件被误删,
    Oracle相关服务显示已启动,用SQL*Plus可以连接sys DBA用户,但普通用户无法连接,
    显示以下错误
    ORA-01033: ORACLE initialization or shutdown in progress模拟现象: create tablespace tablespace_ecms
    datafile '/home/oracle/ora/products/9.2.0/oradata/ora9i/tablespace_ecms.dbf'
    size 512M extent management local autoallocate
    --default storage (initial 128k next 2M pctincrease 0)
    online;shutdown在操作系统中删除tablespace_ecms.dbf文件[oracle@js-oracle oracle]$ sudo - oracle -c "dbstart" >> /var/log/oracle
    [oracle@js-oracle oracle]$ sudo - oracle -c "lsnrctl start" >> /var/log/oracle在客户端PL/SQL工具中正常连接sys DBA用户,但数据库没有打开,同时普通用户无法连接,
    显示以下错误
    ORA-01033: ORACLE initialization or shutdown in progress解决方法:先让该数据文件脱机,就可以打开数据库
    --NOARCHIVELOG模式命令
    [oracle@js-oracle oracle]$ sqlplus /NOLOGSQL> connect sys/wellhope as sysdbaSQL> alter database datafile '/home/oracle/ora/products/9.2.0/oradata/ora9i/tablespace_ecms.dbf' offline drop;SQL> alter database open; --则数据库正常打开SQL> select file#,name,status from v$datafile;SQL> drop tablespace tablespace_ecms INCLUDing contents;表空间已丢弃。
      

  3.   

    c:/>sqlplus /nologsql*plus;release 9.2.0.1.0-production on mon aug 16 10:58:56 2004
    copyright <c> 1982,2002,oracle corpotation . all rights reserved.sql>connect /as sysdba
    connected
    sql>shutdown immediate
    ora-01109:database not open
     
    database dismounted
    oracle instance shut down
    sql>startup
    oracle instance started.total system global area 135338868 bytes
    fixed size                  453492 bytes
    variable size             109051904 bytes
    database buffers           25165824 bytes
    redo buffers                667648   bytes
    database mounted.
    ora-01122:database file 1 failed verigication check
    ora-01110;data file 1:'e:\oracle\oradata\ora9i\system01.dbf'
    ora-01207:file is more recent than controlfile-old controlfile 
    sql>
      

  4.   

    5.2.2 损坏全部控制文件
    损坏多个控制文件,或者人为的删除了所有的控制文件,通过控制文件的复制已经不能解决问题,这个时候需要重新建立控制文件。同时注意,alter database backup control file to trace可以产生一个控制文件的文本备份。以下是详细重新创建控制文件的步骤1、关闭数据库SQL>shutdown immediate;2、删除所有控制文件,模拟控制文件的丢失3、启动数据库,出现错误,并不能启动到mount下SQL>startupORA-00205: error in identifying controlfile, check alert log for more info查看报警日志文件,有如下信息alter databasemountMon May 26 11:53:15 2003ORA-00202: controlfile: 'D:\Oracle\oradata\chen\control01.ctl'ORA-27041: unable to open fileOSD-04002: unable to open fileO/S-Error: (OS 2) 系统找不到指定的文件。4、关闭数据库SQL>shutdown immediate;5、在internal或sys下运行如下创建控制文件的脚本,注意完整列出联机日志或数据文件的路径,或修改由alter database backup control file to trace备份控制文件时产生的脚本,去掉多余的注释即可。STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS NOARCHIVELOGMAXLOGFILES 32MAXLOGMEMBERS 2MAXDATAFILES 254MAXINSTANCES 1MAXLOGHISTORY 226LOGFILEGROUP 1 'D:\ORACLE\ORADATA\TEST\REDO01.LOG'SIZE 1M,GROUP 2 'D:\ORACLE\ORADATA\TEST\REDO02.LOG'SIZE 1M,GROUP 3 'D:\ORACLE\ORADATA\TEST\REDO03.LOG'SIZE 1MDATAFILE'D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF','D:\ORACLE\ORADATA\TEST\RBS01.DBF','D:\ORACLE\ORADATA\TEST\USERS01.DBF','D:\ORACLE\ORADATA\TEST\TEMP01.DBF','D:\ORACLE\ORADATA\TEST\TOOLS01.DBF','D:\ORACLE\ORADATA\TEST\INDX01.DBF'CHARACTER SET ZHS16GBK;-- Recovery is required if any of the datafiles are restored backups,-- or if the last shutdown was not normal or immediate.RECOVER DATABASE--if the last shutdown was not normal or immediate--noarchive-- RECOVER DATABASE UNTIL CANCELUSING BACKUP CONTROLFILE--archive-- RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL-- Database can now be opened normally.ALTER DATABASE OPEN;--if recover database until cancel--ALTER DATABASE OPEN RESETLOGS;6、如果没有错误,数据库将启动到open状态下。说明:1、重建控制文件用于恢复全部数据文件的损坏,需要注意其书写的正确性,保证包含了所有的数据文件与联机日志2、经常有这样一种情况,因为一个磁盘损坏,我们不能再恢复(store)数据文件到这个磁盘,因此在store到另外一个盘的时候,我们就必须重新创建控制文件,用于识别这个新的数据文件,这里也可以用这种方法用于恢复
      

  5.   

    ora-01122:database file 1 failed verigication check
    ora-01110;data file 1:'e:\oracle\oradata\ora9i\system01.dbf'
    ora-01207:file is more recent than controlfile-old controlfile嗯 数据文件和控制文件不一致~