GreenPlum中的gpcheckcat工具

0    191    1

Tags:

👉 本文共约2299个字,系统预计阅读时间或需9分钟。

简介

gpcheckcatgpcheckcat工具测试Greenplum数据库目录表的不一致性。

该工具在$GPHOME/bin/lib中。

概要

描述

gpcheckcat工具运行多种测试检查数据库目录的不一致。 某些测试不能与其他负载语句同时运行, 否则结果将不可用。运行gpcheckcat时,要以受限模式重新启动数据库,否则,gpcheckcat 可能会由于正在进行的数据库操作而报告不一致,这会与实际的不一致数量不同。如果用户在不停止数据库活动的情况下运行 gpcheckcat,请使用-O选项运行它。

Note: 每当用户运行该工具时,它都会检查并删除指定数据库中的孤立的临时数据库方案(没有会话ID的临时方案)。 该工具在命令行上显示孤立临时模式检查的结果,并在日志中记录该结果。

目录不一致是Greenplum数据库系统表之间发生的不一致。一般来说,有三种不一致:

  • Segment级的系统表不一致。例如,包含表数据的系统表与包含列数据的系统表之间的不一致。另一个例子是一个 系统表在本该唯一的列中包含重复。
  • Segment之间相同系统表之间的不一致。例如,一个系统表在一个Segment上缺少一行,但其他Segment具有这一行。 作为另一个例子,特定的行列数据的值在不同的Segment之间不同,例如表所有者或表访问特权。
  • 持久化系统表对象状态和文件系统对象间的不一致。例如,一个文件在数据库目录中存在,但数据库系统表中 不存在相应的对象。

选项

-A

在Greenplum数据库安装的所有数据库上运行gpcheckcat。

-B parallel_processes

并行运行的进程数量。

gpcheckcat工具尝试确定要同时使用的进程数(批尺寸)。该工具假定它可以为 每个进程使用最小为20MB的缓冲区。并行进程的最大数量是Greenplum数据库Segment实例的数量。 当该工具开始检查目录时,它会显示所使用的并行进程的数量。

Note: 如果返回的错误数量超过缓冲区大小,则该工具可能会耗尽内存。如果发生内存不足错误,可以使用 -B选项降低批尺寸。例如,如果该工具显示批尺寸为936并且内存不足,则可以指定 -B 468并行运行468个进程。

-C catalog_table

对指定的目录表运行交叉一致性、外键和ACL测试。

-g data_directory

生成SQL脚本来修复目录不一致。脚本被放置在data_directory中。

-l

列出gpcheckcat测试。

-O

只运行可以在线(不受限)模式运行的gpcheckcat测试。

-p port

这一选项指定Greenplum数据库使用的端口。

-P password

连接到Greenplum数据库的用户的密码。

-R test_name

指定要运行的测试。某些测试只有当Greenplum数据库处于受限模式时才能运行。

这些是可以执行的测试:

acl - 对访问控制特权的交叉一致性检查

duplicate - 检查重复项

foreign_key - 检查外键

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复