最近开机后,打开PL/SQL 输入用户米 密码总报标题的错误。
我在两台机器都发现了这个错误,开始以为PL/SQL问题,结果用ORACLE的SQL PLUS问题依旧。
BAIDU了一下,找到了解决办法。
oracle 10G:
D:\oracle\product\10.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 = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) (PROGRAM = extproc) ) )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) )
操作:
在 (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) (PROGRAM = extproc) )
后面添加
(SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) (SID_NAME = orcl) )
网上的一些文章没注意这点,由于每个人的数据库SID不同。所以加的这段话的GLOBAL_DBNAME和SID_NAME
都是你的数据库的SID。而且ORACLE_HOME也不同要根据原文的ORACLE_HOME来写。
修改完的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 = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = D:\oracle\product\10.1.0\db_1) (SID_NAME = orcl) ) )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) )重启服务。OK!!!
如果以上工作还没成功的话,那么就把(HOST = localhost) 的HOST改成你的实际IP地址,就算写127.0.0.1也可以。
相关资源:ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务