首页 > 解决方案 > oracle 连接字符串或主机名、端口号和 TNS

问题描述

我从ORACLE 网站在我的机器上安装 Oracle

安装后,我可以使用以下命令“sqlplus / as sysdba”登录

在此处输入图像描述

能够使用“sqlplus system/”Password”登录

问题: 我想使用第三方工具如 SQL 开发人员连接数据库,我将如何获得 TNS 或主机名和端口号?

标签: oraclesqlplus

解决方案


这是一个在数据库启动但侦听器服务未启动时运行的经典问题。不用担心,下面的命令可以帮助您检查您的侦听器是否处于活动状态。

lsnrctl status

如果这样说,监听器没有监听添加下面的 2 个 .ora 文件并重新启动监听器。

$ORACLE_HOME/network/admin/listener.ora
$ORACLE_HOME/network/admin/tnsnames.ora

监听器命令

    lsnrctl start
    lsnrctl stop
    lsnrctl status

还可以粘贴示例 .ora 文件以使您的工作更轻松。

监听器.ora

LISTENER =
  (ADDRESS_LIST=
       (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
       (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))

SID_LIST_LISTENER=
  (SID_LIST=
      (SID_DESC=
         (GLOBAL_DBNAME=dev)
         (SID_NAME=dev)
         (ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
                      #PRESPAWN CONFIG
        (PRESPAWN_MAX=20)
        (PRESPAWN_LIST=
          (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
        )
       )
      )

tnsnames.ora

dev=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dev)
    )
  )

请确保您对上述两个文件中的GLOBAL_DBNAMESID_NAMEORACLE_HOME&进行了适当的更改。SERVICE_NAME此外,如果您希望通过您的网络使该数据库可用,请将HOST参数配置为您的机器 IP 而不是localhost.


推荐阅读