db2首次链接数据库和关闭数据库实例速度过慢?

我有个问题想问一下,当前我数据库首次链接时速度过慢,同时关闭数据库实例也非常慢,现在服务器内存8G,增加服务器内存这样是否可以有所改观呢?

参与16

3同行回答

李英杰李英杰  数据库技术专家 , 烁林软件
数据库首次连接,情况分很多种,数据库首先需要激活,激活的过程需要分配系统资源,请确认系统资源是否空闲,如果内存不够,系统首先要置换出足够的内存分配给数据库后才能激活,也有可能是数据库需要做崩溃恢复。另外可以抓取trace,查看是哪一个步骤慢,我原来遇到一个bug,是数据库在ICC...显示全部

数据库首次连接,情况分很多种,数据库首先需要激活,激活的过程需要分配系统资源,请确认系统资源是否空闲,如果内存不够,系统首先要置换出足够的内存分配给数据库后才能激活,也有可能是数据库需要做崩溃恢复。另外可以抓取trace,查看是哪一个步骤慢,我原来遇到一个bug,是数据库在ICC认证时慢。
至于关闭数据库慢,主要取决于你的脏数据量,数据库正常关闭时需要把所有的脏数据落实到磁盘。

收起
系统集成 · 2018-07-13
浏览3802
tongshuaitongshuai  数据库工程师 , 北京新数科技有限公司
DB2数据库启动流程大体是这样的1.执行启动实例db2start,然后系统启动实例进程以及分配实例所需的内存堆。2.激活数据库,在实例进程内部启动数据库所需的线程,也就是edus以及分配数据库所需的内存堆、缓冲池等待,这一步是启动数据库中最消耗时间的。激活数据库分为显示激活、...显示全部

DB2数据库启动流程大体是这样的
1.执行启动实例db2start,然后系统启动实例进程以及分配实例所需的内存堆。
2.激活数据库,在实例进程内部启动数据库所需的线程,也就是edus以及分配数据库所需的内存堆、缓冲池等待,这一步是启动数据库中最消耗时间的。激活数据库分为显示激活、隐性激活,显示激活就是执行激活数据库命令:activate databade DB_NAME。隐性激活就是用户第一次执行连接数据库命令:connect to DB_NAME,这里包含了激活数据库及连接数据库这两个步骤。因此首次连接数据库会消耗比较多的时间。
3.取消激活数据库,顾名思义,就是激活数据库的反操作。取消激活数据库会将内存中已提交事务的脏数据页刷新到磁盘中,将未提交的事务进行回滚,然后关闭相关线程,回收相关内存,因此取消激活数据库也比较消耗时间。相应的也有显示取消激活及隐性取消激活,显示取消激活就是命令:deactivate db DB_NAME。隐性取消激活就是数据库的最后一个用户断开连接。
从你的情况来看,应该都是数据库隐性激活及取消激活数据库操作,所以就显得慢。如果想快拿就采用显示的方式。

收起
互联网服务 · 2018-07-17
匿名用户匿名用户
可是当时我的数据库已经全部变为deactive在那个时候还是关闭数据库长期无反应,在db2diag日志中还无显示,只有开启时候有些db2fmp进程的记录,所以我在想刚开启的时候db2fmp抢占部分资源,导致连接启动数据库资源不足,长期han在temmied窗口...显示全部

可是当时我的数据库已经全部变为deactive在那个时候还是关闭数据库长期无反应,在db2diag日志中还无显示,只有开启时候有些db2fmp进程的记录,所以我在想刚开启的时候db2fmp抢占部分资源,导致连接启动数据库资源不足,长期han在temmied窗口

收起
系统集成 · 2018-07-16
浏览3400

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-07-13
  • 关注会员:3 人
  • 问题浏览:5013
  • 最近回答:2018-07-17
  • X社区推广