安装Oracle 11g和plsql后,出现sqlplus能登录,但是plsql不能登录,报监听无法识别字符串和连接服务器失败,可能是Oracle Net管理错误等错误。多次换系统安装,也在网上找了好多方法都没解决,后来发现了解决方法,希望能给出现类似状况的朋友帮助。
我是win8系统,在安装时会出现安装.net3.5的问题,所以先下载离线版.net3.5并安装。
安装好Oracle 11g和plsql后,在安装路径D:\Oracle\11.2.0\dbhome_1\NETWORK\ADMIN下 替换掉listener.ora文件、sqlnet.ora文件、tnsnames.ora文件,然后重启即可解决。
下面是三个文件的内容(其中路径修改为自己的路径):
listener.ora文件:
# listener.ora Network Configuration File: D:\Oracle\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME =D:\Oracle\11.2.0\dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GROBAL_DBNAME = ORCL)
(ORACLE_HOME =D:\Oracle\11.2.0\dbhome_1)
(SID_NAME=ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (ORCL)
sqlnet.ora文件:
# sqlnet.ora Network Configuration File: D:\Oracle\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NONE)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora文件:
# tnsnames.ora Network Configuration File:D:\Oracle\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)