linux - 无法连接到 Oracle DB ORA-12560 错误

标签 linux oracle database-connection

我已经下载了测试 Oracle EDQ 测试数据库,使用数据库配置助手创建了一个数据库并创建了一个用户。

我已经授予他这些特权:

  • 所有权限

  • 连接

  • 资源

  • 选择 v_$sysstat

  • 创建 session

  • 创建表

当我在本地连接到这个名为“eratest”的服务时,我可以通过执行以下命令毫无问题地完成: sqlplus localhost/eratest

然而,当我在不同的机器上做同样的事情时,我得到了这个:

sqlplus edqtrn:1521/era_test(我也尝试过使用 SID eratest 进行连接,但我读到这可能是错误的。)

SQLPlus: Release 10.2.0.4.0 - Production on Thu Sep 14 12:38:08 2017 Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

ERROR: ORA-12560: TNS:protocol adapter error

Enter user-name: c##kuba

Enter password:

ERROR:ORA-12560: TNS:protocol adapter error

我在 tnsnames.ora 文件中有 era_test(如果需要,我可以复制粘贴 tnsnames.ora 的全部内容

ERA_TEST = 

 (DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.3.51)(PORT=1521))

   (CONNECT DATA =



(SERVER = DEDICATED)

  (SERVICE_NAME = ERA_TEST)

  (INSTANCE_NAME = ERATEST)

   )

  )

这是一个 Listener.ora 文件:

listener.ora Network Configuration File: /apps/app/oracledb/oracle-base/product/12.1.0/dbhome_1/network/admin/listener.ora

Generated by Oracle configuration tools.

 USE_SID_AS_SERVICE_LISTENER=on

 LISTENER =   (DESCRIPTION_LIST =

     (DESCRIPTION =

>       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

>       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

>     )   )

我做错了什么?

最佳答案

请从 shell/cmd 执行此命令来检查监听器的状态:

$>lsnrctl status

然后尝试通过从 shell/cmd 执行来 ping Oracle 实例

$>tnsping your_oracle@SID

可以是防火墙设置。 检查 iptables 服务的状态。如果是您的测试环境,您可以通过从 shell 执行来禁用此服务:

$>service iptables stop
$>chkconfig iptables off

或者您可以使用 iptables(适用于 RHEL/Centos)简单地打开端口 1521:

$>iptables -I INPUT -p tcp -m tcp --dport 1521 -j ACCEPT
$>service iptables save

关于linux - 无法连接到 Oracle DB ORA-12560 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46217188/

相关文章:

linux - 执行docker运行时docker中的环境变量

c++ - 未找到命令,C++ 应用程序

sql - SELECT INTO 语句中缺少关键字错误

mysql - vb.net - Mysql 连接未使用 Sub 例程关闭

c - 在 C 程序中实现 sudo su

java - XA 事务中的数据一致性

c - Oracle Pro*C 预编译器错误 PCC-S-02201 : Encountered the symbol "_Bool"

.net - 未关闭的数据库连接会发生什么?

java - 无法多次连接mysql

linux - 在 bash 中的并行进程之间添加等待