首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-01034: ORACLE在远程连接上不可用

ORA-01034: ORACLE在远程连接上不可用
EN

Stack Overflow用户
提问于 2019-07-10 14:22:00
回答 2查看 624关注 0票数 0

当我尝试从远程主机(我使用Oracle instant client)连接到oracle数据库时,我收到以下错误:

代码语言:javascript
复制
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3640
Additional information: 1108778635
Process ID: 0
Session ID: 0 Serial number: 0

但是,主机上的ORACLE_HOMEORACLE_SID设置正确,我可以很容易地从它的主机连接到数据库:

代码语言:javascript
复制
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jul 10 09:20:09 2019

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Enter user-name: system
Enter password:
Last Successful login time: Wed Jul 10 2019 09:13:57 +03:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

是什么导致了这种行为?UPD:远程数据库上监听程序的状态:

代码语言:javascript
复制
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.71.2)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                05-JUL-2019 08:56:16
Uptime                    6 days 23 hr. 29 min. 47 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/product/12.1.0/dbhome_1/log/diag/tnslsnr/epyc-gbu2/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.71.2)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "AGRO.GBUBDD.RU" has 1 instance(s).
Instance "AGRO", status UNKNOWN, has 1 handler(s) for this service...

UPD2:我用来连接远程数据库的命令:

代码语言:javascript
复制
sqlplus /nolog
connect system/oracle@192.168.71.2:1521/agro.gbubdd.ru
EN

回答 2

Stack Overflow用户

发布于 2019-07-10 17:12:11

这可能是由于两个原因造成的。1) Oracle数据库启动不正确。2)没有剩余空间,数据库崩溃/停止工作。

要更正此错误,请登录到远程数据库并检查数据库是否已启动,以及是否有足够的空间供数据库执行操作。

在安装了db的远程机器上,要检查数据库是否打开,可以使用sql plus登录并运行query来检查数据库的状态。

票数 0
EN

Stack Overflow用户

发布于 2019-07-10 17:50:41

在您的环境中设置ORACLE_SID只与本地连接相关。该错误告诉您,在运行SQL*Plus的计算机上没有使用该SID运行的数据库。它不知道远程数据库的情况。

要远程连接,您需要告诉SQL如何访问远程数据库,这通常是通过TNS entry或使用'easy connect' syntax

您尚未包含远程数据库的任何详细信息,但您需要执行以下操作:

代码语言:javascript
复制
sqlplus username@//database_host:listener_port/remote_service_name

或者从sqlplus /nolog开始,然后使用connect命令,如文档所示。

端口通常是1521,但可能不同,并且服务名称可能与SID相同。如果在DB服务器上运行lsnrctl serviceslsnrctl status,您应该能够看到有效的服务名称,以及侦听器正在使用的地址和端口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56964464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档