您好,登錄后才能下訂單哦!
2015-03-16 01:20 | 160511人閱讀 | 來(lái)源
Oracle登錄 ORA-01033: ORACLE正在初始化或關(guān)閉的解決方法
Oracle存在多實(shí)例
相應(yīng)的在DOS命令下執(zhí)行:
1. 設(shè)置正確的ORACLE實(shí)例:set ORACLE_SID = INSTANCE_NAME
2. 啟動(dòng)SQLPLUS:sqlplus /nolog
3.以DBA(通常有好幾個(gè)sys或system)用戶(hù)sqlplus登錄:connect system/sys as sysdba
oracle登錄錯(cuò)誤(ORA-01033:ORACLE initialization or shutdown in progress
上面說(shuō)到了創(chuàng)建表分區(qū)的例子,所以創(chuàng)建表空間的時(shí)候創(chuàng)建了好幾個(gè)表空間物理文件,之后感覺(jué)創(chuàng)建的有誤,想刪掉它們,可是刪不掉(因?yàn)閿?shù)據(jù)庫(kù)進(jìn)程啟動(dòng)著),所以把數(shù)據(jù)庫(kù)服務(wù)給關(guān)了,直接Shift+Del把文件給刪掉了。
問(wèn)題出來(lái)了:我再次啟動(dòng)oracle相關(guān)服務(wù)后,登錄不了了。
出現(xiàn)了ORA-01033:ORACLE initialization or shutdown in progress
原因就是因?yàn)槲野呀橘|(zhì)文件給刪掉了
解決步驟:
以DBA(通常有好幾個(gè)sys或system)用戶(hù)sqlplus登錄
請(qǐng)輸入用戶(hù)名: system/sys as sysdba
然后(卸載數(shù)據(jù))輸入:
SQL> shutdown normal
會(huì)出現(xiàn):
ORA-01109: 數(shù)據(jù)庫(kù)未打開(kāi)
已經(jīng)卸載數(shù)據(jù)庫(kù)。
ORACLE 例程已經(jīng)關(guān)閉。
然后(裝載數(shù)據(jù))輸入:
SQL> startup mount
ORACLE 例程已經(jīng)啟動(dòng)。
數(shù)據(jù)庫(kù)裝載完畢。
之后:
SQL>alter database open;
第 1 行出現(xiàn)錯(cuò)誤:
ORA-01157: 無(wú)法標(biāo)識(shí)/鎖定數(shù)據(jù)文件 6 - 請(qǐng)參閱 DBWR 跟蹤文件
ORA-01110: 數(shù)據(jù)文件 6: 'D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT'
SQL> alter database create datafile 6;
數(shù)據(jù)庫(kù)已更改。
SQL>alter database open;
第 1 行出現(xiàn)錯(cuò)誤:
ORA-01113: 文件 6 需要介質(zhì)恢復(fù)
ORA-01110: 數(shù)據(jù)文件 6: 'D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT'
SQL> alter database datafile 6 offline drop;
數(shù)據(jù)庫(kù)已更改。
繼續(xù)
SQL>alter database open;
如果出現(xiàn)以上錯(cuò)誤,繼續(xù)執(zhí)行相關(guān)操作,上面的6要和create和drop對(duì)應(yīng)。
如果
SQL> alter database open;
出現(xiàn)了:
數(shù)據(jù)庫(kù)已更改。
則成功了。
這時(shí)可以再用PL/SQL等客戶(hù)端工具,登錄操作數(shù)據(jù)庫(kù)了。
至于介質(zhì)恢復(fù): ora-01172 ora-01151了,解決辦法如下:
c:>sqlplus /nolog
SQL> connect sys/sys@oracle as SYSDBA
已連接
SQL> startup mount
ORA-01081: 無(wú)法啟動(dòng)已在運(yùn)行的 ORACLE --- 請(qǐng)首先關(guān)閉
SQL> alter database open read only;
alter database open read only
*
ERROR 位于第 1 行:
ORA-16005: 數(shù)據(jù)庫(kù)需要恢復(fù)
SQL> recover database
完成介質(zhì)恢復(fù)。
SQL> shutdown immediate
ORA-01109: 數(shù)據(jù)庫(kù)未打開(kāi)
已經(jīng)卸載數(shù)據(jù)庫(kù)。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup
ORACLE 例程已經(jīng)啟動(dòng)。
Total System Global Area 730931140 bytes
Fixed Size 454596 bytes
Variable Size 411041792 bytes
Database Buffers 318767104 bytes
Redo Buffers 667648 bytes
數(shù)據(jù)庫(kù)裝載完畢。
數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)。
今天用客戶(hù)端連接oracle時(shí),發(fā)現(xiàn)報(bào)ORA-01033: ORACLE 正在初始化或關(guān)閉錯(cuò)誤,其實(shí)這個(gè)錯(cuò)誤報(bào)了幾天了,前兩次重啟一下就好了,今天是怎么也起不來(lái)了,通過(guò)在網(wǎng)上查找,很好的就解決了,
首先我用startup mount命令,可以正常,然后用alter database open就會(huì)報(bào)錯(cuò),如下圖
從中可以看出歸檔文件的問(wèn)題,隨后
可以看出改組非當(dāng)前狀態(tài)但已歸檔,所以用clear命令來(lái)重建當(dāng)前組
SQL>alter database clear logfile group 3;
如果是該日志組還沒(méi)有歸檔,則需要用
SQL>alter database clear unarchived logfile group 3;
然后alter database open 數(shù)據(jù)庫(kù)就可以連上了。
我這是在自己本機(jī)上隨便做的,但是如果在生產(chǎn)機(jī)上最好立刻做備份一下。
說(shuō)明:
1)、如果損壞的是非當(dāng)前的聯(lián)機(jī)日志文件,一般只需要clear就可以重建該日志文件,但是如果該數(shù)據(jù)庫(kù)處于歸檔狀態(tài)但該日志還沒(méi)有歸檔,就需要強(qiáng)行clear。
2)、建議clear,特別是強(qiáng)行clear后作一次數(shù)據(jù)庫(kù)的全備份。
3)、此方法適用于歸檔與非歸檔數(shù)據(jù)庫(kù)。
百度經(jīng)驗(yàn):
http://jingyan.baidu.com/article/36d6ed1f6e3bb61bcf4883e1.html
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。