今天安装Oracle 11.2后,发现连接不上,出现了以下几个问题。
1、"conn /as sysdba"后报“已连接到空闲例程”,是因为tnsnames.ora中缺少制定监听。在tnsnames.ora中加入
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
2、加上后没有上面的错误,但又发现使用“conn ljoms/ljoms”可以连接,但加上实例名“conn ljoms/ljoms@orcl”后报“ORA-12541: TNS: 无监听程序”。查了些资料,按照网上提供的方法发现listener.ora中只有
“LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = xcc-PC)(PORT = 1521))
)
)”缺少SID_LIST_LISTENER,加上
“SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)”,但出现“TNS: 监听程序当前无法识别连接描述符中请求的服务”,这是由于缺少“GLOBAL_DBNAME”导致,修改SID_LIST_LISTENER为
”SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME =D:\oracle\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
)“,重启lsnrctl。退出数据库连接,在DOS下运行"lsnrctl stop"后运行"lsnrctl start"