0

我是 oracle dba 的新手,所以需要可以满足我的想法的帮助。我已经在 OS OEL 5.7 的虚拟机上安装了我的 oracle 11gr2 数据库,并希望将我的这个远程数据库与 toad32bit 连接。所以我确实遵循了一些有用的链接,并在 OS windows 7 64bit 上下载并安装了win32_11gR2_client。除了尽我所能按照说明进行操作外,我的客户端无法连接到我的远程 oracle 数据库。在客户端使用 cmd 进行 tnsping sidname 始终没有出现错误的 tns 侦听器,如上所述

简要说明 LINUX 机器:

监听器.ora

LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(HOST = testhost.testdomain.com)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle

tnsnames.ora

ORCL =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = testhost.testdomain.com)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl.testdomain.com)
  )
 )

sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /u01/app/oracle

lsnrctl 状态监听器

Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                03-FEB-2014 15:08:43
Uptime                    0 days 1 hr. 32 min. 59 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/testhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=testhost.testdomain.com)(PORT=1521)))
Services Summary...
Service "orcl.testdomain.com" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.testdomain.com" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

lsnrctl 服务监听器

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 Services Summary...
 Service "orcl.testdomain.com" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
 Handler(s):
 "DEDICATED" established:0 refused:0 state:ready
 LOCAL SERVER
 Service "orclXDB.testdomain.com" has 1 instance(s).
 Instance "orcl", status READY, has 1 handler(s) for this service...
 Handler(s):
 "D000" established:0 refused:0 current:0 max:1022 state:ready
 DISPATCHER <machine: testhost.testdomain.com, pid: 5349>
 (ADDRESS=(PROTOCOL=tcp)(HOST=testhost.testdomain.com)(PORT=13094))
 The command completed successfully

WINDOWS 7 客户端描述 C:\oracle\product\11.2.0\client_1\network\admin ENV TNS_ADMIN=C:\oracle\product\11.2.0\client_1\network\admin

注意:在 WINDOWS 服务上不存在(意味着不存在)任何与 Oracle 相关的服务

我的客户 tnsnames.ora

ORCL =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = testhost.testdomain.com)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl.testdomain.com)
   )
  )

C:\Users\farhan>tnsping orcl (结果是)

Used parameter files:
C:\oracle\product\11.2.0\client_1\network\admin\sqlnet.ora

Used TNSNAMES adapter to resolve the alias 
Attempting to contact (DESCRIPTION = (ADDTESS_LIST = (ADDRESS - (PROTOCOL = TCP (HOST = 
testhost.testdomain.com)(PORT = 1521))) (CONNECT_DATA= (SERVER = DEDICATIED) (SERVICE_NAME
= orcl) (INSCTANCE_NAME = orcl) (GLOBAL_NAME = orcl.testdomain.com)(RDB_DATABSE =   orcl)) (TYPE_OF_SERVICE = dedicaated))
TNS-12541 : TNS:no listener

cat /etc/hosts (结果是)

      # Do not remove the following line, or various programs
      # that require network functionality will fail.
      #127.0.0.1              testhost.testdomain.com testhost localhost.localdomain localhost
      127.0.0.1               localhost.localdomain localhost
      #10.10.1.114             testhost.testdomain.com testhost
      192.168.0.103   testhost.testdomain.com testhost
      ::1             localhost6.localdomain6 localhost6

对于我要求发布的进一步说明

# netstat -an | grep 1521 | grep tcp | grep LISTEN
tcp        0      0 0.0.0.0:1521                0.0.0.0:*                   LISTEN      
[root@testhost ~]# grep testhost /etc/hosts
#127.0.0.1              testhost.testdomain.com testhost localhost.localdomain localhost
#10.10.1.114             testhost.testdomain.com testhost
192.168.0.103   testhost.testdomain.com testhost
[root@testhost ~]# dig +short testhost.testdomain.com
174.137.125.92
4

3 回答 3

4

经过大量搜索,得到了一个简单的方法来解决它。只需按照以下步骤操作:-

  1. 检查听众的状态

  2. 打开命令提示符并输入 lsnrctl status

  3. 你不会得到听众。

  4. 因此,现在打开位于以下目录 C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN 中的 listener.ora 文件

  5. 打开该文件并用您的计算机名称更改主机参数ii}您可以通过右键单击我的电脑并检查您的计算机名称来获取计算机名称,然后将主机参数替换为您的计算机名称,如下所示。

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = Electron-PC)(PORT = 1521))))

所以在这里你可以观察到HOST = Electron-P,这是我的电脑名

  1. 保存 listener.ora 文件并再次返回 cammand propt
  2. 在命令提示符 lsnrctl start 中键入以下内容

这将启动 OracleTNSListner,您可以通过打开任务管理器的服务选项卡在服务中检查它。如果没有自动启动你可以启动它。

就这么多,您就可以再次在 oracle 上工作了。祝你好运。

于 2016-01-19T07:07:26.987 回答
0

我曾经遇到过同样的问题。将我的计算机名称添加到后,我能够连接:/etc/hosts "ip_address computer_name"

大家好

我也有同样的问题,任何人都可以建议我“computer_name”应该是我安装客户端的 Windows 计算机名称还是安装数据库的远程服务器名称。

于 2016-11-02T04:52:29.020 回答
0

我有同样的问题。以下对我有用。

  • 如果您以前安装过,请从您的计算机上卸载所有 oracle 文件。通过转到 cmd 中的 services.msc 来停止其所有服务。

    1. 项目清单
    2. 重启你的电脑。
    3. 如果您还没有安装 oracle,请安装。

    4. 然后进入cmd

    5. 在 cmd 中键入 services.msc 6.选择任何服务并键入“O”。这将为您提供以 O 开头的所有服务。 7. 从列表中选择 OracleJobScheduerXE。右键单击转到属性。
    6. 在一般选项卡中,转到启动类型。从中选择自动。
    7. 单击应用,然后单击开始,然后单击确定。10.还启用 OracleXeClrAgent 并启动您的服务。因此,除了 OracleMTSRecoveryService 之外,总共有 4 个服务将在 5 个中运行。
    8. 现在去 cmd type lsnrctl->enter-> type status 你应该能够看到你的实例。

告诉我它是否有帮助。

于 2017-02-04T07:37:40.590 回答