情境如下:
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