当遇到WINDOWS7上oracle11 r2版ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID等错误,还会出现Oracle 11g 在起OracleDBConsoleorcl服务时报错,服务不能正常启动,或启动特别的慢,oracle sql developer 不能够连接数据库,连接提示ora-12505错误需要特别检查如下配置:
1. 检查数据库客户端E:\app\Yang-oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录中的tnsnames.ora文件看客户端连接服务器Listener的配置是否正确,如下配置是连接本地数据库服务器Listener,其中红色标记的是特别要注意的地方:
ORCL_LOCALHOST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ocrl)
(SERVER = DEDICATED)
)
)
2. 检查数据库服务器E:\app\Yang\product\11.2.0\dbhome_1\NETWORK\ADMIN目录中的listener.ora文件是否配置正确,如果这个文件配置错误是客户端是无论如何也无法连接到服务器的,如下是listener.ora的部分配置:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx-pc)(PORT = 1521))
))
其中红色标记的HOST是特别要注意的地方,是你的计算机名称,不能简单的写成localhost,如果不确定计算机名称则可通过dba登录sqlplus利用
select HOST_NAME from v$instance语句查询主机名,如果是不能够修改文件请用解锁工具或关闭服务进行文件的修改。
如果上述还不能解决,请按下面的操作:
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Yang-oracle>emctl start dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to da
tabase unique name.
C:\Users\Yang-oracle>set ORACLE_SID=ORCL
C:\Users\Yang-oracle>emctl start dbconsole
OC4J Configuration issue. E:\app\Yang-oracle\product\11.2.0\dbhome_1/oc4j/j2ee/OC4J_DBC
onsole_Yang-PC_orcl not found.
C:\Users\Yang>emctl start dbconsole
EM Configuration issue. E:\app\Yang-oracle\product\11.2.0\dbhome_1/Yang-PC_orcl not fou
nd.
出现上面两个错误按照下面进行:
复制一份E:\app\Yang-oracle\product\11.2.0\dbhome_1\oc4j\j2ee下的OC4J_DBConsole_HOSTNAME_orcl文件夹,重命名为OC4J_DBConsole_Yang-PC_orcl,复制一份E:\app\Yang\product\11.2.0\dbhome_1下的HOSTNAME_orcl文件夹,重命名为Yang-PC_orcl 。
C:\Users\Yang-oracle>emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
https://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control …发生系统错误 5。 //这里是英文WIN7不是用的管理员打开的CMD命令行,下面的是用管理员打开的
拒绝访问。
C:\Users\Yang-oracle>
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Windows\system32>emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
https://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control …请求的服务已经启动。
请键入 NET HELPMSG 2182 以获得更多的帮助。
C:\Windows\system32>
最后重新启动dbconsole,oracle服务启动成功