"ORA-01012: not logged on"以及"Connected to an idle instance."解決思路


今天測試用的ORACLE服務器出現卡頓情況,於是准備重啟一下,在運行shutdown指令關閉數據庫的時候意外斷開連接,后面想再次進入ORACLE服務器啟動時便遇見如下報錯:

  • 使用sqlplus /nolog進入SQL Plus后,想連接數據庫conn username/password as sysdba時,會報Connected to an idle instance.錯誤。
  • 在SQL Plus界面,想直接startup啟動數據庫時,會報ORA-01012: not logged on錯誤。

通過查閱資料,判斷報錯原因是在關閉數據庫意外退出后,ORACLE一直處於鎖定狀態,不再允許其他操作。

個人的解決方法是:

  • 先關閉ORACLE進程:
ps -ef|grep ora_dbw0_$ORACLE_SID //找到ORACLE進程
kill -9 PID //通過找到的進程PID號kill掉該進程
  • 然后重啟ORACLE:
sqlplus /nolog //進入SQL Plus
startup //啟動ORACLE

最后附上關閉ORACLE的命令說明,以免造成錯誤的關閉操作:

  • shutdown normal(所有連接斷開后關閉數據庫)
  • shutdown transactional(所有事務結束后主動斷開連接,並關閉數據庫)
  • shutdown immediate(主動斷開連接和事務)
  • shutdown abort(立即關閉數據庫,由於該操作不會同步數據,清空回滾段,不觸發檢查點,所以比較危險,每次啟動需要實例恢復)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM