ORA-01034: ORACLE not available、ORA-27101: shared memory realm does not exist
发生缘由
学习 Oracle 的使用,结果关机之后重新使用 SQLPlus 发现无法登录
-- windows server 2003 使用 sqlplus连接oracle报错 C:\Documents and Settings\Adminstrator> sqlplus system/linxuan ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exist
运行环境
-
VMware Workstation:VMware Workstation 15Pro 15.1.0 build-13591040
-
虚拟机版本:Windows Server 2003
-
Oracle 版本:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
问题解决
-
ORA-01034 主要是 oracle 当前的服务不可用,ORA-27101是因为 oracle 没有启动或没有正常启动,共享内存并没有分配给当前实例。所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报 ORA-01034 和 ORA-27101 两个启动异常了。
-
可能是登录数据库后,不正常的退出,比如直接关掉窗口,而这时数据库里有未完成的动作,再次登录时就会提示
insufficient privileges
的报错 -
可能是虚拟机的共享内存问题
这里我的是第一种原因,所以输入下面的命令就好了:
C:\Documents and Settings\Administrator>sqlplus system/linxuan SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 7 16:35:46 2023 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist -- 先看oracle的监听和oracle的服务是否都启动了。 -- 启动oracle监听 C:\Documents and Settings\Adminstrator> lsnrctl start -- 手工设置一下oralce的sid,我们的是orcl C:\Documents and Settings\Adminstrator> set ORACLE_SID=orcl -- 运行sqlplus,进入环境。但是不登录到数据库服务器,想要以系统管理员身份登录可以使用这种方法 + 下面命令 C:\Documents and Settings\Administrator>sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 7 16:40:17 2023 Copyright (c) 1982, 2005, Oracle. All rights reserved. -- 管理员身份登录 SQL> conn / as sysdba; 已连接到空闲例程。 -- 启动Oracle数据库 SQL> startup ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250452 bytes Variable Size 264244076 bytes Database Buffers 343932928 bytes Redo Buffers 2940928 bytes 数据库装载完毕。 数据库已经打开。 -- 测试一下 发现没有任何问题 SQL> select * from user_tables;
亦或是使用下面这个方式
C:\Documents and Settings\Administrator>sqlplus system/linxuan SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 7 16:47:17 2023 Copyright (c) 1982, 2005, Oracle. All rights reserved. ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist -- 直接以系统管理员身份登录,这种方式比上面的方式简单 -- sys是用户名、/后面是密码,sys登陆后面必须跟上as sysdba。 C:\Documents and Settings\Administrator>sqlplus sys/linxuan as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 7 16:47:26 2023 Copyright (c) 1982, 2005, Oracle. All rights reserved. 已连接到空闲例程。 -- 启动Oracle数据库 SQL> startup ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250452 bytes Variable Size 268438380 bytes Database Buffers 339738624 bytes Redo Buffers 2940928 bytes 数据库装载完毕。 数据库已经打开。 -- 测试一下 发现没有任何问题 SQL> select * from user_tables;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具