AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 320489
Accepted
folow
folow
Asked: 2022-12-03 06:10:12 +0800 CST2022-12-03 06:10:12 +0800 CST 2022-12-03 06:10:12 +0800 CST

目录缓存太小 - 有什么方法可以确定大小?

  • 772

在 db2diag.log 的 Db2/Linux_x86_64 上,我经常看到关于 CATALOGCACHE_SZ 参数太小的警告,例如:

2022-12-02-14.40.53.536711+060 E5979903E769          LEVEL: Warning
PID     : 4508                 TID : 140629241751296 PROC : db2sysc 0
INSTANCE: prod1                NODE : 000            DB   : MYDB
APPHDL  : 0-33700              APPID: 10.12.3.4.13429.221202134054
AUTHID  : USER1                HOSTNAME: myserver.com
EDUID   : 4958                 EDUNAME: db2agent (DB2P) 0
FUNCTION: DB2 UDB, catcache support, sqlrlc_check_available_memory, probe:100
MESSAGE : ADM4000W  A catalog cache overflow condition has occurred.  There is
          no error but this indicates that the catalog cache has exceeded the
          configured maximum size.  If this condition persists, you may want to
          adjust the CATALOGCACHE_SZ DB configuration parameter.

我检查了建议:

 db2 autoconfigure apply none | grep CATALOGCACHE_SZ
 Catalog cache size (4KB)              (CATALOGCACHE_SZ) = 1093     1093

我同时看到:“当前值”和“建议”具有相同的值 1093。

有没有其他方法可以确定目录缓存大小应该有多大?或者任何增加的方法,比如加倍,看看问题是否再次出现。

db2
  • 1 1 个回答
  • 51 Views

1 个回答

  • Voted
  1. Best Answer
    mustaccio
    2022-12-08T05:32:06+08:002022-12-08T05:32:06+08:00

    您可以尝试的事情很少,顺序不分先后:

    • 忽略该警告,除非它出现得太频繁(例如每小时多次)。

    • 继续将大小加倍,直到警告消失,或者直到您意识到内存可以更好地用于其他地方。

    • 增加到 4 并查看诊断日志中是否打印了更多diaglevel详细信息以及警告。

    • 遵循手册中的建议,例如

      调整此参数时,您应该考虑为目录缓存保留的额外内存如果分配用于其他目的(例如缓冲池或程序包缓存)是否可能更有效。

      如果工作负载在短时间内涉及许多 SQL 或 XQuery 编译,此后很少或没有编译,则调整此参数尤为重要。如果高速缓存太大,则可能会浪费内存来保存不再使用的信息副本。

      在分区数据库环境中,考虑是否catalogcache_sz需要将目录节点上的 设置得更大一些,因为非目录节点所需的目录信息总是首先缓存在目录节点上。

      (cat_cache_lookups目录缓存查找)、cat_cache_inserts(目录缓存插入)、cat_cache_overflows(目录缓存溢出)和cat_cache_size_top(目录缓存高水位线)监视元素可以帮助您确定是否应该调整此配置参数。

    • 2

相关问题

  • 从 DB2 迁移到 MySQL

  • 解释计划中的 TBSCAN GERROW 是什么意思?

  • 在 DB2 SQL 中模拟类似 REGEXP 的行为

  • z/OS 上 DB2 v9 上的 BLOB

  • 解释计划中的 HSJOIN 是什么意思?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve