GreenPlum-常用数据库命令

阅读: 评论:0

2024年1月31日发(作者:)

GreenPlum-常用数据库命令

Greenplum 日常(rìcháng)简明(jiǎnmíng)维护(wéihù)手册

1.

数据库启动(qǐdòng):gpstart

常用(chánɡ yònɡ)参数: -a : 直接启动,不提示终端用户输入确认

-m:只启动master 实例,主要在故障处理时使用

访问单个数据实例:

PGOPTIONS='-c gp_session_role=utility' psql template1 -p 5432

启动某个segment instance : pg_ctl stop/start -D /datadir/

取端口号:

select * from gp_segment_configuration

启动以后会在/tmp/ 下生成一个.lock 隐藏文件,记录主进程号。

2.

数据库停止:gpstop:

常用可选参数:-a:直接停止,不提示终端用户输入确认

-m:只停止master 实例,与gpstart –m 对应使用

-f:停止数据库,中断所有数据库连接,回滚正在运

行的事务

-u:不停止数据库,只加载pg_ 和中运行时参数,当改动参数配置时候使用。

连接数,重启

3.

查看(chákàn)实例配置(pèizhì)和状态

select * from gp_segment_configuration order by content ;

select * from pg_filespace_entry ;

主要(zhǔyào)字段说明(shuōmíng):

Content:该字段相等的两个(liǎnɡ ɡè)实例,是一对P(primary

instance)和M(mirror

Instance)

Isprimary:实例是否作为primary instance 运行

掉。

Port:实例运行的端口

Valid:实例是否有效,如处于false 状态,则说明该实例已经down

Datadir:实例对应的数据目录

4.

gpstate :显示Greenplum数据库运行状态,详细配置等信息

常用可选参数:-c:primary instance 和 mirror instance 的对应关系

-m:只列出mirror 实例的状态和配置信息

-f:显示standby master 的详细信息

该命令默认列出数据库运行状态汇总信息,常用于日常巡检。

5.

查看用户会话和提交的查询等信息

select * from pg_stat_activity 该表能查看到当前数据库连接的IP 地址,用户名,提交的查询等。另外也可以在master 主机上查看进程,对每个客户端连接,master 都会创建一个进程。ps -ef |grep -i postgres |grep -i con

杀进程:Linux: kill -11 PID

Sql : pg_cancel_backend(pid)

ps –ef |grep – i postgre |grep –i con

6.

查看数据库、表占用空间

查询表大小:

select pg_size_pretty(pg_relation_size('ame'));

例: select pg_size_pretty(pg_relation_size('iidp__load_state'));

表和索引(suǒyǐn)

select pg_size_pretty(pg_total_relation_size('iidp__load_state '));

查询数据库大小(dàxiǎo)

select pg_size_pretty(pg_database_size('databasename'));

例:select pg_size_pretty(pg_database_size('BDDJ_S_T'));--单个库

select datname,pg_size_pretty(pg_database_size(datname)) from pg_database; --所有(suǒyǒu)库

分区表:

Select * from pg_partitions where …

查某个(mǒu ɡè)schema 占用的空间:

select pg_size_pretty(pg_relation_size(tablename)) from pg_tables t inner

join pg_namespace d on name=e group by e

必须在数据库所对应的存储系统里,至少保留30%的自由空间,日常巡检(xún jiǎn),要检查存储空间的剩余容量。

7.

收集统计信息,回收空间

定期使用Vacuum analyze tablename 回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要

将delete 或 update 的“旧”数据放到 Rollback Segment,与表分开存放(cúnfàng)。并发事务为了保证数据一致性,需要从Rollback Segment 上恢复数据。

Greenplum:“旧数据(shùjù)”与表存放(cúnfàng)在一起,对旧的数据做了标志。并发事务通过

transaction ID(XID)判断数据(shùjù)是否可用

系统表也是需要(xūyào)进行vacuum:

#!/bin/bash

DBNAME="databasename"

VCOMMAND="VACUUM ANALYZE"

#VCOMMAND="VACUUM FULL ANALYZE"

psql -tc "select '$VCOMMAND' || ' pg_catalog.' || relname || ';' from pg_class

a,pg_namespace b where espace= and e= 'pg_catalog' and

d='r'" $DBNAME | psql -a $DBNAME

长期没有vaccum 的大表,使用(shǐyòng)重建表/drop 表的方式(fāngshì),消除垃圾空间。

Alter table xxx rename to yyyy.

8.

查看(chákàn)数据分布情况

两种方式(fāngshì):

 Select gp_segment_id,count(*) from tablename group by

1 ;

如数据分布不均匀,将发挥不了并行计算的优势(yōushì),严重影响性能。

查看磁盘分布

select dfhostname, dfspace,dfdevice from gp__disk_free order by dfhostname

9.

实例恢复:gprecoverseg

通过gpstate 或gp_segment_configuration 发现有实例down 掉以后,使用该命令进行回复,恢复时候不需要停机,不影响应用

10.

查看锁信息:

SELECT locktype, database, e, on, ctionid, ction,

, , d, t_query

FROM pg_locks l, pg_class c, pg_stat_activity a

WHERE on= AND =d

ORDER BY e;

主要字段说明:

relname: 表名

locktype、mode 标识了锁的类型

MVCC: 读写相互不影响 select / insert update delete

避免死锁: delete 和 update 是 表级排他EXCLUSIVE锁。

11.

数据库备份 gp_dump, pg_dump

常用参数:-s: 只导出对象定义(表结构,函数等)

-n: 只导出某个schema

gp_dump 默认在master 的data 目录上产生(chǎnshēng)这些文件:

gp_catalog_1__ :关于(guānyú)数据库系统配置的备份文件

gp_cdatabase_1__:数据库创建(chuàngjiàn)语句的备份文件

gp_dump_1__:数据库对象(duìxiàng)ddl语句

gp_dump_status_1__:备份(bèi fèn)操作的日志

在每个segment instance 上的data目录上产生的文件:

gp_dump_0__:用户数据备份文件

gp_dump_status_0__:备份日志

12.

数据库恢复 gp_restore pg_restore

必选参数:--gp-k=key :key 为gp_dump 导出来的文件的后缀时间戳

-d dbname :将备份文件恢复到dbname

13.

Master主机硬件故障时,如何切换至Stand by Master,切换成功后是否需要进行数据检查或恢复等 HA

答:在stand by master 主机上,运行 gpactivatestandby -d /gpdata 进行切换。由于Master 只存储系统元数据信息,切换成功后,一般不需要进行数据检查和恢复。日常巡检中要检查Stand by master 是否同步,可以通过表gp_master_mirroring 确认,如果发现不同步,可以通过命令:gpinitstandby

-s standby_master_hostname –n 使得master和standby 重新同步。

14.

当Master主机硬件故障(gùzhàng)排除时,如何由Stand by切换(qiē huàn)至原Master主机(zhǔjī)。

答:1,在standby master运行(yùnxíng):

gpinitstandby –s original_master_hostname

2,在standby master 上运行(yùnxíng):gpstop –m, 注意这里只停止master 实例

3,在原来的maste上运行:gpactivatestandby -d /gpdata。

4,在原来的master上运行:gpinitstandby -s original_standby_master_hostname

15.

日志: master 和 segment 上分别有日志:

$DATADIR/pg_log/*.csv

$DATADIR:

select * from pg_filespace_entry ;

使用外部表将日志导入数据库,进行分析。

使用xfs 文件系统。

后台存储目录结构:

base 下每个目录(mùlù),对应

select oid ,* from pg_database ;

select relfilenode from pg_class : ;

16.

gpconfig : 4.0 新增加(zēngjiā)管理工具,参数配置(pèizhì)工具;

-c | --change

-v | --value value

-m | --mastervalue master_value

-s | --show

gpconfig -c max_connections -v 100 -m 10

17.

gpcheckperf :

网络(wǎngluò):

gpcheckperf -f hostfile_gpchecknet_ic1 -r N –netperf -d /tmp

磁盘(cí pán)IO

gpcheckperf -f hostfile_gpcheckperf -d /data1 -d /data2 -r d

linux DD 命令(mìng lìng):

dd if=/dev/zero of=/vol2/ bs=256k count=161000

dd if=/vol2/ of=/dev/null bs=256k count=160000

18.

gpssh : 同时登陆到多个(duō ɡè)机器上,进行操作

Gpssh -h sdw1 –h sdw2 -h sdw3

19.

gp_toolkit: 管理(guǎnlǐ)工具包:

gp_bloat_diag

 gp_stats_missing

更多详细信息参见(cānjiàn)GpadminGuide appendix I ;

pg_stat_last_operation:Shows the last time certain database operations were

performed on a database object, for example, the last time a

table was vacuumed

内容总结

GreenPlum-常用数据库命令

本文发布于:2024-01-31 14:45:58,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668355829276.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   数据   实例   进行   信息   恢复   需要   文件
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23