ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-01034 :oracle not available ora-27101

ORA-01034 :oracle not available ora-27101

原创 Linux操作系统 作者:yhj20041128001 时间:2011-09-29 11:53:22 0 删除 编辑

新建立的數據庫,新配置listener.ora文件,然後客戶端連接數據庫,發現報如下錯:
ORA -01034: ORACLE not available

ORA-27101:shared memory realm does not exist :

1。看內核參數設置和alert.log文件

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 2010 285420 2010 142
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
vm.swappiness = 0
fs.aio-max-nr = 3145728
vm.overcommit_ratio = 10
vm.dirty_ratio = 20
vm.nr_hugepages = 25602
看后數據庫參數沒有問題,內存夠用,數據庫在正常狀態。

SQL> select name,open_mode from v$database;

NAME                        OPEN_MODE
--------------------------- ------------------------------
OGG                         READ WRITE

2.之后发现在报错之后,继续输入用户名和密码确可以登陆

3.查看sqlnet.log日志

28-9?-2011 22:03:16 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ogg)(CID=(PROGRAM=C:\Program Files\Quest Soo
ftware\Toad for Oracle\TOAD.exe)()) * (ADDRESS=(PROTOCOL=tcp)(HOST=10)(PORT=2760)) * establish * ogg * 12514
TNS-12514: TNS:listener does not currently know of service requested in connect descriptor
28-9?-2011 22:03:19 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ogg)(CID=(PROGRAM=C:\Program Files\Quest Soo
ftware\Toad for Oracle\TOAD.exe)())) * (ADDRESS=(PROTOCOL=tcp)(HOST=10)(PORT=2764)) * establish * ogg * 12514
TNS-12514: TNS:listener does not currently know of service requested in connect descriptor

4.检查listener是否配置正确

# listener.ora Network Configuration File: /oracle/10205/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/10205)
      (PROGRAM = extproc)
    )
      (SID_DESC =
        (ORACLE_HOME = /oracle/10205)
        (SID_NAME = OGG)
      )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.172.113.130)(PORT = 1521))
    )
  )

~HRTESTDB$tnsping ogg

TNS Ping Utility for Linux: Version 10.2.0.5.0 - Production on 29-9?-2011 03:02:48

Copyright (c) 1997,  2010, Oracle.  All rights reserved.

Used parameter files:
/oracle/10205/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.172.113.130)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ogg)))
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.172.113.130)(PORT=1521)(SID=OGG))';

System altered.

或者 SQL>alter system set local_listener='OGG' sid='ogg';
SQL> alter system register;

System altered.
7.再次登陸數據庫,成功。

總結:   

 如果LOCAL_LISTENER丢失,会导致自动实例注册失败,数据库实例不会识别Listener,当Listener连接

数据库实例的时候,由于Listener没有注册,导致了 ORA-27101: shared memory realm does not exist.

疑问:


~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23757700/viewspace-708505/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: external table
下一篇: ora報錯
请登录后发表评论 登录
全部评论

注册时间:2010-09-17

  • 博文量
    174
  • 访问量
    390264