更改PC的域和主机名(PC名称)后,Oracle SQL无法在localhost上工作

时间:2016-09-21 12:44:05

标签: sql-server oracle oracle11g oracle-sqldeveloper

我的Oracle SQL Server 11g存在一些问题。

所以这就是发生的事情: 我的老板告诉我将我的电脑添加到我们公司的域名中,并更改我的电脑名称,因为它没有遵循我们的惯例。所以我改变了它,然后当我打开SQL开发人员时,我发现我与localhost的所有连接都无法正常工作,但存储在网络其他地方的数据库是完全可访问的。

我已检查过所有服务,重新启动它们并尝试重新启动计算机,但没有。

可能是什么问题?有什么想法吗?

非常感谢!!

(更新:我意识到服务OracleXETNSListener无法正常启动)

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 显然,当我们安装Oracle时,有些文件采用主机的名称并在某些脚本中使用它。 好吧,就我而言,有一个文件C:/oraclexe/app/oracle/product/11.2.0/server/network/ADMIN/listener.ora包含以下内容:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
  )

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

DEFAULT_SERVICE_LISTENER = (XE)

所以解决方案很简单,只需更改HOST = MY-NEW-HOSTNAME的值并重新启动服务即可正常工作!!

BTW,专家提问,我想知道为什么这个值没有存储在环境变量中......那么我们就不会遇到这个问题了!