连接数据库异常;登陆数据库后以"conn /as sysdba"方式登陆正常,数据库轻载,无压力;于是检查数据库的监听器,输入"lsntctl services"命令,卡住,半天不出结果… 故障处理:
输入"lsntctl stop" 或者"lsntctl reload"命令,卡住,半天不出结果,于是输入service network
restart命令,一样没有效果!于是出必杀技,输入"netstat -ntpl|grep :1521"命令找出监听器的进程号,kill
-9结束掉,然后重启监听器
在linux下ORACLE中如下方式登录数据库:sqlplus /nolog conn /as sysdba但在conn /as sysdba这一步就卡住,无法登录,且查看监听状态没有反应
这 是oracle 10.2.0.1的一个bug到一定的天数之后sqplus和lsnrctl都不好用。一般的方法重启服务器。要么就是按照网上的做法,打补丁或者在监听 文件加一句话。在listener.ora 文件里加入:SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF其中,< listener_name> 是数据库的监听器的名称。如:默认情况下,监听器名为:LISTENER 。则语句就是:SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
- #modify_date: 2012-02-22
- rm -rf /tmp/check_oracle.log
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1/
$ORACLE_HOME/bin/sqlplus username/password@ip:1521/services_name <<EOF
set echo off
set feedback off
spool /tmp/check_oracle.log
alter session set nls_date_format='YYYY-MM-DD:HH24:MI:SS';
select sysdate from dual;
select name,open_mode from v\$database;
spool off
set echo on
set feedback on
EOF