带你深入了解IBM DB2的通信与连接过程
2008-08-28 16:25:59 来源:WEB开发网一般说来有这样的原则,当在连接数据库是出现内存错误时,调节如下参数:
◆在单分区并且没有节点内并行性 (SMP) 的情况下增大 MAXAGENTS 的值。
◆在多分区 (MPP) 或者节点内并行环境 (SMP) 的情况下增大 MAXAGENTS 或 MAX_COORDAGENTS 的值。
◆在连接集中器激活的情况下,增大 MAX_CONNECTIONS 的值。
2. 连接挂起问题
还有一个与连接相关的问题:在首次连接数据库时,连接时间总要长一些。这是因为数据库在为首次连接分配内存,主要是缓冲池。连接时间长短取决于操作系统的内存调用情况以及缓冲池的大小。有时用户常常会为了提高应用性能盲目的扩大缓冲池,造成缓冲池设置得太大,甚至超过了数据库共享内存,使得实例无法为数据库分配足够的内存,在连接数据库时就会出现挂起现象。而这时想将缓冲池设小也没办法了,因为数据库连不上,无法设置缓冲池。这也是一个常见的问题。遇到这种问题时,有些用户甚至被迫重建数据库。其实这个问题可以通过设置 DB2 注册参数 DB2_OVERRIDE_BPF 来设置缓冲池的大小,从而能够再次连接数据库。在缺省情况下 (v9.1,v9.5) 缓冲池的大小被设置成 -2(通过 select npages from syscat.BUFFERPOOLS 得到),这说明缓冲池时自动增长的,这种情况下最好不要修改缓冲池的大小,可以让 DB2 自动去调节。
3. 常见通信错误
通常在连接数据库时还会遇到的一些与网络通信相关的错误,这些错误号如:SQL30080,SQL30081 等等。可以用以下一些方法去尝试解决:
◆执行命令 db2set –all 来检查一下是否有 DB2COMM=TCPIP 一项,如果没有则应该添加上。
◆执行命令 db2 get dbm cfg | grep SVCENAME 来检查 SVCENAME 设定的服务是否在 /etc/services(UNIX) 中定义了 (WINDOWS 是在 %windir%system32driversetc services)。当然如果 SVCENAME 是一个端口号,则不用在 services 中定义。(端口号应小于 65536)
- ››深入理解JAR包
- ››深入分析Volatile的实现原理
- ››深入理解Flash Player的应用程序域(Application ...
- ››深入理解flash函数(AS2)
- ››深入理解Android消息处理系统——Looper、Handler...
- ››深入理解SET NAMES和mysql(i)_set_charset的区别
- ››深入理解Mysql字符集设置
- ››深入浅出实战攻防恶意PDF文档
- ››深入剖析防火墙策略的执行过程:ISA2006系列之六
- ››IBM WebSphere常见问题解答
- ››IBM WebSphere Studio V5相关认证资料
- ››IBM WebSphere应用服务器发展趋势
更多精彩
赞助商链接