最近开机后,打开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也可以。