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

时间:2017-09-14 10:53:32

标签: linux oracle database-connection

我已经下载了测试Oracle EDQ测试数据库,使用Database Configuration Assistant创建了一个数据库并创建了一个用户。

我已授予他这些特权:

  • 所有权限

  • 连接

  • 资源

  • 选择v_ $ sysstat

  • 创建会话

  • 创建表格

当我连接到这个名为“eratest'本地我可以执行以下操作: sqlplus localhost / eratest

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

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

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))

>     )   )

我做错了什么?

1 个答案:

答案 0 :(得分:1)

请从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