记录一次ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exis故障【已解决】
本地ORACLE数据库使用了很久了,一直没问题,但是,昨天突然就无法登陆。
报错信息为:ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exis。
百度了好久,都没有查到有效的解决方案,不过在这个过程中也还是对某些文件配置有了更多的了解。
首先建议熟悉以下四个CMD命令,可以方便有效的启动/停止数据库服务和监听服务,毕竟调试过程中会多次地启动/关闭服务和监听。
--启动数据库实例服务(其中oracleserviceorcl为你的数据库实例服务名,可以通过cmd-service.msc查看你的数据库服务名)
net start oracleserviceorcl
--停止数据库实例服务
net start oracleserviceorcl
--启动数据库监听
lsnrctl start
--停止数据库监听
lsnrctl stop
关于这个问题的答案,网上的说辞很多,我大部分都一一尝试了,但是还是没有解决问题。其中,有个方法是查看系统用户和组,但我自身是win10家庭中文版的,所以没有那个功能,网上给出的处理方法是升级系统,但直觉告诉我这种涉及到变更系统或者注册表配置的做法,大多数都不可行,所以决定另辟蹊径。
在D:\app\44972\admin\orcl\pfile(44972为本地用户名)目录下
有名为init.ora的文件,我第一次打开这个目录时,里面有两个文件,并且后面都是跟着一串数字的。网上有方法说把这串数组去掉,但我测试过后,这个方法并不奏效。
在D:\app\44972\product\11.2.0\dbhome_1\NETWORK\ADMIN(44972为本地用户名)目录下
有三个特别重要的ora文件,分别是listener.ora、sqlnet.ora、tnsnames.org,跟网上的方法修改了很多地方,都没有奏效。
打开init.ora文件中注意到一下这段
###########################################
# Network Registration
###########################################
local_listener=LISTENER_ORCL
然后下面是tnsnames.ora的部分
# tnsnames.ora Network Configuration File: D:\app\44972\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
#ORACLR_CONNECTION_DATA =
# (DESCRIPTION =
# (ADDRESS_LIST =
# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
# )
# (CONNECT_DATA =
# (SID = CLRExtProc)
# (PRESENTATION = RO)
# )
# )#LISTENER_ORCL =
#(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))#本机数据库
ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = wuwl)(PORT = 1521)))(CONNECT_DATA =(SID = ORCL)))
在tnsnames.ora文件中关于listener_orcl的信息被注释掉了,将前面的#号去掉,重启服务和监听,居然一下子就可以连接了。
tnsnames.ora这个文件确实修改过几次,来配置数据库别名信息。隐约记得那条注释信息是自己注释掉的,但是注释过后又用了好久才出现这次的连接异常。也有可能一直都没有注释掉,是自己记错了。但是出现异常前,plsql异常关闭了好几次,多半这与本次连接异常有直接关联。
记录一次ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exis故障【已解决】相关推荐
- “ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”
今天打开虚拟机中Oracle数据库,显示如下错误:"ORA-01034 - Oracle not available"和"ORA-27101 - shared mem ...
- oracle not exist报错,oracle连接异常shared memory realm does not exist
1. 先描述一个连接Oracle 10g的错误:"shared memory realm does not exist" 如图所示Sqlplus连接时出现这个错误: 2. Orac ...
- 解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
今天在使用ORACLE数据库时出现这样一个错误,登录时连接失败. 服务器提示: ORA-01034: ORACLE not available ORA-27101: shared memory rea ...
- ORA-27101: shared memory realm does not exist 错误的处理(ORA-01034 - Oracle not available )
ORA-27101: shared memory realm does not exist 错误的处理 试图连接数据库时的ORA-01034 和 ORA-27101错误信息,它总是显示这样的信息, & ...
- Oracle在Windows系统中出现的ORA-27100: shared memory realm already exists 的奇怪现象
整理这篇文章的原因是前段时间帮网友远程解决一个问题时,用startup pfile='d:/1.ora';时总是报错ORA-27100,最后是用oradim删除了服务后再创建服务后解决. 一直比较郁闷 ...
- sqlplus 登录oracle 报ERROR: ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit
1 先看oracle的监听和oracle的服务是否都启动了.启动oracle监听: cmd的命令行窗口下,输入lsnrctl start,回车即启动监听. 2 查看oracle的sid叫什么,比如创建 ...
- error: ora-01034:oracle not available ora-27101:shared memory realm does not exist
解决方法: 1 .先看oracle的监听和oracle的服务是否都启动了.启动oracle监听: cmd的命令行窗口下,输入lsnrctl start,回车即启动监听. 2 .查看oracle的sid ...
- Oracle错误:ORA-27101: shared memory realm does not exist问题解决
初学Oracle,第二天就这种遇到错误 ,查找好久的信息,终于找到了一种实用的解决办法,给同样遇到错误的人一种思路. 错误: ORA-01034:ORACLE not available ORA-27 ...
- oracle创建ora文件,ORACLE配置tnsnames.ora文件实例
ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames ...
最新文章
- 翻译java_翻译示例代码
- linu怎么启动oracle,请问该如何在LINUX下启动ORACLE?
- de casteljau算法_泊松分布算法的应用:开一家4S店
- windows server 2008解决无法PING通问题
- 音视频技术开发周刊 | 240
- 报错显示从客户端检测到有潜在危险的Request.Form 值
- Windows 中自定义Error Codes
- 实验3 编程、编译、链接、跟踪
- 为啥月饼也能变成期货?
- 三维空间中判断射线与平面是否相交
- Linux命令之snmpwalk命令
- onpropertychange
- 为什么你在互联网上搞不到钱?
- JavaScript 生成弹性透明的图片放大代码
- #Ubuntu# #机械键盘# 功能键/多媒体键切换无效
- 利用requests库和Xpath爬取猫眼电影榜单【Python】
- loaders之val-loader
- Markdown里面的序列图
- # Linux学习笔记
- 区块链如何分析这些涨涨跌跌
热门文章
- 如何在Python中表示一个无限数?
- java左右值_为什么C/C++等少数编程语言要区分左右值?
- List集合中数据用set集合去重复,用set集合去重复数据重写了equals还是没成功!
- php和fastapi,FastAPI快速开始
- 比较版本号大小c语言,比较两个版本字符串version1和version2
- msyql之解决mysql出现ERROR 1698 (28000): Access denied的问题
- java串口发送十六进制数,本文实例为大家分享了Java实现串口通信的具体代码,供大家参考,具体内容如下1.介绍使用Java实现的串口通信程序,支持十六进制数据的发送与接收。 源码:...
- perf script 执行时间_在Python中准确地测量代码执行时间
- 如何调试程序的 Release 版本
- MySQL——优化ORDER BY语句