我已经下载了测试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))
> ) )
我做错了什么?
答案 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