Chinaunix首页 | 论坛 | 博客
  • 博客访问: 236111
  • 博文数量: 39
  • 博客积分: 2108
  • 博客等级: 大尉
  • 技术积分: 432
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-03 16:02
文章存档

2010年(38)

2009年(1)

我的朋友

分类: Oracle

2010-03-09 16:00:57

  最近,公司DB的使用人员越来越多,系统连接数不够用,经常达到上限,导致有的用户无法登录连接数据库。
  所以需要调整连接数。

  环境:oracle8i,Window server 2003
  方法:由于是8i,调整起来比较简单

  1,修改参数文件init$sid.ora:设置processes = 350 (原300)
  2,重启服务器

  OK。

  查询如下:


SQL> show parameter sessions

NAME TYPE VALUE
------------------------------------ ------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
mts_sessions integer 0
sessions integer 390
SQL> show parameter processes

NAME TYPE VALUE
------------------------------------ ------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
job_queue_processes integer 0
log_archive_max_processes integer 1
processes integer 350


  这次,还纠正了我一个错误观念。
  因为资料上说:sessions=processes*1.1+5,但当时我查询结果:

SQL> select a.qty as se_qty,b.qty as pr_qty
  2 from
  3 (select count(*) as qty from v$session) a,
  4 (select count(*) as qty from v$process) b
  5 ;

    SE_QTY PR_QTY
---------- ----------
       296 297


  二者完全不符合这个公式,让我很诧异……
  后来问了别人,再一查系统参数,才明白,这个公式只是说:DB的session数量限制是由设置的process数量计算出来的,两者数量并不是时时都符合这个公式!

  真是够笨的了~~
阅读(2298) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~