greenplum集群常用运维排障命令汇总

 

1. 管理命令

1-1. 查看greenplum集群状态-gpstate

命令参数作用
gpstate-b显示简要状态信息
gpstate-c显示主镜像映射
gpstate-e显示具有镜像状态问题的片段,例如查看gprecovery进度
gpstate-f显示备用主机standby master的详细信息
gpstate-i显示GRIPLUM数据库版本
gpstate-m只列出mirror 实例的状态和配置信息,显示镜像实例同步状态
gpstate-p显示使用的端口
gpstate-Q快速检查主机状态,该命令默认列出数据库运行状态汇总信息,常用于日常巡检
gpstate-s显示集群详细信息
gpstate-v显示详细信息

 

1-2. greenplum配置参数管理-gpconfig

命令参数作用注意事项
gpconfig-c param_name通过在postgresql.conf文件底部添加新设置来改变配置参数谨慎修改配置参数。
gpconfig-v param_name value为指定配置参数设置值。该值适用于所有Segment,Master和后备Master 
gpconfig-m param_name master_value为Master和后备Master设置指定配置参数的值 
gpconfig-masteronly仅编辑Master的postgresql.conf文件 
gpconfig-r param_name通过注释掉postgresql.conf文件中的项删除配置参数 
gpconfig-l列出所有gpconfig支持的配置参数(list) 
gpconfig-s param_name显示配置参数在集群中的所有实例上的值 
gpconfig--file param_name显示在所有实例上postgresql.conf文件中的配置参数值 
gpconfig--file-compare比较当前值与postgresql.conf文件中的值 
gpconfig--skipvalidation覆盖系统验证检查,谨慎使用 
gpconfig--verbose显示额外的日志信息 

 

1-3. 启动greenplum集群-gpstart

命令参数作用注意事项
gpstart-a快速启动 GreenPlum 数据库直接启动,不提示终端用户输入确认
gpstart-d path指定数据目录,默认是$MASTER_DATA_DIRECTORY。 
gpstart-q在安静模式下运行,命令输出不显示在屏幕,但写入日志文件。 
gpstart-m以维护模式连接到Master进行目录维护;只启动master 实例,主要在故障处理时使用 
gpstart-v显示详细启动信息。 

 

1-4. 停止nplum集群-gpstop

命令参数作用注意事项
gpstop-a快速停止直接停止,不提示终端用户输入确认
gpstop-d指定数据目录(默认值:$MASTER_DATA_DIRECTORY) 
gpstop-m维护模式用于紧急情况的选项,可以立即中止正在进行的事务,但可能导致数据不一致或数据库损坏。不建议在正常情况下使用这些选项;只停止master 实例,与gpstart –m 对应使用
gpstop-q在安静模式下运行,命令输出不显示在屏幕,但仍然写入日志文件。 
gpstop-r停止所有实例,然后重启系统 
gpstop-u重新加载配置文件 postgresql.conf 和 pg_hba.conf不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用
gpstop-v显示详细启动信息。 
gpstop-M fast快速关闭。正在进行的任何事务都被中断。然后滚回去。停止数据库,中断所有数据库连接,回滚正在运行的事务
gpstop-M immediate立即关闭。正在进行的任何事务都被中止。不推荐这种关闭模式,并且在某些情况下可能导致数据库损坏需要手动恢复。 
gpstop-M smart智能关闭。如果存在活动连接,则此命令在警告时失败。这是默认的关机模式。 
gpstop--host hostname停用segments数据节点,不能与-m、-r、-u、-y同时使用 

 

1-5. greenplum集群数据恢复修复-gprecoverseg

命令参数作用
gprecoverseg-a快速恢复。 [ 以防突然断电或远程断开等情况,一般建议后台运行: nohup gprecoverseg -a & ]
gprecoverseg-i path指定恢复文件的路径。
gprecoverseg-d path指定数据目录的路径。
gprecoverseg-l path指定日志文件的路径。
gprecoverseg-r平衡数据。[ 若存在主备切换,则需要在修复完成后进行实例切回 ]
gprecoverseg-s path指定配置空间文件的路径。
gprecoverseg-o path指定恢复配置文件的路径。
gprecoverseg-p指定额外的备用机。
gprecoverseg-F将数据文件回滚到之前的状态。相当于全量修复。 使用 -F 参数需要非常小心,因为它是一种强制操作,可能会导致数据的不一致性。
gprecoverseg-S path指定输出配置空间文件的路径。

gprecoverseg 优先级顺序 1. gprecoverseg -a --> 2. gprecoverseg --> 3. gprecoverseg -r

只有1和2实在恢复不了,数据无法修复恢复时才会使用[ gprecoverseg -F ]

 

1-6. greenplum激活备库流程

 

1-7. 初始化备Master(standby)

 

2. SQL命令

2-1. 表相关

2-1-1. 查看表信息

 

 

2-1-2. 查看表分区信息

 

2-1-3. 查看表的存储空间占用

 

 

2-1-4. 查看表的数据量

 

2-1-5. 表数据量重新分布均衡

 

2-2. 索引

2-2-1. 查看索引信息

 

 

2-2-2. 查看索引空间占用

 

2-3. 列信息

 

 

 

 

2-4. 环境相关

 

 

 

 

 

 

 

 

 

 

 

表膨胀通常指的是表的物理磁盘空间使用超过了实际需要的大小,导致性能下降和资源浪费,表膨胀问题需要处理,因为它会导致磁盘空间的浪费,减慢查询性能

  1. 表重新组织(REORG):这将重新组织表以减少碎片并释放未使用的磁盘空间。REORG是一个轻量级的操作,适用于小型的膨胀表。

  2. 表重建(REBUILD):这将创建一个新的表,将数据从原始表复制到新表,并替换原始表。这是处理大型膨胀表的更强大选项。

  3. VACUUM操作:运行VACUUM操作可以帮助清理并释放未使用的磁盘空间。在运行REORGREBUILD之前,通常需要运行VACUUM来减少膨胀表的碎片。