DB2数据库运行维护

DB2提供了RUNSTATS命令来手工更新数据库统计信息。在成功执行RUNSTATS命令之后,静态SQL查询并不会使用最近的数据库统计信息,这是因为静态SQL的访问策略在之前执行BIND时就已确定,而当时使用的统计信息有可能与现在的并不一致。这时候就需要重新绑定使用静态sql的应用程序,这样查询优化器就可以根据数据库最新统计信息来选择获取数据库的最佳访问策略。但是,对于使用动态sql的应用程序而言,则没有必要进行重新绑定,因为动态sql语句的访问策略是根据统计信息在运行时动态生成的。

如何更新统计信息

  只有当进行显示请求时,对象的统计信息才会在系统目录表中被更新。有以下几种方法可以更新部分或全部统计信息:

  • 使用RUNSTATS(运行统计信息,Run Statistics)命令
  • 使用带有指定的统计信息收集选项的LOAD
  • 对针对一组预先定义的系统目录视图进行操作的SQL UPDATE 语句进行编码
  • 使用"reorgchk update statistics"命令

记住:批量加载数据之后要运行RUNSTATS命令
一次对一张表进行RUNSTATS命令:

db2  -v runstats on table tabschema.tabname and indexes all

这个命令将收集该表及其所有索引(基本级别)的统计信息。

查看是否执行了RUNSTATS命令

db2 -v "select tbname,nleaf,nlevels,stats_time from sysibm.sysindexes"
[db2inst1@db22 adm]$ db2 get db cfg for sample | grep -i "heap"
 Sort heap thres for shared sorts (4KB) (SHEAPTHRES_SHR) = AUTOMATIC(5000)
 Sort list heap (4KB)                         (SORTHEAP) = AUTOMATIC(256)
 Database heap (4KB)                            (DBHEAP) = AUTOMATIC(2002)
 Utilities heap size (4KB)                (UTIL_HEAP_SZ) = AUTOMATIC(5000)
 SQL statement heap (4KB)                     (STMTHEAP) = AUTOMATIC(8192)
 Default application heap (4KB)             (APPLHEAPSZ) = AUTOMATIC(256)
 Statistics heap size (4KB)               (STAT_HEAP_SZ) = AUTOMATIC(4384)
[db2inst1@db22 adm]$ db2 get dbm cfg | grep -i "heap"
 Database monitor heap size (4KB)          (MON_HEAP_SZ) = AUTOMATIC(90)
 Java Virtual Machine heap size (4KB)     (JAVA_HEAP_SZ) = 2048
 Sort heap threshold (4KB)                  (SHEAPTHRES) = 0
 Application support layer heap size (4KB)   (ASLHEAPSZ) = 15
时间: 2024-11-29 21:12:11

DB2数据库运行维护的相关文章

求助!!我weblogic 10 aix53 db2数据库运行一段时间 weblogic 就自动关闭了

问题描述 日志如下:JVMcalledWLSshutdownhook.Theserverwillforceshutdownnow有时候会出现ofthetotalmemoryintheserverisfree其它没有任何错误信息没有任何javacoreheaddump文件出现 解决方案 解决方案二:有应用占满了你的jvmheap,新版的wls就会自动shutdown的,查查哪个应用使用那么多内存解决方案三:加上自动生成HeapDump开关,让它生成,然后再做分析,应当是应用程序本身导致将WLS挂掉

DB2 V9自动维护,第1部分

简介和创建数据库期间缺省启用自动收集统计信息功能 IBM 的 DB2 V9 引入了自动维护功能,即自动数据库备份.自动统计信息更新以及在必要时重组表和 索引.DB2 V9 推出了自动备份功能,自动数据库备份功能为用户提供了一个解决方案,从而帮助用户确 保定期正确地对他们的数据库进行备份,而不必担心何时进行备份,也不需要具有有关备份命令的任何知 识.另外,DB2 V9 的自动维护功能还包括数据访问优化(运行统计).数据碎片整理(表或索引重组) 和统计信息概要分析等功能,基于这些新的特性,将大大简化

编目DB2数据库(原创)

为什么要对数据库进行编目 在创建数据库时DB2会自动地对数据库进行编目.它在本地数据库目录中为数据库编写一个条目,在系统数据库目录中编写另一个条目.如果数据库是从远程客户机(或者是从同一台机器上另一个实例执行的客户机)创建的,那么也会在客户机实例上的系统数据库中创建一个条目. 那么,为什么必须对数据库进行编目?如果没有编目信息,应用程序就无法连接数据库!DB2 有多个用来访问数据库的目录.这些目录让DB2能够找到已知的数据库,无论它们是在本地系统上,还是在远程系统上.系统数据库目录包含一个列表和

DB2数据库应用系统性能优化深入探究

DB2是一种高性能的大型关系数据库管理系统,广泛的应用在客户/服务器体系结构中.评价系统性能优化的标准有:吞吐量.响应时间.并行能力等. 设计数据库 1.熟悉业务系统 对业务系统的熟悉程度对整个数据库系统的性能有很大影响,一个对业务不熟悉的设计人员,尽管有丰富的数据库知识,也很难设计出性能最佳的数据库应用系统. 2.规范化与非规范化 数据库被规范化后,减少了数据冗余,数据量变小,数据行变窄.这样DB2的每一页可以包括更多行,那么每一区里的数据量更多,从而加速表的扫描,改进了单个表的查询性能.但是

db2数据库常用操作命令大全_数据库其它

本文详细汇总了DB2的常用操作命令,分享给大家.对于使用db2的朋友可以参考下. DB2数据库管理客户端从v9.7版本之后就不再带有控制中心了,而是使用 Data Studio Client.安装 DB2 数据库产品期间不会应用许可证密钥.但是,下列产品没有激活 CD,因此会在安装这些产品的过程中自动应用其许可证:DB2 Express-C 和 DB2 Connect 个人版.此外,DB2 个人版也是一个特殊案例.虽然 DB2 个人版具有激活 CD,但是会在安装该产品的过程中自动应用其许可证.

.Net开发DB2数据库相关应用程序比较

比较|程序|数据|数据库 简介 在.NET应用软件开发人员看来,使用DB2与使用其它任何其它关系数据库没有区别.人们可以看到无数使用SQL Server以及甲骨文公司产品执行数据库任务的例子,但关于使用包括.NET在内的微软公司技术访问DB2数据库的文档就远没有那么多了. 目前,开发人员可以使用不同的访问技术通过编程的方式将.NET客户端连接到DB2上,这些代码从根本上来说是基本相同的,但仍然存在一些我们需要考虑的有趣的限制. DB2架构慨览 DB2数据库引擎的基本元素是数据库对象.系统目录.目

JSP如何连接DB2数据库

js|数据|数据库 JSP与DB2数据库连结的问题网上有很多资料,但笔者发现大部分资料均有误,无法真正处理与DB2连结的问题,笔者经过研究解决了这个问题,现将我的一点心得发表出来,与君共享. <%@ page session="false" %><%@ page import="java.sql.*"%><%@ page import="java.util.*"%> <html><head&g

JDBC连接DB2数据库详解

数据|数据库|详解 From: RichardChoi (Richard in JLUBBS) E-mail: richardchoi@126.com 关于DB2数据库的JDBC连接文章有很多,比较出名的有诸如"JDBC数据库连接大全"和"JSP的DB2连接数据库",虽然都是很详细的资料,也都说解决了前人没有解决的问题,但还是有许多纰漏.我就这两天的经验给大家写一篇关于JDBC连接数据库的文章,以解决一部分人的疑问. 第一, JDBC是JDK的一部分(至少在Java

用Visual C#中实现DB2数据库编程(转)

visual|编程|数据|数据库 在Visual Studio.NET Beta 1版本中访问IBM DB2等非SQL Server数据库通常是使用ADO.NET的ODBC方法,而在Beta 2中则改用OLE DB方式存取数据库. Beta1中连接字符串主要需声明数据库的ODBC的DNS名字,但Beta 2中的OLE DB连接的字符串就较复杂了,使用的类也不相同.由于DB2等数据库在大型机等应用中使用非常广泛,.NET自然会全力支持此类编程开发,为此,下文将逐步阐述OLE DB的DB2开发. O