情境如下:
oracle是裝在windows server 2003上的,之前oracle還連接正常,但程序忽然報出“could not get jdbc connection”的異常,用pl/sql連接oracle,同時報出兩條錯誤:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
先遠程到windows server 2003 機器上,重啓了oracle服務,嘗試連接,失敗;
又重啓了整個windows機器,嘗試連接,失敗;
去網上搜尋答案,得到以下兩種解決方法:
1 在oracle安裝目錄,C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN下找到SQLNET.AUTHENTICATION_SERVICES= (NTS),將NTS該爲NONE,重啓服務,嘗試連接,失敗;
2 svrmgrl
connect internal/oracle
shutdown immediate
startup
這種方法沒試
又搜尋答案,找到一句解釋:
數據庫關閉後佔用的內存未釋放乾淨。重啓機器或者用命令清理未釋放的內存
於是乎,我以sysdba連接到oracle,重啓實例,嘗試連接,搞定。如下:
在cmd下,運行 sqlplus /nolog
connect / as sysdba
startup