第一种可能
使用的数据库sid名不正确。用如下命令
第二种可能
如果sid配置没有错误,但是还是报错,那可能就是oracle的监听配置出了问题,需要检查listener.ora文件。
正确配置如下:
# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = [color=red]XE[/color])
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(SID_NAME = [color=red]XE[/color])
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = [color=blue]localhost[/color])(PORT = 1521))
)
)
红字部分改成oracle创建时候的sid, 蓝色部分改成ip或hostname,保存退出
使用的数据库sid名不正确。用如下命令
SELECT NAME FROM v$database;
第二种可能
如果sid配置没有错误,但是还是报错,那可能就是oracle的监听配置出了问题,需要检查listener.ora文件。
正确配置如下:
# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = [color=red]XE[/color])
(ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
(SID_NAME = [color=red]XE[/color])
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = [color=blue]localhost[/color])(PORT = 1521))
)
)
红字部分改成oracle创建时候的sid, 蓝色部分改成ip或hostname,保存退出