日期:2014-05-16  浏览次数:20865 次

ORA-12514,ORA-12505 错误解决方案

?? Oracle 10G 安装后发现还是有一系列的问题,今天安装了oracle sql developer,新建了本地数据库的一个连接,居然报错:

执行请求的操作时遇到错误:? Listener refused the connection with the following error: ORA-12514: TNS:listener does not currently know of service requested in

原来错误的根源是我用dbca指令创建数据库后并没有创建监听器,解决途径如下:
切换到oracle执行用户依次执行一下指令:

$cd $ORACLE_HOME/bin
$netca
这一步会出现两个问题,一个是执行错误,在切换到oracle用户之前可以执行#xhost + 指令;另一个是乱码问题,可以执行 $export LANG=en_US 指令
监听器建立好了以后,修改下listener.ora文件
$cd $ORACLE_HOME/network/admin
在这个目录下有个listener.ora文件,内容如下:
# listener.ora Network Configuration File: /opt/app/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 = /opt/app/oracle/product/10.2.0/db_1)
????? (PROGRAM = extproc)
??? )
??? (SID_DESC =
????? (GLOBAL_DBNAME = liyfdb)
????? (ORACLE_HOME = /opt/app/oracle/product/10.2.0/db_1)
????? (SID_NAME = liyfdb)
??? )

? )

LISTENER =
? (DESCRIPTION_LIST =
??? (DESCRIPTION =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
????? (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
??? )
? )

其中红色内容是我后面加上去的,如果不加话,就会出错: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

?

现在可以进入bin目录去启动oracle服务了,启动后oracle sql developer应该就可以正常连接本地的数据库了。