2016-09-21 32 views
0

我的Oracle SQL Server 11g存在一些问题。在更改PC和主机名称(PC名称)的域后,Oracle SQL无法在localhost上工作

所以这就是发生了什么事: 我的老板告诉我要将我的电脑加入我们公司的域名,并更改我的电脑名称,因为它没有遵循我们的约定。所以我改变了它,然后当我打开SQL开发人员时,我发现我所有与本地主机的连接都不起作用,但存储在网络其他地方的数据库是完全可访问的。

我已经检查了所有的服务,重新启动它们,并试图重新启动计算机,但没有。

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

非常感谢!

(更新:我意识到,服务OracleXETNSListener不能正常启动)

回答

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) 

所以解决的办法很简单,只需要改变主机的价值= MY-NEW-主机名和重新启动该服务,应该工作!

顺便说一句,对于专家的问题,我想知道为什么这个值没有存储在一个环境变量中......然后我们就不会遇到这个问题!

+0

那么,通常一个主机名永远不会改变。实际上'HOST = localhost'或'HOST = 127.0.0.1'也可能工作。关于你的问题,当你有一个* active *和* stand-by *数据库时,你必须在listener.ora文件中配置多个主机。仅使用一个环境变量是不够的。 –

+0

相关知识!谢谢@WernfriedDomscheit – Carloshf