ORACLE誤刪資料檔案導致ORA 01033錯誤

2021-06-03 04:35:49 字數 1913 閱讀 2500

既然提示說是初始化或關閉還在進行中,我就關閉資料庫,再一步步開啟看報什麼錯。

sql> conn / as sysdba

connected.

sql> show user

user is "sys"

sql> select * from dual;

addr 

indx 

inst_id d

-------- ---------- ---------- -

0366cd54 

0 1 x 

--這裡可以看出dual表中內容不正常了

sql> shutdown normal;

ora-01109: database not open

database dismounted.

oracle instance shut down.

sql> startup mount

oracle instance started.

total system global area 

176160768 bytes

fixed size 

1247948 bytes

variable size 

79693108 bytes

database buffers 

92274688 bytes

redo buffers 

2945024 bytes

database mounted.

sql> alter database open;

alter database open *

error at line 1:

ora-01157: cannot identify/lock data file 6 - see dbwr trace file

ora-01110: data file 6: 'd:/tt.dbf'

這下就很清楚了,找不到資料檔案。

突然想起來昨天早上在論壇上回答乙個朋友的問題,幫他做實驗分析的時候建立了乙個表空間tt,隨便指定了乙個路徑'd:/tt.dbf'。完了到晚上我開啟d盤突然發現有個tt.dbf,忘了自己建立過這個表空間,想都沒想就給刪掉了,最要命的我還是按著shift徹底刪除……

想了想,決定把錶空間刪除,應該就可以了,可惜結果不是這麼簡單。

sql> select a.name from v$tablespace a,v$datafile b

2 where a.ts#=b.ts#;

name

------------------------------

system

undotbs1

sysaux

users

example

tt6 rows selected.

sql> drop tablespace tt including contents and datafiles;

drop tablespace tt including contents and datafiles *

error at line 1:

ora-01109: database not open

資料庫沒開啟,不讓刪除。好吧,我想到了表空間offline或者資料檔案offline。

sql> alter database datafile 'd:/tt.dbf' offline for drop;

database altered.

sql> alter database open;

database altered.

sql> select * from dual; d

- x

sql> drop tablespace tt including contents and datafiles;

tablespace dropped.

oracle資料檔案誤刪解決辦法

一 由於資料檔案被刪 資料庫啟動不了 即登入不了資料庫 如下圖 img 解決方法 1 cmd 2 sqlplus sys oracle as sysdba 即以sysdba身份登入 3 shutdown 4 startup 將出現如圖錯誤 顯示哪個檔案被誤刪 複製被刪的檔案 如 c aaa.dbf ...

oracle資料檔案強制刪除導致無法啟動的解決辦法

我的資料庫因為手賤,強制刪除了幾個表空間導致無法啟動資料庫。因為資料庫啟動的時候要載入這些資料,而資料庫找不到這些資料,所以導致無法啟動。具體的錯誤 ora 01033 oracle initialization or shutdown in progress 解決的方法 將這些檔案設定為離線檔案,...

Oracle誤刪 DBF檔案導致資料庫連線不上解決

由於之前刪點東西,不小心把oracle中的乙個.dbf檔案給刪除了。導致了我資料庫一直連線不上,加上有乙個多月沒有使用oracle,所以弄了乙個早上才解決。下面我就來總結一下解決方法 1.以管理員的身份執行cmd,輸入 sqlplus nolog 2.接著輸入 conn sys orcl as sy...