【Oracle資料庫】誤刪資料表空間檔案【ora-01033ORA-01110】解決辦法

來源:互聯網
上載者:User

標籤:io   os   ar   使用   sp   檔案   資料   on   2014   

今天整理電腦檔案,誤刪了資料庫檔案,導致串連資料庫時報錯:
ora-01033:oracle initialization or shutdown in progress

在DOS視窗下恢複檔案過程記錄如下:

Microsoft Windows [版本 6.1.7601]
著作權 (c) 2009 Microsoft Corporation。著作權所有,並保留一切權利。

C:\Users\Administrator>set ORACLE_SID=orcl

C:\Users\Administrator>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:\ORACLETABLESPACE\STUDENT.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:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> recover datafile 7
ORA-00283: 恢複會話因錯誤而取消
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> startup mount
ORA-01081: 無法啟動已在啟動並執行 ORACLE - 請首先關閉它
SQL> recover datafile 7
ORA-00283: 恢複會話因錯誤而取消
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘

SQL> recover datafile 7
ORA-00283: 恢複會話因錯誤而取消
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> recover datafile 7
ORA-00283: 恢複會話因錯誤而取消
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘


SQL> select flashback_on from vdatabase;
select flashback_on from vdatabase
                         *
第 1 行出現錯誤:
ORA-01219: 資料庫未開啟: 僅允許在固定表/視圖中查詢


SQL> recover datafile ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-00283: 恢複會話因錯誤而取消
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.DBL‘
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 7: ‘G:\ORACLETABLESPACE\STUDENT.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:\ORACLETABLESPACE\STUDENT.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:\ORACLETABLESPACE\STUDENT.DBL‘

SQL> alter database datafile ‘G:\ORACLETABLESPACE\STUDENT.DBL‘ offline drop;

Database altered.

SQL> alter database datafile ‘G:\ORACLETABLESPACE\STUDENT.DBL‘ offline drop;

Database altered.

SQL> alter database open;

Database altered.

SQL>

***********************************************************
至此,恢複完成,資料庫可串連正常使用。

原理:資料庫啟動到nomount狀態,找到初始化參數檔案(inittestDB.ora),根據這個定位到控制檔案;

【Oracle資料庫】誤刪資料表空間檔案【ora-01033ORA-01110】解決辦法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.