转载:ORA-01034和ORA-27101的解决方法,oracle无法打开解决办法
1 先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:
cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。
2 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫“orcl”,那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=orcl
3 再输入sqlplus /nolog,回车
再输入 conn / as sysdba;回车
4 再输入startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。
5 过几秒钟等命令运行完成,就能连接了。这个时候,可以输入"select * from user_tables;"测试一下,看是否有查询结果。
6 出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例.所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。
今天在测试库上遇到了ORA-27101的错误,当通过客户端连接到db时返回如下:
[oracle@bluerin admin]$ sqlplus system/oracle@test
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Aug 10 11:05:04 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
对于这个问题第一印象,可能会觉得没有足够的内存空间,来创建共享内存段
1.首先检查内核参数设置以及alert.log 文件
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
查看后都没有问题,主机有足够的内存,数据库也已经在启动状态:
SQL>>>select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
2.之后发现在报错之后,继续输入用户名和密码确可以登陆
Enter user-name: system
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
3.查看sqlnet.log日志
[oracle@bluerin log]$ pwd
/u01/app/product/11.1.0/db_1/network/log
[oracle@bluerin log]$ cat
sqlnet.log
Directory does not exist for read/write
[/u01/app/product/11.1.0/db_1/log]
[/u01/app/product/11.1.0/db_1/log/diag/clients]***********************************************************************
Fatal NI connect error 12541, connecting to:(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.201.1.134)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Oracle8)(CID=(PROGRAM=java@localhost)(HOST=localhost)(USER=oracle))))
VERSION INFORMATION:
TNS for
Linux: Version 11.1.0.6.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.1.0.6.0 -
Production
Time: 05-AUG-2010 18:30:51
Tracing
not turned on.
Tns error struct:
ns main
err code: 12541
TNS-12541: TNS:no listenerns secondary err code: 12560
nt main
err code: 511
TNS-00511: No listener
nt secondary err code: 111
nt OS err code:
0***********************************************************************
提示找不到listener…
4.检查listener是否配置正确
[oracle@bluerin alert]$ cat
/u01/app/product/11.1.0/db_1/network/admin/listener.oralistener.ora Network Configuration File: /u01/app/product/11.1.0/db_1//network/admin/listener.ora
#Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /u01/app/product/11.1.0/db_1)
(SID_NAME = siebtest)
)
)LISTENER =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)(HOST = 10.201.1.134)(PORT = 1521))
)[oracle@bluerin ~]$ tnsping test
Used parameter files:/u01/app/product/11.1.0/db_1/network/admin/sqlnet.ora
Used
TNSNAMES adapter to resolve the alias
Attempting to contact
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
10.201.1.134)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = siebtest)))
OK (0 msec)
listener 配置没有问题。。。
5.由于实例已经在启动的状态,这时候考虑到实例注册的问题
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
发现local_listener没有值。。。。。
6.设置local_listener参数
SQL> alter system set local_listener=’(ADDRESS =(PROTOCOL=TCP)(HOST=10.201.1.134)(PORT=1521)(SID=siebtest))’;
System altered.
SQL> alter system register;
System altered.
7.再次登陆成功
[oracle@bluerin alert]$ sqlplus system/oracle@test
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Aug 10 12:51:11 2010
Copyright © 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
总结:
如果LOCAL_LISTENER丢失,会导致自动实例注册失败,数据库实例不会识别Listener,当Listener连接
数据库实例的时候,由于Listener没有注册,导致了 ORA-27101: shared memory realm does not exist.
转载:ORA-01034和ORA-27101的解决方法,oracle无法打开解决办法相关推荐
- oracle注册服务到监听,监听程序未启动或数据库服务未注册到该监听程序解决方法-Oracle...
监听程序未启动或数据库服务未注册到该监听程序解决方法 oracle中遇到"监听程序未启动或数据库服务未注册到该监听程序" 如下: C:\Users\zhou>emca -re ...
- 远程连接桌面黑屏解决方法(Winlogon错误的解决办法)
远程连接桌面黑屏解决方法(Winlogon错误的解决办法) 参考文章: (1)远程连接桌面黑屏解决方法(Winlogon错误的解决办法) (2)https://www.cnblogs.com/Koke ...
- Win7中右下角“小喇叭”声音图标消失的解决方法?(已解决)
Win7中右下角"小喇叭"声音图标消失的解决方法?(已解决) 1.打开任务管理器. 2.右键explorer.exe选择右键结束. 3.在按ctrl+shift+Esc,或者用al ...
- htaccess不起作用的解决方法,AllowOverride All打开后出现403错误时解决办法
htaccess不起作用的解决方法,AllowOverride All打开后出现403错误时解决办法 参考文章: (1)htaccess不起作用的解决方法,AllowOverride All打开后出现 ...
- php 到数据库乱码怎么解决方法,php数据库乱码解决方法
php数据库乱码解决方法 发布时间:2020-05-20 10:21:44 来源:亿速云 阅读:146 作者:Leah 今天小编就为大家带来一篇介绍php数据库乱码解决方法的文章.小编觉得挺实用的,为 ...
- 海贼王热血航线正在连接服务器,《航海王热血航线》登录异常解决方法 无法进入怎么解决...
在航海王热血航线的游戏中,今日不少玩家在进入游戏时发现,当排队名次到第100名时,就卡住不动无法进入游戏,接下来小编就为大家带来航海王热血航线当前排名100无法进入的解决方法吧.航海王热血航线排队无法 ...
- 【小技能】电脑校园网可以登录QQ但不能打开网页解决方法(4种解决方法)
解决方法如下,希望有所帮助: 1.打开电脑管家--工具箱--网络诊断--根据提示进行网络修复. 2.打开网络连接,点开网络适配器的属性--网络--IPv4,设置如图. 3.打开浏览器--工具--Int ...
- EFI PXE 0 for IPv4解决方法,Boot device……解决方法,Windows无法完成安装解决方法
使用设备 Y7000P2021 目的 系统回退 经过 因之前使用dism++回退失败,出现error "目标路径无效" ,在PE系统中看到ghost还原,就想试试用ghost还原 ...
- msvcp120.dll丢失的解决方法?哪种解决方法比较推荐?
关于msvcp120.dll丢失的解决方法这个问题,小编最近也经常看到有人在提问,可能这是一个比较容易丢失的文件,小编就来给大家详细的分析一下,说说它的三种解决方法,方便大家以后遇到这种问题,自己知道 ...
- 谷歌或其他软件无法下载文件或程序时的解决方法(window官方解决办法)
无法下载文件或程序时的解决方法 官网: https://support.microsoft.com/zh-cn/help/883260/information-about-the-attachment ...
最新文章
- AI公开课:19.05.29 浣军-百度大数据实验室主任《AutoDL 自动化深度学习建模的算法和应用》课堂笔记以及个人感悟
- Oracle rowid
- ts定义数组类型_ts基本数据类型
- 12.JAVA基本数据类型
- A cycle was detected in the build path of project
- 信息学奥赛一本通 1054:三角形判断 | OpenJudge NOI 1.4 16
- Jmeter读取Excel,BeanShell取样器调用rt.jar和jxl.jar
- python如何将数据生成excel_Python如何将数据导出excel的技巧分享
- 在命令行英雄的浏览器大战中,JavaScript令人惊讶地崛起
- gcforest 深度森林原理及实现
- c语言安卓图形库cairo,Cairo图形库编辑指南——介绍
- mnist手写数字识别与优化
- php保存pdf旋转90度,怎么将PDF文件向左旋转90度?这款软件还有旋转功能!
- Android中Intent的介绍
- 哈哈,原来这叫做“松鼠症”……并谈谈我建议的学习方法
- java 调用 ictclas50_中科院分词ICTCLAS5.0_JNI 使用方法
- 在线AI日语视频音频翻译中文字幕
- openwrt源码分析_Luci流程分析(openwrt下)
- 华为VPLS配置案例S6720
- 机器学习中为什么需要验证集,验证集与测试集的区别是什么?
热门文章
- dota有哪些经典的典故或笑话?
- yershop商城系统开发(二)——新浪SAE配置
- LC28 Generate Parentheses
- 基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化
- 计算机电源维修tny279,电源管理芯片TNY279P
- 输入一个字符,判断其是否为大写字母,如果是,将他转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
- 小饭桌沙盘演戏商战-老友记成长
- CAN波特率常规波特率索引值对照表及高级模式
- 小米note刷android8.1,【Android 8.1.0】RR-O For Xiaomi Mi Note Pro(小米Note顶配版)
- 啊哈C——学习4.10一起来找茬