程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 如何打開某個數據文件損害的數據庫

如何打開某個數據文件損害的數據庫

編輯:Oracle數據庫基礎
系統環境: 
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;

表空間已丟棄
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved