ROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
原来listener.ora内容:
# listener.ora Network Configuration File: D:\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 = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
改成(红色部分为增加、修改部分):
# listener.ora Network Configuration File: D:\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 = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))
)
)
tnsnames.ora的文件内容为:
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1568))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
最后在windows中的“控制面板”——》“管理工具”——》“服务”中把Oracle的listener服务器(OracleOraDb10g_home1TNSListener)重新启动
6、再用普通用户登陆可以进入数据库:
SQL>sqlplus test/test@ORCL
成功进入数据库了
附录:
如果在用本地Oracle连接远程的Oracle数据库,在$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora(如:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora)增加上远程数据库的信息。这样可以用PLSQL等第三方软件连接。
增加信息:如:
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.169.1.118)(PORT = 1568))
(CONNECT_DATA =
(SID=ORCL)
(SERVER = DEDICATED)
)
)
注意:在linux下面也是跟这个雷同,唯一不同的是,lisenter.ora的存放路径与windows的不同
作者“cas1991321”