oracle连接数据库报错:ORA-01034: ORACLE not available(Oracle 不存在),ORA-27101: shared memory realm does not exist
花一天半的时间解决客户端连接服务端的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的更多相关文章
- 参数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标准命名规则 ...
- Oracle:shared memory realm does not exist
1. 先描述一个连接Oracle 10g的错误:“shared memory realm does not exist” 如图所示Sqlplus连接时出现这个错误: 2. Oracle 服务器主要组件 ...
- 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 ...
- 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 苦咖啡 他的博客中一篇文章完美的解 ...
- ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
Oracle 设置默认数据库 如果我们的服务器上或者电脑上安装了多个数据库,当我们使用sqlplus时如果为指定数据库时登录到的是哪一个数据库呢?今天遇到了一个老问题: ORA-01034: ORAC ...
- oracle链接报错shared memory realm does not exist
问题描述: 前两天能够正常链接,今天来了突然不能链接,原因不详. 处理方法: 连接linux进行如下操作: 1.sqlplus /nolog 2.conn / as sysdba 3.startup ...
- Linux Oracle碰到错误:ORA-27101: shared memory realm does not exist
从ITPUB上摘抄并已验证 1.实例没有启动 sqlplus /nologconnect / as sysdbastartup
- oracle登录时shared memory realm does not exist的解决方法
解决办法:1.用CMD进入命令行2.sqlplus /nolog 3.conn / as sysdba4.startup 然后用sqlplus进入命令
- 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 ...
随机推荐
- THINKPHP ajax分页示例
先把框架的page类改造一下 路径在ThinkPHP/Library/Think/Page.class.php文件 添加一个方法 ajax_show 代码如下 <?php /** * 组装分页链 ...
- X-code 描述文件的位置
不管是真机测试还是打包的过程中,都需要描述文件.在桌面上,按快捷键“commd+Shift+G”,就会显示一个要填的文件路径,如下图: 找到描述文件的路径: ~/Library/MobileDevic ...
- 批处理bat文件dos命令实现文件的解压缩
::========压缩文件======================= ::将源路径“C:\Users\xcc\Desktop\多大的经济 ”路径下的文件压缩到目标路径下“D:\迅雷下载\压缩.r ...
- Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
MySQL在linux安装之后,连接到服务,报了下面的错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socke ...
- UE4 Run On Server与Run on owning client
- 最简单的VS-Qt-CMake项目框架
使用qtcreator新建一个空工程,可以得到main.cpp,mainwindow.cpp,mainwindow.h和mainwindow.ui四个文件 下面主要介绍CMakeLists.txt的内 ...
- SDWebImage使用,图片加载和缓存
本文转载至 http://blog.163.com/wzi_xiang/blog/static/659829612012111402812726/ 清除缓存: [[SDImageCache s ...
- win8.1rtm专业版无法安装net3.5还有iis
win8.1rtm专业版无法安装net3.5还有iis错误代码:0x800F0906 已解决:dism.exe /online /enable-feature /featurename:NetFX3 ...
- 在ubuntu 10.04 上QGIS的安装步骤
进入管理员账户后,打开/etc/apt/sources.list. 添 加 deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubun ...
- 关于PreparedStatement.addBatch()方法 (转)
Statement和PreparedStatement的区别就不多废话了,直接说PreparedStatement最重要的addbatch()结构的使用. 1.建立链接,(打电话拨号 ) Connec ...