ORA-24324&ORA-01041重啟資料庫報錯

來源:互聯網
上載者:User

ORA-24324&ORA-01041重啟資料庫報錯

昨天在重啟Oracle資料庫時報錯,報了ORA-24324和ORA-01041錯誤,下面還原一下報錯過程以及解決問題的過程。

1.環境準備
我們在Oracle 10g+Windows Server 2008中進行實驗。需要說明的是,伺服器上建立了多個資料庫,因此登陸需要指定服務名。

C:\\Users\\Administrator>sqlplus /@hoegh as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on 星期二 5月 19 11:25:33 2015

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

串連到:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

PL/SQL Release 10.2.0.4.0 - Production

CORE 10.2.0.4.0 Production

TNS for 64-bit Windows: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

SQL>


2.報錯
首先執行shutdown關閉資料庫,然後執行startup mount重啟資料庫,報了ORA-24324和ORA-01041錯誤。

SQL> shutdown immediate
 
資料庫已經關閉。

已經卸載資料庫。

ORACLE 常式已經關閉。

SQL>

SQL>

SQL> startup mount;

ORA-24324: 未初始化服務控制代碼

ORA-01041: 內部錯誤, hostdef 副檔名不存在

SQL>
然後,我嘗試重新登入sqlplus,依然報了ORA-01041錯誤


SQL>
 
SQL> exit

從 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options 斷開

C:\\Users\\Administrator>sqlplus /@hoegh as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on 星期三 5月 20 09:28:00 2015

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

ERROR:

ORA-01041: 內部錯誤, hostdef 副檔名不存在

請輸入使用者名稱:


3.Trouble-shooting
通過尋找原因,知道這個報錯的根本原因是監聽中已經沒有了執行個體的註冊資訊;可能和多資料庫有關,於是我嘗試指定ORACLE_SID,問題順利解決。


C:\\Users\\Administrator>
 
C:\\Users\\Administrator>set ORACLE_SID=HOEGH

C:\\Users\\Administrator>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on 星期三 5月 20 09:31:03 2015

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

已串連到空閑常式。

SQL> startup mount;

ORACLE 常式已經啟動。

Total System Global Area 2415919104 bytes

Fixed Size 2165960 bytes

Variable Size 1767568184 bytes

Database Buffers 637534208 bytes

Redo Buffers 8650752 bytes

資料庫裝載完畢。

SQL>


4.總結
現在明白這個報錯的根本原因是監聽中已經沒有了執行個體的註冊資訊,我是通過指定ORACLE_SID,進而提供了執行個體資訊,順利解決了問題;以上內容只是給大家提供一種解決問題的思路,我看網上也有其他不同的解決辦法,可能是故障情境不盡相同,大家在解決類似問題時都可以參考一下,包括:
1.重啟監聽程式;
2.重啟sqlplus;
3.登陸伺服器本機重啟資料庫;

相關文章

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.