资源描述
Greenplum 日常简明维护手册1.数据库启动:gpstart常用参数: -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_hba.conf和postgresql.conf中运行时参数,当改动参数配置时候使用。连接数,重启3.查看实例配置和状态select * from gp_segment_configuration order by content ;select * frompg_filespace_entry ;4.5.主要字段说明:Content :该字段相等的两个实例,是一对PC primary instance )和M( mirrorInstance)Isprimary: 实例是否作为 primary instance 运行Valid:实例是否有效,如处于false状态,则说明该实例已经down掉。Port :实例运行的端口Datadir:实例对应的数据目录gpstate :显示 Greenplum 数据库运行状态,详细配置等信息常用可选参数:-c: primary instance 和 mirror instance 的对应关系-m:只列出mirror实例的状态和配置信息 -f :显示standby master的详细信息 该命令默认列出数据库运行状态汇总信息,常用于日常巡检。查看用户会话和提交的查询等信息select * from pg_stat_activity 该表能查看到当前数据库连接的 IP 地址,用户名,提交的查询等。另外也可以在 master 主机上查看进程,对每个客户端连接master 都会创建一个进程。ps -ef |grep -i postgres |grep -i con杀进程:Linux: kill -11 PIDSql :pg_cancel_backend( pid )ps ef Igrep i postgre Igrep -i con6. 查看数据库、表占用空间select pg_size_pretty(pg_relation_size(schema.tablename); select pg_size_pretty(pg_database_size(databasename);分区表:Select * from pg_partitions where 查某个schema占用的空间:select pg_size_pretty(pg_relation_size(tablename) from pg_tables t innerjoin pg_namespace d on t.schemaname=d.nspname group by d.nspname必须在数据库所对应的存储系统里,至少保留30%的自由空间,日常巡检,要检查 存储空间的剩余容量。7. 收集统计信息,回收空间定期使用Vacuum analyze tablename回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要DeleteUpdateTrans.LogTable DataInsertDelete4 Rollback.SegmentCommitUpdateInsertDeleteSelectTransTable将delete或update的“旧”数据放到Rollback Segment,与表分开存放。并发事务为了保 证数据一致性,需要从Rollback Segment上恢复数据。SelectOnly view the row that should viewable aGoonding to the iransacnon logGreenplum:“旧数据与表存放在一起,对旧的数据做了标志。并发事务通过transaction ID( XID)判断数据是否可用系统表也是需要进行vaccum:#!/bin/bashDBNAME=databasenameVCOMMAND=VACUUM ANALYZE #VCOMMAND=VACUUM FULL ANALYZE psql -tc select $VCOMMAND | pg_catalog. | relname | ; from pg_class a,pg_namespace b where a.relnamespace=b.oid and b.nspname= pg_catalog anda.relkind=r $DBNAME | psql -a $DBNAME长期没有Vaccum的大表,使用重建表/drop表的方式,消除垃圾空间。Alter table xxx rename to yyyy.8. 查看数据分布情况两种方式:Select gp_segment_id,count(*) from tablename group by 1 ;如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能。9. 实例恢复: gprecoVerseg通过gpstate或gp_segment_configuration发现有实例down掉以后,使用该命令进行回复,恢复时候不需要停机,不影响应用10. 查看锁信息:SELECT locktype, database, c.relname, l.relation, l.transactionid, l.transaction, l.pid, l.mode, l.granted, a.current_queryFROM pg_locks l, pg_class c, pg_stat_activity aWHERE l.relation=c.oid AND l.pid=a.procpidORDER BY c.relname;主要字段说明:relname: 表名locktype、mode 标识了锁的类型MVCC: 读写相互不影响 select / insert update delete避免死锁:delete和update是 表级排他EXCLUSIVE锁。11. 数据库备份 gp_dump, pg_dump常用参数: -s: 只导出对象定义(表结构,函数等)-n:只导出某个schemagp_dump默认在master的data目录上产生这些文件: gp_catalog_1_ :关于数据库系统配置的备份文件 gp_cdatabase_l_vdbid_vtimestamp:数据库创建语句的备份文件gp_dump_l_vdbid_vtimestamp:数据库对象ddl语句 gp_dump_status_l_vdbid_vtimestamp :备份操作的日志 在每个segment instance上的data目录上产生的文件: gp_dump_O_vdbid_vtimestamp:用户数据备份文件 gp_dump_status_O_vdbid_vtimestamp :备份日志l2.数据库恢复 gp_restore pg_restore必选参数:-gp-k=key : key为gp_dump导出来的文件的后缀时间戳-d dbname :将备份文件恢复到dbname13Master主机硬件故障时,如何切换至Stand by Master,切换成 功后是否需要进行数据检查或恢复等 HA答:在stand by master 主机上,运行 gpactivatestandby -d /gpdata 进行切换。由于Master 只存储系统元数据信息,切换成功后,一般不需要进行数据检查和恢复。日 常巡检中要检查Stand by master是否同步,可以通过表gp_master_mirroring确认, 如果发现不同步,可以通过命令:gpinitstandby -s standby_master_hostname -使得 master和standby重新同步。14.当Master主机硬件故障排除时,如何由Stand by切换至原Master主机。答:1,在 standby master 运行:gpinitstandby -s original_master_hostname2,在standby master上运行:gpstop -m, 注意这里只停止master实例 3,在原来的 maste 上运行: gpactivatestandby -d /gpdata。4,在原来的 master 上运行: gpinitstandby -s original_standby_master_hostname15. 日志master 和 segment 上分别有日志:$DATADIR/pg_log/*.csv$DATADIR:select * from pg_filespace_entry ;使用外部表将日志导入数据库,进行分析使用 xfs 文件系统。 后台存储目录结构:ItemDescriptionPG_VER5I0NA file containing the major version number of PostgreSQLbaseSubdirectoiy containing per-database subdirectoriesglobalSubdirBctor)r containing duster-wide tables, such as pg databasepg clogSubdirBctoiy containing trailsactiou commit status datapg iuultixactSubdirectory containing multitransactioi status data (used for shared row locks)pg stat tmpSubdirBctoiy containing temporary files for the statistics subsy吐umpg siibtransSubdirectory containing subtransaction status datapg ttlspcSubdirBctorr containing symbolic Imks to tablespacespg twophdseSubdirectory containing state les for prepared transactionspg xlogSubdirectory containing WAL (Vriite Ahead Log) filespostiiiaster. optsA file recording the commaiid-line options the server was last started withpoBtraaBter.pidA lock 五1 巳 recording the current server PID and shared memory segment ID (not present after server shutdown)base 下每个目录,对应select oid ,* from pg_database ;select relfilenode from pg_class : ;16. gpconfig : 4.0 新增加管理工具,参数配置工具-c | -change -v | -value value-m | -mastervalue master_value-s | -show gpconfig -c max_connections -v 100 -m 1017. gpcheckperf :网络:gpcheckperf -f hostfile_gpchecknet_icl -r N netperf -d /tmp磁盘 IOgpcheckperf -f hostfile_gpcheckperf -d /datal -d /data2 -r dlinux DD 命令:dd if=/dev/zero of=/vol2/a.test bs=256k count=161000dd if=/vol2/b.test of=/dev/null bs=256k count=160000l8. gpssh : 同时登陆到多个机器上,进行操作sdwl sdwl sdwl sdwl sdwl sdw2 sdw2 sdw2 sdw2 sdw2prats r b5 05 05 0procs r b6 0swpd608729660872966087296memor f r ee238136238616239136Suff780478127812cache4787634047876408 斗787642斗oloon-i-bswpd6007292memor free243696Kuff7704cache4788124S-ml60 6007292 2斗382060 6007292 2441927712 478812斗07712 47881340-system- bo in cs us129101713 1124 1164 1393 1100 1077 -system- bo in cs us1200 Q883 10309911023 1059957-a 9 9 9 - a 9 5 5 -977 - 977 pd o o o pd o o o c 1_1cml一 yo 11 - yo 5 5 -s 2 z - s 2 2Gpssh -h sdwl -h sdw2 -h sdw319. gp_toolki:t管理工具包:gp_bloat_diag. gp_stats_missing 更多详细信息参见 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
展开阅读全文