转载:我从网上找到的
ORA-12514及ORA-28547错误解决在本机上装了oracle 10g,网址是公司动态获取的,用sql plus登陆数据库,正常。用pl/sql打开数据库报错:“ORA-12514: TNS: 监听程序无法识别连接描述符中请求的服务”。 解决: 打开oracle\product\11.1.0\db_1\network\admin\listener.ora文件,内容如下: # listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = LISTENER = 将(SID_NAME = PLSExtProc)改为(SID_NAME = orcl),重启listener。 重新用pl/sql登录,报错:“ORA-28547: TNS: 连接服务器失败,可能是Net8管理错误。” 删掉上述文件中的(PROGRAM = extproc),重启listener,用pl/sql登录,成功。不知道为什么 |
自己解决的:
用oracle的net configuration assistant 工具将原来的 listener 从新建立一边便可, 如果报其他的连接错误,尝试修改F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora 里德连接地址,但是系统从新启动后发现又连接不上了
这次我查看的是F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
文件内容如下:
# listener.ora Network Configuration File: F:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = F:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = XP-008)(PORT = 1521))
)
)
在第二大段LISTENER 这, (ADDRESS = (PROTOCOL = TCP)(HOST = XP-008)(PORT = 1521)) 里面的 HOST 名要和 tnsnames.ora 里配置的 host 要一致。
出现如上问题无外乎 就是本地配置的问题,