首页 > Linux操作系统 > Linux操作系统 > 遭遇ORA-12514错误
今天在自己本本上装了Oracle 10g数据库,可是在链接的时候出现了Ora-12514错误.
明显是监听文件listen,ora文件出了问题.附listen.ora文件内容:
# listener.ora Network Configuration File: d:\oracle\product\10.1.0\Db_2\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_2)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.30.203)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
)
我上网了查了这个错误,说是动态注册监听引起的.用lsnrctl status看了一下监听的相关信息.果然实例DB的状态是BLOCKED,如果是静态注册,状态应该是unknown.
于是我加了一段SID_DESC使它变成静态注册,标注为红色.
# listener.ora Network Configuration File: d:\oracle\product\10.1.0\Db_2\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_2)
(PROGRAM = extproc)
)
(SID_DESC=
(SID_NAME=DB)
( ORACLE_HOME = d:\oracle\product\10.1.0\Db_2)
#(GLOBAL_NAME =DB)
(GLOBAL_DBNAME=DB)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.30.203)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
)
然后重启监听,果然ok,我又试了另有所指外一种方法,不修改listen.ora,只是在tnsnames.ora文件上加UR=A也是可以的.看红色标注.
DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = Rabo)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB)
(UR=A)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
至于其中的道理有时间再研究.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13387766/viewspace-462936/ ,如需转载,请注明出处,否则将追究法律责任。