• 6795阅读
  • 0回复

QT+Oracle执行操作,结果引发服务器暴多Process导致崩溃 [复制链接]

上一主题 下一主题
离线woolgate
 

只看楼主 倒序阅读 楼主  发表于: 2010-08-13
QT+Oracle执行操作,结果引发服务器暴多Process导致崩溃
— 本帖被 XChinux 执行加亮操作(2010-09-04) —
默认安装配置的oracle 10.2.0.1,RHEL5.4 x86
QT4.2.3开源版,使用Qt4.2.2商业版的OCI插件编译
一个qt程序,有两个线程,不停的 连上、执行insert/update操作,断开
执行一段时间后报连接错误,ORA-12516 tns listener could not find available handler with matching protocol stack.
查v$session,只有21条,没有qt程序,
查v$process,有149条,其中大量的username为oracle的terminal为unknown,program为oracleorcl@hostname,PGA_used_mem相同的记录
查网上说修改session,process最大值,恐修改了后继续会被充满,求教

qt程序关闭,则process恢复正常

qt代码
{
{
  QSqlDatabase db=QSqlDatabase::addDatabase("QOCI","myapp1");
  db.setDatabaseName("svr");
  db.setUserName(user);db.setPassword(pswd);
  db.open();
  QSqlQuery query(db);
  query.exec("insert...");query.exec("update...");
  db.close();
}
QSqlDatabase::removeDatabase("myapp1");
}

v$session里有4个inactive的连接
一个Plsql,一个emagent,两个OMS,

#ps -Aux|grep oracle
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle   16698  0.0  0.7 682112 15200 ?        Ss   09:04   0:00 oracleorcl (LOCAL=NO)
oracle   16700  0.0  1.5 682636 32540 ?        Ss   09:04   0:00 oracleorcl (LOCAL=NO)
oracle   16705  0.0  0.9 682112 18664 ?        Ss   09:04   0:00 oracleorcl (LOCAL=NO)
oracle   16707  0.0  0.7 682112 15036 ?        Ss   09:04   0:00 oracleorcl (LOCAL=NO)
oracle   16714  0.0  1.5 682632 31732 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16716  0.0  0.9 682112 19008 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16721  0.0  0.9 682112 19080 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16723  0.2  1.6 682632 35036 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16727  0.0  0.9 682112 18880 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16731  0.0  0.9 682112 18748 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16734  0.0  0.9 682112 18808 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16736  0.0  0.9 682112 19812 ?        Ss   09:05   0:00 oracleorcl (LOCAL=NO)
oracle   16742  0.0  0.9 682112 18828 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16746  0.0  0.9 682112 18768 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16782  0.0  0.9 682112 18800 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16784  0.0  0.9 682108 19728 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16805  0.0  0.9 682112 18860 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16811  0.0  0.9 682108 18728 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16816  0.0  0.9 682112 18840 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16818  0.0  0.9 682112 19724 ?        Ss   09:06   0:00 oracleorcl (LOCAL=NO)
oracle   16822  0.0  0.9 682112 18916 ?        Ss   09:07   0:00 oracleorcl (LOCAL=NO)
oracle   16845  0.0  0.9 682112 18732 ?        Ss   09:07   0:00 oracleorcl (LOCAL=NO)
oracle   16865  0.1  0.9 682112 18736 ?        Ss   09:07   0:00 oracleorcl (LOCAL=NO)
oracle   16867  0.1  0.9 682112 19632 ?        Ss   09:07   0:00 oracleorcl (LOCAL=NO)
快速回复
限100 字节
 
上一个 下一个