首先:問題的產(chǎn)生原因,出現(xiàn)這個(gè)錯誤是因?yàn)槲覍oracle\product\10.1.0\oradata\oral下的一個(gè)文件刪除掉后出現(xiàn)的。
利用sql語句語句創(chuàng)建表空間時(shí)弄錯了,就一時(shí)心急把創(chuàng)建的文件刪除了。結(jié)果問題就出來了。sysdba可以登錄,但是在使用中就出現(xiàn)“數(shù)據(jù)庫未打開,僅允許在固定表/視圖中查詢”,而normal用戶無法登錄使用,出現(xiàn)ORA-01033: ORACLE initialization or shutdown in progress 的錯誤。
分析:這個(gè)錯誤的原因應(yīng)該是Oracle在啟動后,用戶登錄時(shí)是要將方案中原有配置信息裝載進(jìn)入,裝載過程中配置中有文件未找到,所以就報(bào)出錯誤。
解決過程:
C:\Documents and Settings\DHai>sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 9月 28 14:35:38 2009
Copyright (c) 1982, 2004, Oracle. All rights reserved.
SQL> connect sys/123 as sysdba;
已連接。
SQL> shutdown normal
ORA-01109: 數(shù)據(jù)庫未打開
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup mount;
ORACLE 例程已經(jīng)啟動。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
數(shù)據(jù)庫裝載完畢。
SQL> alter database open;
alter database open
*
第 1 行出現(xiàn)錯誤:
ORA-01589: 要打開數(shù)據(jù)庫則必須使用 RESETLOGS 或 NORESETLOGS 選項(xiàng)
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出現(xiàn)錯誤:
ORA-01157: 無法標(biāo)識/鎖定數(shù)據(jù)文件 6 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數(shù)據(jù)文件 6: 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORAL\FSCREDIT40'
SQL> alter database datafile 6 offline drop;
數(shù)據(jù)庫已更改。
SQL> alter database open resetlogs;
數(shù)據(jù)庫已更改。
SQL> alter database datafile 6 offline drop;
數(shù)據(jù)庫已更改。
SQL> alter database open;
alter database open
*
第 1 行出現(xiàn)錯誤:
ORA-01531: 例程已打開數(shù)據(jù)庫
SQL>shutdown normal
提示:數(shù)據(jù)庫已經(jīng)關(guān)閉
已經(jīng)卸載數(shù)據(jù)庫
ORACLE 例程已經(jīng)關(guān)閉
SQL> startup mount;
ORACLE 例程已經(jīng)啟動。
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
數(shù)據(jù)庫裝載完畢。
到此,問題解決了。