求助 TNS:监听程序当前无法识别描述中的请求服务 本帖最后由 selectza0858 于 2013-04-08 09:52:58 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在命令行输入 lsnrctl service 把结果贴出来 这结果不是很正常……lsnrctl status再看看这个 你的数据库,现在不通过监听能连吗?C:\> sqlplus "/as sysdba"这样 这么说吧,监听起来之后一段时间后,status里面至少能看到这两条才行服务 "orcl" 包含 2 个例程。 例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序... (unknow这个是监听程序sid_list_listener里写的) 例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序... (ready这个是数据库和监听器都起来后,监听自己加的)有这两个中的至少一个才能接受客户端的连接。 那是否是我listener有问题呢?或者TNS 按说,ready那条只要监听和数据库都在启动状态,就肯定会出来。 不过可能在启动后稍等一段时间。。你现在数据库起来了吗? 空闲例程说明没起来,你需要手动启动数据库。SQL> startup 我还正在启动中:set oracle_sid=orcl sqlplus /nologconn sys /as sysdbasatrtup)conn scott/tiger 监听程序也重启一下,lsnrctl stoplsnrctl start过上一两分钟后再去看lsnrctl status startup写错了oracle_sid不是orcl是hycmp? 实例名是hycmp orcl是我另一台 start被我写错了 呃……那hycmp这台也有问题吗?怎么不在有问题的那台上试 我是在有问题这台试的,只是说listener被我复制了过来 listener里的主机名、服务名都改成跟当前机器一样了吗 你这台机器主机名也叫serverdata吗, (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = ORCL) )这一段怎么不改成hycmp呢。 这台主机就叫‘serverdata’ 我现在给改一下(SID_DESC = (GLOBAL_DBNAME = hycmp) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = hycmp) ) 这不就对了吗……然后你的tnsnames.ora里再写一个hycmp的,host改为这台机器的地址,service_name改为hycmp,用它连接看看 # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools.ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) HYCMP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = HYCMP ) ) )加一段这个。。注意最前面不能有空格。 随便在哪儿…… 比如加最后# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools.ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )HYCMP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = HYCMP ) ) ) 感觉是否还是哪没设置上呢?我登陆进去PL SQL一会就断线了要得重新startup 不明白,既然已经起来了,你干嘛还要不停地startup?? 因为隔了1分钟左右又不能用了所以我才startup 这样的情况你有遇见过吗? 可是一会就断开,然后呢我重新conn sys /as sysdba 刷入密码 提示连接到空例程 我今天也遇到楼主的情况。监听文件里加了(SID_DESC = (GLOBAL_DBNAME = localorcl) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = localorcl) )localorcl是我本地的SID然后停止、启动监听。再shutdown和startup数据库。就没问题了。不知道你的情况是不是也可以。 坐等解决方案。真是欲哭无泪呀!谢谢xinpingf的帮忙,没有你我不会连接成功,再次感谢你。也谢谢f0restwow,给出的提议,谢谢 我还把服务器重启过了,我现在试试把listener在服务里重启下试试 ps aux | grep ora_ 请别人看了后说是37行有问题,select object_id,object_name,object_type,owner from dba_objects where object_id=37 1:最近系统做了哪些变动2:用netca删除所有的监听,重新配置 Wed Apr 03 23:33:09 2013Thread 1 advanced to log sequence 132126 Current log# 2 seq# 132126 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOGThread 1 cannot allocate new log, sequence 132127Checkpoint not complete Current log# 2 seq# 132126 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOGWed Apr 03 23:33:20 2013Thread 1 advanced to log sequence 132127 Current log# 3 seq# 132127 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOGWed Apr 03 23:33:47 2013Thread 1 cannot allocate new log, sequence 132128Checkpoint not complete Current log# 3 seq# 132127 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOGThread 1 advanced to log sequence 132128 Current log# 1 seq# 132128 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOGWed Apr 03 23:42:11 2013Thread 1 advanced to log sequence 132129 Current log# 2 seq# 132129 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOGWed Apr 03 23:42:22 2013Thread 1 advanced to log sequence 132130 Current log# 3 seq# 132130 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOGWed Apr 03 23:44:23 2013Thread 1 advanced to log sequence 132131 Current log# 1 seq# 132131 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOGWed Apr 03 23:44:34 2013Thread 1 cannot allocate new log, sequence 132132Checkpoint not complete Current log# 1 seq# 132131 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOGWed Apr 03 23:44:50 2013Thread 1 advanced to log sequence 132132 Current log# 2 seq# 132132 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG rman备份恢复 超简单的问题 关于数据库缓存,高手请进!!! 开窗函数 的问题 进来看题!! 请问如何在指定的表空间建立sequence 用语句实现,在线等啊. 一个sql语句问题,望高手相助 ora-12560:TNS错误(在线等待) Oracle Discover的问题!非常感谢!!!! 关于定期自动执行sql块的问题,再问。(在线,立即结帐) 数据导入,可以直接复制文件夹吗? oracle安装环境变量求教 ORCALE数据库 有关于date类型的问题,急!!!!
把结果贴出来
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序... (unknow这个是监听程序sid_list_listener里写的)
例程 "orcl", 状态 READY, 包含此服务的 1 个处理程序... (ready这个是数据库和监听器都起来后,监听自己加的)有这两个中的至少一个才能接受客户端的连接。
sqlplus /nolog
conn sys /as sysdba
satrtup)
conn scott/tiger
lsnrctl stop
lsnrctl start过上一两分钟后再去看
lsnrctl status
startup写错了oracle_sid不是orcl是hycmp?
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)这一段怎么不改成hycmp呢。
(GLOBAL_DBNAME = hycmp)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = hycmp)
)
# Generated by Oracle configuration tools.ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = HYCMP )
)
)加一段这个。。注意最前面不能有空格。
# Generated by Oracle configuration tools.ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)HYCMP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serverdata)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = HYCMP )
)
)
不明白,既然已经起来了,你干嘛还要不停地startup??
这样的情况你有遇见过吗?
监听文件里加了
(SID_DESC = (GLOBAL_DBNAME = localorcl) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (SID_NAME = localorcl) )
localorcl是我本地的SID
然后停止、启动监听。再shutdown和startup数据库。就没问题了。
不知道你的情况是不是也可以。
也谢谢f0restwow,给出的提议,谢谢
2:用netca删除所有的监听,重新配置
Thread 1 advanced to log sequence 132126
Current log# 2 seq# 132126 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG
Thread 1 cannot allocate new log, sequence 132127
Checkpoint not complete
Current log# 2 seq# 132126 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG
Wed Apr 03 23:33:20 2013
Thread 1 advanced to log sequence 132127
Current log# 3 seq# 132127 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOG
Wed Apr 03 23:33:47 2013
Thread 1 cannot allocate new log, sequence 132128
Checkpoint not complete
Current log# 3 seq# 132127 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOG
Thread 1 advanced to log sequence 132128
Current log# 1 seq# 132128 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOG
Wed Apr 03 23:42:11 2013
Thread 1 advanced to log sequence 132129
Current log# 2 seq# 132129 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG
Wed Apr 03 23:42:22 2013
Thread 1 advanced to log sequence 132130
Current log# 3 seq# 132130 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO03.LOG
Wed Apr 03 23:44:23 2013
Thread 1 advanced to log sequence 132131
Current log# 1 seq# 132131 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOG
Wed Apr 03 23:44:34 2013
Thread 1 cannot allocate new log, sequence 132132
Checkpoint not complete
Current log# 1 seq# 132131 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO01.LOG
Wed Apr 03 23:44:50 2013
Thread 1 advanced to log sequence 132132
Current log# 2 seq# 132132 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\HYCMP\REDO02.LOG