今天安装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"