GP-常用数据库命令

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Greenplum日常简明维护手册1.数据库启动:gpstart常用参数:-a:直接启动,不提示终端用户输入确认-m:只启动master实例,主要在故障处理时使用访问单个数据实例:PGOPTIONS='-cgp_session_role=utility'psqltemplate1-p5432启动某个segmentinstance:pg_ctlstop/start-D/datadir/取端口号:select*fromgp_segment_configuration启动以后会在/tmp/下生成一个.lock隐藏文件,记录主进程号。2.数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master实例,与gpstart–m对应使用-f:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf和postgresql.conf中运行时参数,当改动参数配置时候使用。连接数,重启3.查看实例配置和状态select*fromgp_segment_configurationorderbycontent;select*frompg_filespace_entry;主要字段说明:Content:该字段相等的两个实例,是一对P(primaryinstance)和M(mirrorInstance)Isprimary:实例是否作为primaryinstance运行Valid:实例是否有效,如处于false状态,则说明该实例已经down掉。Port:实例运行的端口Datadir:实例对应的数据目录4.gpstate:显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primaryinstance和mirrorinstance的对应关系-m:只列出mirror实例的状态和配置信息-f:显示standbymaster的详细信息该命令默认列出数据库运行状态汇总信息,常用于日常巡检。5.查看用户会话和提交的查询等信息select*frompg_stat_activity该表能查看到当前数据库连接的IP地址,用户名,提交的查询等。另外也可以在master主机上查看进程,对每个客户端连接,master都会创建一个进程。ps-ef|grep-ipostgres|grep-icon杀进程:Linux:kill-11PIDSql:pg_cancel_backend(pid)ps–ef|grep–ipostgre|grep–icon6.查看数据库、表占用空间selectpg_size_pretty(pg_relation_size('schema.tablename'));selectpg_size_pretty(pg_database_size('databasename));分区表:Select*frompg_partitionswhere…查某个schema占用的空间:selectpg_size_pretty(pg_relation_size(tablename))frompg_tablestinnerjoinpg_namespacedont.schemaname=d.nspnamegroupbyd.nspname必须在数据库所对应的存储系统里,至少保留30%的自由空间,日常巡检,要检查存储空间的剩余容量。7.收集统计信息,回收空间定期使用Vacuumanalyzetablename回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要将delete或update的“旧”数据放到RollbackSegment,与表分开存放。并发事务为了保证数据一致性,需要从RollbackSegment上恢复数据。Greenplum:“旧数据”与表存放在一起,对旧的数据做了标志。并发事务通过transactionID(XID)判断数据是否可用系统表也是需要进行vaccum:#!/bin/bashDBNAME=databasenameVCOMMAND=VACUUMANALYZE#VCOMMAND=VACUUMFULLANALYZEpsql-tcselect'$VCOMMAND'||'pg_catalog.'||relname||';'frompg_classa,pg_namespacebwherea.relnamespace=b.oidandb.nspname='pg_catalog'anda.relkind='r'$DBNAME|psql-a$DBNAME长期没有vaccum的大表,使用重建表/drop表的方式,消除垃圾空间。Altertablexxxrenametoyyyy.8.查看数据分布情况两种方式:Selectgp_segment_id,count(*)fromtablenamegroupby1;如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能。9.实例恢复:gprecoverseg通过gpstate或gp_segment_configuration发现有实例down掉以后,使用该命令进行回复,恢复时候不需要停机,不影响应用10.查看锁信息:SELECTlocktype,database,c.relname,l.relation,l.transactionid,l.transaction,l.pid,l.mode,l.granted,a.current_queryFROMpg_locksl,pg_classc,pg_stat_activityaWHEREl.relation=c.oidANDl.pid=a.procpidORDERBYc.relname;主要字段说明:relname:表名locktype、mode标识了锁的类型MVCC:读写相互不影响select/insertupdatedelete避免死锁:delete和update是表级排他EXCLUSIVE锁。11.数据库备份gp_dump,pg_dump常用参数:-s:只导出对象定义(表结构,函数等)-n:只导出某个schemagp_dump默认在master的data目录上产生这些文件:gp_catalog_1_dbid_timestamp:关于数据库系统配置的备份文件gp_cdatabase_1_dbid_timestamp:数据库创建语句的备份文件gp_dump_1_dbid_timestamp:数据库对象ddl语句gp_dump_status_1_dbid_timestamp:备份操作的日志在每个segmentinstance上的data目录上产生的文件:gp_dump_0_dbid_timestamp:用户数据备份文件gp_dump_status_0_dbid_timestamp:备份日志12.数据库恢复gp_restorepg_restore必选参数:--gp-k=key:key为gp_dump导出来的文件的后缀时间戳-ddbname:将备份文件恢复到dbname13.Master主机硬件故障时,如何切换至StandbyMaster,切换成功后是否需要进行数据检查或恢复等HA答:在standbymaster主机上,运行gpactivatestandby-d/gpdata进行切换。由于Master只存储系统元数据信息,切换成功后,一般不需要进行数据检查和恢复。日常巡检中要检查Standbymaster是否同步,可以通过表gp_master_mirroring确认,如果发现不同步,可以通过命令:gpinitstandby-sstandby_master_hostname–n使得master和standby重新同步。14.当Master主机硬件故障排除时,如何由Standby切换至原Master主机。答:1,在standbymaster运行:gpinitstandby–soriginal_master_hostname2,在standbymaster上运行:gpstop–m,注意这里只停止master实例3,在原来的maste上运行:gpactivatestandby-d/gpdata。4,在原来的master上运行:gpinitstandby-soriginal_standby_master_hostname15.日志:master和segment上分别有日志:$DATADIR/pg_log/*.csv$DATADIR:select*frompg_filespace_entry;使用外部表将日志导入数据库,进行分析。使用xfs文件系统。后台存储目录结构:base下每个目录,对应selectoid,*frompg_database;selectrelfilenodefrompg_class:;16.gpconfig:4.0新增加管理工具,参数配置工具;-c|--changeparam_name-v|--valuevalue-m|--mastervaluemaster_value-s|--showparam_namegpconfig-cmax_connections-v100-m1017.gpcheckperf:网络:gpcheckperf-fhostfile_gpchecknet_ic1-rN–netperf-d/tmp磁盘IOgpcheckperf-fhostfile_gpcheckperf-d/data1-d/data2-rdlinuxDD命令:ddif=/dev/zeroof=/vol2/a.testbs=256kcount=161000ddif=/vol2/b.testof=/dev/nullbs=256kcount=16000018.gpssh:同时登陆到多个机器上,进行操作Gpssh-hsdw1–hsdw2-hsdw319.gp_toolkit:管理工具包:gp_bloat_diaggp_stats_missing更多详细信息参见GpadminGuideappendixI;pg_stat_last_operation:Showsthelasttimecertaindatabaseoperationswereperformedonadatabaseobject,forexample,thelasttimeatablewasvacuumed20.rolecreateroleetlwithSUPERUSER;alterroleetlwithLOGIN;修改pg_hda.conf配置文件,local和host两种模式

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功