heartk 发表于 2005-04-26 17:06

侦听状态BLOCKED是什么意思阿

我的oracle 9i运行在sun 880的solaris 9上,运行中间忽然连接端报告“数据库正在关闭”,然后用sqlplus连接自己的数据库连接不上,但是用sys/sys as sysdba能连接到空实例,此时查看侦听状态,显示如下:
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=kglvideo)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=kglvideo)(PORT=8080))(Presentation=H
TTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=kglvideo)(PORT=2100))(Presentation=F
TP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "vidkgl" has 2 instance(s).
Instance "vidkgl", status UNKNOWN, has 1 handler(s) for this service...
Instance "vidkgl", status BLOCKED, has 1 handler(s) for this service...
Service "vidkglXDB" has 1 instance(s).
Instance "vidkgl", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully
正常情况下,“ Instance "vidkgl", status BLOCKED, has 1 handler(s) for this service...”的状态应为ready,现在为什么变成了BLOCKED,有什么操作会让它变成这样呢?这是我重起侦听也失败,有哪位大侠帮我分析下,谢了!

wuguangsheng 发表于 2006-11-10 18:53

我也遇到了相同的问题,你后来怎么解决的啊? 急 ,谢谢!!!!!!!

我也遇到了相同的问题,你后来怎么解决的啊? 急 ,谢谢!!!!

numenhuang 发表于 2006-11-11 02:38

原帖由 heartk 于 2005-4-26 17:06 发表
我的oracle 9i运行在sun 880的solaris 9上,运行中间忽然连接端报告“数据库正在关闭”,然后用sqlplus连接自己的数据库连接不上,但是用sys/sys as sysdba能连接到空实例,此时查看侦听状态,显示如下:
Listen ...

说明你数据库instance处于mount或者nomount状态,此时pmon会通知listener,pmon动态注册的service的状态就会变成blocked,确认数据库处于open状态。

wuguangsheng 发表于 2006-11-11 21:24

侦听状态BLOCKED是什么意思阿 续续续,急急急 !!!!老大 帮忙啊

1. 我如何确定数据库是否处于open状态啊? 我使用命令sqlplus "/as sysdba" 连接后再使用命令startup
    提示已经运行。但是察看监听还是锁定状态。
2、如果我硬性关机,断电源,再重启的话,实例会不会还是锁定状态啊?会不会影响数据库的正常运行啊?

blue_stone 发表于 2006-11-12 00:09

select name,open_mode from v$database;
可以查看当前数据库的状态, 如果没有mount, 则返回ora-01507错误

numenhuang 发表于 2006-11-12 14:48

原帖由 wuguangsheng 于 2006-11-11 21:24 发表
1. 我如何确定数据库是否处于open状态啊? 我使用命令sqlplus "/as sysdba" 连接后再使用命令startup
    提示已经运行。但是察看监听还是锁定状态。
2、如果我硬性关机,断电源,再重启的话,实例会 ...

SELECT instance_name,status,active_state,open_mode
   FROM v$instance,
             v$database
   WHERE UPPER(name)=UPPER(instance_name);

wuguangsheng 发表于 2006-11-12 15:45

你给我的命令,可以查看数据库实例的状态,如果有实例是锁定状态的话,用哪个命令来使它正常啊?还有命令中的最后一句不太清楚,可以帮忙解释一下吗?我现在无法尝试这些命令,无法远程操作。如果服务器关闭后,再重启,数据库中的实例还会是锁定状态吗?谢谢您的帮助!!!

numenhuang 发表于 2006-11-12 22:26

原帖由 wuguangsheng 于 2006-11-12 15:45 发表
你给我的命令,可以查看数据库实例的状态,如果有实例是锁定状态的话,用哪个命令来使它正常啊?还有命令中的最后一句不太清楚,可以帮忙解释一下吗?我现在无法尝试这些命令,无法远程操作。如果服务器关闭后,再 ...

如果数据库没有正常open,首先要check一下alert_sid.log和相应的trace文件,察看有没有错误信息。
然后可以执行:
    sqlplus / as sysdba
    shutdown immediate
    如果此时能正常关闭,则执行:
    sqlplus / as sysdba
    startup
    然后察看数据库是否正常open。

twtdata 发表于 2011-12-22 12:27

就是3楼说的原因。
页: [1]
查看完整版本: 侦听状态BLOCKED是什么意思阿