• 【Oracle数据库】误删表空间文件【ora-01033ORA-01110】解决办法


    今天整理电脑文件,误删了数据库文件,导致连接数据库时报错:
    ora-01033:oracle initialization or shutdown in progress

    在DOS窗口下恢复文件过程记录如下:

    Microsoft Windows [版本 6.1.7601]
    版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

    C:UsersAdministrator>set ORACLE_SID=orcl

    C:UsersAdministrator>sqlplus "/as sysdba"

    SQL*Plus: Release 11.2.0.1.0 Production on 星期四 10月 16 15:27:47 2014

    Copyright (c) 1982, 2010, Oracle.  All rights reserved.


    连接到:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL> shutdown immediate
    ORA-01109: 数据库未打开


    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> start
    SP2-1506: START, @ 或 @@ 命令没有参数
    SQL> startup
    ORACLE 例程已经启动。

    Total System Global Area 3373858816 bytes
    Fixed Size                  2180424 bytes
    Variable Size            1845496504 bytes
    Database Buffers         1509949440 bytes
    Redo Buffers               16232448 bytes
    数据库装载完毕。
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> shutdown immediate
    ORA-01109: 数据库未打开


    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mout
    SP2-0714: 无效的        STARTUP 选项组合
    SQL> startup mount
    ORACLE 例程已经启动。

    Total System Global Area 3373858816 bytes
    Fixed Size                  2180424 bytes
    Variable Size            1845496504 bytes
    Database Buffers         1509949440 bytes
    Redo Buffers               16232448 bytes
    数据库装载完毕。
    SQL> recover datafile 7
    ORA-00283: 恢复会话因错误而取消
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> recover datafile 7
    ORA-00283: 恢复会话因错误而取消
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> startup mount
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    SQL> recover datafile 7
    ORA-00283: 恢复会话因错误而取消
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'

    SQL> recover datafile 7
    ORA-00283: 恢复会话因错误而取消
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> recover datafile 7
    ORA-00283: 恢复会话因错误而取消
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> select flashback_on from vdatabase;
    select flashback_on from vdatabase
                             *
    第 1 行出现错误:
    ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询


    SQL> recover datafile 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-00283: 恢复会话因错误而取消
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'
    ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件
    ORA-01110: 数据文件 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> select file_name,file_id,tablespace_name from dba_data_files;
    select file_name,file_id,tablespace_name from dba_data_files
                                                  *
    第 1 行出现错误:
    ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询


    SQL> startup mount;
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    SQL> alter session set nld_language=american;
    alter session set nld_language=american
                      *
    第 1 行出现错误:
    ORA-02248: 无效的 ALTER SESSION 选项


    SQL> alter session set nls_language=american;

    Session altered.

    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
    ORA-01110: data file 7: 'G:ORACLETABLESPACESTUDENT.DBL'


    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 7 - see DBWR trace file
    ORA-01110: data file 7: 'G:ORACLETABLESPACESTUDENT.DBL'

    SQL> alter database datafile 'G:ORACLETABLESPACESTUDENT.DBL' offline drop;

    Database altered.

    SQL> alter database datafile 'G:ORACLETABLESPACESTUDENT.DBL' offline drop;

    Database altered.

    SQL> alter database open;

    Database altered.

    SQL>

    ***********************************************************
    至此,恢复完成,数据库可连接正常使用。

    原理:数据库启动到nomount状态,找到初始化参数文件(inittestDB.ora),根据这个定位到控制文件;

  • 相关阅读:
    UESTC cdoj 619 吴神,人类的希望 (组合数学)
    Codeforces Round #317 (Div. 2) D Minimization (贪心+dp)
    Codeforces Round #317 div2 E div1 C CNF 2 (图论,匹配)
    Codeforces Round #317 (Div. 2) C Lengthening Sticks (组合,数学)
    UVA 1412 Fund Management (预处理+状压dp)
    UVA
    codeforces Gym 100338F Spam Filter 垃圾邮件过滤器(模拟,实现)
    WebSocket 学习教程(二):Spring websocket实现消息推送
    dwr的ScriptSession和HttpSession分析
    WebSocket 学习教程(一):理论
  • 原文地址:https://www.cnblogs.com/yinhf/p/4051882.html
Copyright © 2020-2023  润新知