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
相关文章
|
2月前
|
存储 Oracle 关系型数据库
【数据库-DB2】深入了解DB2 reorg
本文介绍了DB2数据库中reorg操作的重要性,旨在通过重组表数据来消除数据碎片、压缩信息并提高数据访问速度。reorg操作能够根据索引关键字重新排序数据,减少查询I/O次数,提升查询性能。文章详细讲解了reorg的操作步骤、适用场景及注意事项,强调了在执行reorg前后更新统计信息的必要性。
41 2
|
7月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用合集之用于实时同步整个数据库时,该如何配置DB2
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
4月前
|
存储 缓存 NoSQL
Redis内存管理揭秘:掌握淘汰策略,让你的数据库在高并发下也能游刃有余,守护业务稳定运行!
【8月更文挑战第22天】Redis的内存淘汰策略管理内存使用,防止溢出。主要包括:noeviction(拒绝新写入)、LRU/LFU(淘汰最少使用/最不常用数据)、RANDOM(随机淘汰)及TTL(淘汰接近过期数据)。策略选择需依据应用场景、数据特性和性能需求。可通过Redis命令行工具或配置文件进行设置。
97 2
|
4月前
|
存储 监控 数据库
【计算机三级数据库技术】第10章 数据库运行维护与优化--附思维导图
介绍了数据库运行维护和性能优化的基础知识,包括数据库的转储与恢复、安全性与完整性控制、性能监控与改进、重组与重构,以及数据库存储空间管理。
52 1
|
5月前
|
存储 Oracle 关系型数据库
关系型数据库Oracle运行RMAN脚本
【7月更文挑战第23天】
54 4
|
4月前
|
关系型数据库 数据库 数据库管理
[db2]数据库管理
[db2]数据库管理
|
6月前
|
关系型数据库 数据库
数据库漫谈-DB2
DB2是IBM的产品,也是曾经辉煌过
|
7月前
|
监控 关系型数据库 分布式数据库
【PolarDB开源】PolarDB监控与报警系统构建:确保数据库健康运行
【5月更文挑战第23天】阿里云PolarDB因其存储计算分离、高兼容性等特性受企业青睐。为了确保其稳定运行,文章介绍了构建PolarDB监控与报警系统的做法。通过阿里云云监控服务开启和自定义监控视图,关注CPU、内存等关键指标,并设置告警规则。此外,通过自定义脚本与开源工具集成,满足特殊监控需求,实现全面、精准的监控报警,保障数据库健康运行。
317 2
|
6月前
|
关系型数据库 MySQL API
实时计算 Flink版操作报错合集之同步MySQL数据到另一个MySQL数据库,第一次同步后源表数据发生变化时目标表没有相应更新,且Web UI中看不到运行的任务,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
191 0