说明:本文转载自:[转载链接](https://blog.csdn.net/u013519551/article/details/53485342) 长久时间未打开oracle,导致oracle监听服务消失了,估计是被杀毒软件清除了吧,花了1天来搜寻解决办法,终究没有成功,最后按照这篇博文的方法(先新建一个oracle的监听服务),终于重启了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 listener

ns 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.ora

listener.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无法打开解决办法相关推荐

  1. oracle注册服务到监听,监听程序未启动或数据库服务未注册到该监听程序解决方法-Oracle...

    监听程序未启动或数据库服务未注册到该监听程序解决方法 oracle中遇到"监听程序未启动或数据库服务未注册到该监听程序" 如下: C:\Users\zhou>emca -re ...

  2. 远程连接桌面黑屏解决方法(Winlogon错误的解决办法)

    远程连接桌面黑屏解决方法(Winlogon错误的解决办法) 参考文章: (1)远程连接桌面黑屏解决方法(Winlogon错误的解决办法) (2)https://www.cnblogs.com/Koke ...

  3. Win7中右下角“小喇叭”声音图标消失的解决方法?(已解决)

    Win7中右下角"小喇叭"声音图标消失的解决方法?(已解决) 1.打开任务管理器. 2.右键explorer.exe选择右键结束. 3.在按ctrl+shift+Esc,或者用al ...

  4. htaccess不起作用的解决方法,AllowOverride All打开后出现403错误时解决办法

    htaccess不起作用的解决方法,AllowOverride All打开后出现403错误时解决办法 参考文章: (1)htaccess不起作用的解决方法,AllowOverride All打开后出现 ...

  5. php 到数据库乱码怎么解决方法,php数据库乱码解决方法

    php数据库乱码解决方法 发布时间:2020-05-20 10:21:44 来源:亿速云 阅读:146 作者:Leah 今天小编就为大家带来一篇介绍php数据库乱码解决方法的文章.小编觉得挺实用的,为 ...

  6. 海贼王热血航线正在连接服务器,《航海王热血航线》登录异常解决方法 无法进入怎么解决...

    在航海王热血航线的游戏中,今日不少玩家在进入游戏时发现,当排队名次到第100名时,就卡住不动无法进入游戏,接下来小编就为大家带来航海王热血航线当前排名100无法进入的解决方法吧.航海王热血航线排队无法 ...

  7. 【小技能】电脑校园网可以登录QQ但不能打开网页解决方法(4种解决方法)

    解决方法如下,希望有所帮助: 1.打开电脑管家--工具箱--网络诊断--根据提示进行网络修复. 2.打开网络连接,点开网络适配器的属性--网络--IPv4,设置如图. 3.打开浏览器--工具--Int ...

  8. EFI PXE 0 for IPv4解决方法,Boot device……解决方法,Windows无法完成安装解决方法

    使用设备 Y7000P2021 目的 系统回退 经过 因之前使用dism++回退失败,出现error  "目标路径无效" ,在PE系统中看到ghost还原,就想试试用ghost还原 ...

  9. msvcp120.dll丢失的解决方法?哪种解决方法比较推荐?

    关于msvcp120.dll丢失的解决方法这个问题,小编最近也经常看到有人在提问,可能这是一个比较容易丢失的文件,小编就来给大家详细的分析一下,说说它的三种解决方法,方便大家以后遇到这种问题,自己知道 ...

  10. 谷歌或其他软件无法下载文件或程序时的解决方法(window官方解决办法)

    无法下载文件或程序时的解决方法 官网: https://support.microsoft.com/zh-cn/help/883260/information-about-the-attachment ...

最新文章

  1. AI公开课:19.05.29 浣军-百度大数据实验室主任《AutoDL 自动化深度学习建模的算法和应用》课堂笔记以及个人感悟
  2. Oracle rowid
  3. ts定义数组类型_ts基本数据类型
  4. 12.JAVA基本数据类型
  5. A cycle was detected in the build path of project
  6. 信息学奥赛一本通 1054:三角形判断 | OpenJudge NOI 1.4 16
  7. Jmeter读取Excel,BeanShell取样器调用rt.jar和jxl.jar
  8. python如何将数据生成excel_Python如何将数据导出excel的技巧分享
  9. 在命令行英雄的浏览器大战中,JavaScript令人惊讶地崛起
  10. gcforest 深度森林原理及实现
  11. c语言安卓图形库cairo,Cairo图形库编辑指南——介绍
  12. mnist手写数字识别与优化
  13. php保存pdf旋转90度,怎么将PDF文件向左旋转90度?这款软件还有旋转功能!
  14. Android中Intent的介绍
  15. 哈哈,原来这叫做“松鼠症”……并谈谈我建议的学习方法
  16. java 调用 ictclas50_中科院分词ICTCLAS5.0_JNI 使用方法
  17. 在线AI日语视频音频翻译中文字幕
  18. openwrt源码分析_Luci流程分析(openwrt下)
  19. 华为VPLS配置案例S6720
  20. 机器学习中为什么需要验证集,验证集与测试集的区别是什么?

热门文章

  1. dota有哪些经典的典故或笑话?
  2. yershop商城系统开发(二)——新浪SAE配置
  3. LC28 Generate Parentheses
  4. 基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化
  5. 计算机电源维修tny279,电源管理芯片TNY279P
  6. 输入一个字符,判断其是否为大写字母,如果是,将他转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
  7. 小饭桌沙盘演戏商战-老友记成长
  8. CAN波特率常规波特率索引值对照表及高级模式
  9. 小米note刷android8.1,【Android 8.1.0】RR-O For Xiaomi Mi Note Pro(小米Note顶配版)
  10. 啊哈C——学习4.10一起来找茬