WEB开发网
开发学院数据库DB2 带你深入了解IBM DB2的通信与连接过程 阅读

带你深入了解IBM DB2的通信与连接过程

 2008-08-28 16:25:59 来源:WEB开发网   
核心提示: 一般说来有这样的原则,当在连接数据库是出现内存错误时,带你深入了解IBM DB2的通信与连接过程(9),调节如下参数:◆在单分区并且没有节点内并行性 (SMP) 的情况下增大 MAXAGENTS 的值,◆在多分区 (MPP) 或者节点内并行环境 (SMP) 的情况下增大 MAXAGENTS

一般说来有这样的原则,当在连接数据库是出现内存错误时,调节如下参数:

◆在单分区并且没有节点内并行性 (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)

上一页  4 5 6 7 8 9 10  下一页

Tags:深入 了解 IBM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接