2008年(239)
分类: DB2/Informix
2008-06-18 00:24:49
对数据库系统的进程管理,数据库管理员就是根据自身需要,通过调整系统配置参数,影响数据库系统的运行。在具体的系统维护过程中,管理员可以按照以下原则对数据库系统的相关功能模块进行设置:
(1)根据应用系统中访问数据库系统的用户数目,决定系统要启动的代理进程数目。代理进程的数目以满足系统的用户连接、并略有冗余为宜,太多的代理进程数将消耗不必要的系统资源。
(2)在交互式的应用系统环境中,如果系统中有大量的用户连接,可以考虑使用共享的代理进程,以减少系统资源的消耗。对INFORMIX、SYBASE这种多线程的系统,可以不用考虑这一点。
(3)在不同的数据库系统中,对一个监听进程能够服务的客户端应用程序的数目,有不同的说法。一般来说,一个监听进程能够支持200个左右的客户端应用程序,数据库管理员可以根据这个大概值,决定应用系统中需要启动的监听进程数目。
(4)如果系统中频繁出现诸如:表扫描、排序等大数据量操作,可以考虑:增加异步预取进程的数目,提高内存中未使用数据页的上限值。但前提是这些大数据量操作是必需的,应尽可能避免由于不当的SQL语句等非正常原因而引起的表扫描、排序操作。
(5)在设置检查点操作的执行间隔时,最初可以使用系统缺省值,然后根据系统的运行情况进行调整。
(6)页清除进程对内存中脏数据的磁盘写操作,应能够保证:代理进程在申请可用内存时,总能找到足够的空闲空间。如果系统中出现代理进程对可用内存的等待,就需要增加页清除进程的数目,调整内存中脏数据页的阀值,甚至可以降低检查点的执行间隔。
(7)对于死锁很少出现、甚至不会发生的应用系统,可以增大死锁检测的时间间隔,从而减少死锁检测的执行次数,避免不必要的系统开销。如果系统中出现死锁,管理员应当找出原因,想办法进行解决。
(8)数据库管理员应当定期维护数据库对象上的统计信息。应当根据应用系统的需要,决定优化器的优化级别以及在数据库对象上收集那些统计信息。