oracle连接一直好好的,突然间连接的时候报错了,报错为ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 。网上找了好长时间也没解决。现在将个人的解决方法分享出来,大家有什么不同意见的,请联系楼主或者为楼主留言。楼主将在第一时间回复。具体步骤如下;
1、首先先检查检查自己的数据库配置部分时候有错,正确配置如下图
错误配置:
可能是后面的参数导致的。
2、Oracle的 listener.ora 文件配置出错。如下图,每个人的 listener.ora 路径不一致,请具体参考个人oracle安装路径
打开文件之后具体配置如下图:
当时我那块是没有框中的部分导致的
listener.ora文件的内容,具体安装路径需要调整。
# listener.ora Network Configuration File: C:\app\HH\product\11.2.0\dbhome_3\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\HH\product\11.2.0\dbhome_3)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\HH\product\11.2.0\dbhome_3\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = C:\app\HH\product\11.2.0\dbhome_3)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.170.43)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\HH
当时要注意的一点是
上面的框中的的内容。 (ORCL -- 是你的SID 数据库名)
重启Oracle的监听器。
问题解决
oracle数据库新建数据库时SID是你建库时指定的名字。
SID 数据库名是你建库时指定的名字,可以这样查询
SQL>conn / as sysdba
SQL>select instance_name from v$instance;