我是甲骨文的新手。我使用的是Windows 10 64位,Oracle XE 11g,Visual Studio 2010和vb.net。但为什么我会得到 错误:
当我关闭或休眠我的机器时,总是与听众有关 服务也在运行。
这是列表代码:
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 = DESKTOP-4R5A2SG)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (SUIDO)
这是tnsname.ora代码:
SUIDO =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-4R5A2SG)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SUIDO)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
任何人都可以帮助我尽快解决这个问题。
答案 0 :(得分:0)
首先报告ora-12154 - tns无法解析服务连接标识符。 此错误表示在tnsnames.ora中找不到您指定的连接目标。假设您指定了'sqlplus scott / tiger @ fubar'。然后在你的tnsnames中找不到'fubar'的引用。故事结局。这意味着请求永远不会离开客户端进程,也永远不会在侦听器附近,所以听众没什么关系。我在https://edstevensdba.wordpress.com/2018/09/19/troubleshooting-ora-12154/
上有更详细的解释和演示答案 1 :(得分:0)
其次,你报告" SQLPLUS IBR / IBR @ SUIDO"返回" ORA-12514:TNS:监听器当前不知道连接中请求的服务"。" 这是一个截然不同的问题,答案截然不同。我从你的tnsnames文件中看到了“suido'解析为SUIDO'的服务名称在服务器' DESKTOP-4R5A2SG'上运行,它期望有一个使用端口1521的监听器,并且所述列表器知道服务&SUIDO'。错误' ORA-12514' 最终 表示侦听器不知道此类服务。您可以通过执行' lsnrctl status'来证明这一点。并观察听众所了解的服务。我说它已接近100%肯定听众不知道该服务,因为数据库没有启动。如果数据库已启动,则应该已经向侦听器注册了自己。
有关此错误的详细讨论here。