花一天半的时间解决客户端连接服务端的oracle数据库,无法连接问题。ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not   exist 分析:
前几天还可以连接数据库,但是昨天开始,本地无缘无故的不能连接服务端数据库。网上很多人说造成这个问题的原因是异常关机

,数据库没有在关机之前关闭。我公司人说在前几天确实有人重启过电脑,就当是这个原因吧,有时间一定要把真正原因找出来。

下面主要的任务还是解决问题先。遇到问题的详细过程:

通过plsql访问数据报错:ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not

exist(共享内存领域不存在);通过程序登录同样报这个错误。

遇到这种问题,大部分人第一步想到的是检查服务端配置文件是否有问题,所以打开你的Oracle安装路径(这里必须是服务端的,

因为服务端才有监听文件listener.ora,客户端只有sqlnet.ora和tnsnames.ora两个文件)主目录下面的Admin文件夹有三个文件(

我的服务端安装路径是:E:\opt\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN) ,分别是:listener.ora和sqlnet.ora和

tnsnames.ora。打开sqlnet.ora和tnsnames.ora 匹配本地(就是你本地的Oracle客户端主目录)的两个文件sqlnet.ora和

tnsnames.ora,检查两个tnsnames.ora的ip和prot是否一致,必须要相同。下面本人分享下本人能正常访问的,服务端和客户端两

个文件全部的参数配置 分别是本地:sqlnet.ora本地:tnsnames.ora 服务端:sqlnet.ora 服务端:tnsnames.ora 如下:

本地客户端sqlnet.ora 配置文件全部copy如下:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

服务端sqlnet.ora 配置文件全部copy如下:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)

ADR_BASE = E:\opt\oracle\product\11.2.0\dbhome_1\log

本地客户端tnsnames.ora和服务端tnsnames.ora也是一样的:tnsnames.ora配置文件全部copy如下:

# tnsnames.ora Network Configuration File: C:\instantclient_12_1\tnsnames.ora
# Generated by Oracle configuration tools.
CCNF2008 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 180.166.155.134)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ccnf_2008)
)
)
前面打星号的可以忽略。CCNF2008是本地客户连接数据库的别名,plsql登录的入口的,数据库输入框就是填写它了。prot=1521不

用多说。SERVICE_NAME的值就是ccnf_2008 是你在服务端实例化出来的数据库名称。其他参数照搬。

服务端的listener.ora文件全部copy下面如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ccnf_2008)
(ORACLE_HOME = E:\opt\oracle\product\11.2.0\dbhome_1)
(SID_NAME = ccnf_2008)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =180.166.155.134)(PORT = 1521))
)

ADR_BASE_LISTENER = E:\opt\oracle\product\11.2.0\dbhome_1\log

检查完上面三个文件ip,端口,和其他参数都匹配就可以排除不是配置文件原因。

排除配置文件原因后,需要用netmanager管理器使用用户测试连接是否成功,如果用户登录测试成功,在外网telnet ip+端口命令

连接失败,说明是网络端口没有对外开放,需要建立端口1521的出入站规则。如果还不行,进入cmd,命令:lsnrctl stop 停止监

听,再次重启监听:lsnrctl start; 再进入sql操作:sqlplus /nolog执行,在执行 conn / as sysdba 以管理员身份连接数据

库 startup 启动数据库,如果已经启动先 卸载数据shutdowm immediate 关闭数据库,再startup。再次在外网telnet ip +端口,

如果还不行就:来源网络查找:http://blog.csdn.net/inthirties/article/details/4558769最后面的方法
1. 打开注册表
2. 找到[HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb10g_home1]这个目录
在其下加入一个字符串值
键:USE_SHARED_SOCKET
值: TRUE
3. 重启监听服务

如果上面步骤还不行,估计最有可能的原因就是ip和机器名和127.0.0.1这个区别问题。所以请在C:\Windows\System32\drivers

\etc ,打开hosts文件,添加一个映射。 127.0.0.1 ip地址。设置完成映射后,重启监听、startup数据库。本人就是通过这个

步骤解决问题的。

oracle连接数据库报错:ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not exist的更多相关文章

  1. 参数SID写错,ERROR OGG-00664 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist

    添加进程,启动进程报错 1.0添加进程 GGSCI (t2) > add ext exta,tranlog,begin now EXTRACT added. --添加exta(ext标准命名规则 ...

  2. Oracle:shared memory realm does not exist

    1. 先描述一个连接Oracle 10g的错误:“shared memory realm does not exist” 如图所示Sqlplus连接时出现这个错误: 2. Oracle 服务器主要组件 ...

  3. Oracle数据库使用出现错误-状态: 失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist

    Oracle数据库使用出现错误-状态: 失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist ...

  4. Oracle重启 error: ora-01034:oracle not available ora-27101:shared memory realm does not exist

    error: ora-01034:oracle not available ora-27101:shared memory realm does not exist 苦咖啡 他的博客中一篇文章完美的解 ...

  5. ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist

    Oracle 设置默认数据库 如果我们的服务器上或者电脑上安装了多个数据库,当我们使用sqlplus时如果为指定数据库时登录到的是哪一个数据库呢?今天遇到了一个老问题: ORA-01034: ORAC ...

  6. oracle链接报错shared memory realm does not exist

    问题描述: 前两天能够正常链接,今天来了突然不能链接,原因不详. 处理方法: 连接linux进行如下操作: 1.sqlplus /nolog 2.conn / as sysdba 3.startup ...

  7. Linux Oracle碰到错误:ORA-27101: shared memory realm does not exist

    从ITPUB上摘抄并已验证 1.实例没有启动 sqlplus /nologconnect / as sysdbastartup

  8. oracle登录时shared memory realm does not exist的解决方法

    解决办法:1.用CMD进入命令行2.sqlplus /nolog 3.conn / as sysdba4.startup   然后用sqlplus进入命令  

  9. ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit

    ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exit   ERROR: ORA-01034:ORACLE ...

随机推荐

  1. DAGDGC特殊调弦

    DAGDGC 特殊调弦 重要知识点: 1)音高从高到低排序为:BAGFEDC 2)吉他标准音是(1到6弦) EBGDAE 3)吉他同一弦,每相差一个品级,相差是半个音 调弦方法:1)第一弦(E-> ...

  2. linux大全链接

    http://man.linuxde.net/

  3. 使用C#语言实现一些功能

    今天由于是周六,所以就没讲课啦,于是我就仔细看啦几道还没掌握的题,然后总结啦一下. 一.三级联动 像这个三级联动吧,感觉在做网站时间肯定会用到啦,但是那时间肯定不会是这样子做的啦,不可能把所有的省市区 ...

  4. Solr4.0+IKAnalyzer中文分词安装

    1.依赖: JDK1.6,Tomcat 5.5,Solr 4.0.0,IKAnalyzer 2012FF Tomcat虽然不是必须,但觉得上生产环境的话,还是得用Tomcat,便于统一管理和监控. T ...

  5. JavaScript的记忆函数真的可以提升性能吗?

      1 记忆函数是什么呢? 让函数记住曾经计算过的参数对应的结果 2 那我们为什么使用记忆函数呢? 答案是 避免重复计算 3 在工作中如何使用和实现函数记忆 ? 形成闭包,在闭包中维护一个哈希数组(其 ...

  6. apt-get install的默认安装路径

    apt-get 命令 sudo apt-get update sudo apt-get install tree sudo apt-get -y install tree //跳过系统提示,直接安装. ...

  7. [css]演示:纯CSS实现的右侧底部简洁悬浮效果

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name ...

  8. 微信小程序 --- 用户登录

    整体逻辑:点击用户中心,如果如果整个页面没有

  9. RMAN备份详解

    1.7.1数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份 关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致性备份无 ...

  10. 处理URL传递中文乱码问题

    在网上搜了很多资料都没有搞定,一般都有以下几种说法: 方法1:在后台中先获得字符串的iso-8859-1编码形式数组,再使用此数组实例一个UTF-8编码形式String类型字符串. 页面提交的url为 ...