今天在测试库上连接数据库时遇到了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,首先查看数据和监听是否开启,发现正常
SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
2,看oracle_home,oracle_sid否设置正确 , 发现还是正常
echo ORACLE_HOEM
echo ORACLE_SID
3,客户端TNSPING也正常
[oracle@HIS$ 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.10.77.23)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = siebtest)))
OK (0 msec)
listener 配置没有问题。。。
4,查看alert.log也没有发现异常
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.10.77.23)(PORT=1521)(SID=test))';
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 (c) 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>