打开Oracle某数据文件损坏后的数据库

  • 来源: 互联网 作者: rocket   2008-03-19/11:26
  • 系统环境:

    1. 操作系统:Windows 2000 Server,机器内存128M

    2. 数据库:Oracle 8i R2 (8.1.6) for NT 企业版

    3. 安装路径:C:\ORACLE

    错误现象:

    因误操作,数据库中某一数据文件被误删,控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接,显示以下错误:

    ORA-01033: ORACLE initialization or shutdown in progress

    模拟现象:

    create tablespace test datafile
    'c:test.ora' size 5M
    AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
    default storage (initial 128K next 1M pctincrease 0)

    /

    关闭所有服务stop.bat

    net stop "OracleWebAssistant0"
    net stop "OracleOraHome81TNSListener"
    net stop "OracleServiceORADB"
    shutdown

    在操作系统中删除test.ora文件

    重新启动服务start.bat

    net start "OracleWebAssistant0"
    net start "OracleOraHome81TNSListener"
    net start "OracleServiceORADB"

    服务里OracleServiceORADB显示已启动,但用SQL*Plus无法连接,

    显示ORA-01033: ORACLE initialization or shutdown in progress

    解决方法:先让该数据文件脱机,就可以打开数据库

    C:>svrmgrl
    svrmgrl>connect internal
    svrmgrl>shutdown
    svrmgrl>startup mount

    ——ARCHIVELOG模式命令,文件名要大写

    svrmgrl>alter database datafile 'C:TEST.ORA' offline;

    ——NOARCHIVELOG模式命令

    svrmgrl>alter database datafile 'C:TEST.ORA' offline drop;
    svrmgrl>alter database open;

    ——查询数据文件联、脱机状态

    SQL> select file#,name,status from v$datafile;
    SQL> drop tablespace test;

    表空间已丢弃。
     


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多