您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > GP日常维护手册-常用命令
Greenplum日常维护手册1.数据库启动:gpstart常用可选参数:-a:直接启动,不提示终端用户输入yes确认-m:只启动master实例,主要在故障处理时使用2.数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master实例,与gpstart–m对应使用-Mfast:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf和postgresql.conf中运行时参数,当改动参数配置时候使用。-f:强制停止数据库-r:重启数据库3.查看实例配置和状态select*fromgp_configurationorderby1;select*fromgp_configuration_historyorderby1;主要字段说明:Content:该字段相等的两个实例,是一对P(primaryinstance)和M(mirrorInstance)Isprimary:实例是否作为primaryinstance运行Valid:实例是否有效,如处于false状态,则说明该实例已经down掉。Port:实例运行的端口Datadir:实例对应的数据目录注4.0后,实例配置的数据表:gp_segment_configuration、pg_filespace_entry、gp_fault_strategy;其它常用的系统表:pg_class,pg_attribute,pg_database,pg_tables……可以用tab来匹配表名;4.gpstate:显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primaryinstance和mirrorinstance的对应关系-m:只列出mirror实例的状态和配置信息-f:显示standbymaster的详细信息-s:查看详细状态,如在同步,可显示数据同步完成百分比--version,查看数据库version(也可使用pg_controldata查看数据库版本和postgresql版本)该命令默认列出数据库运行状态汇总信息,常用于日常巡检。5.查看用户会话和提交的查询等信息select*frompg_stat_activity该表能查看到当前数据库连接的IP地址,用户名,提交的查询等。另外也可以在master主机上查看进程,对每个客户端连接,master都会创建一个进程。ps-ef|grep-ipostgres|grep-iconpg_backend_pid();pg_cancel_backend(integer)6.查看数据库、表占用空间selectpg_size_pretty(pg_relation_size('schema.tablename'));(与pg_tables子查询查看所有表的占用空间)selectpg_size_pretty(pg_database_size('zctt'));必须在数据库所对应的存储系统里,至少保留30%的自由空间,日常巡检,要检查存储空间的剩余容量。7.收集统计信息,回收空间定期使用Vacuumanalyzetablename回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要、需要定期对数据字典做vacuum和reindex,如pg_class,pg_attribute等系统表。可以gp_toolkit.gp_bloat_diag看膨胀很大的表;8.查看数据分布情况两种方式:Selectgp_segment_id,count(*)fromtablenamegroupby1;在命令运行:gpskew-tpublic.ate-apostgres如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能。9.登录每一个实例数据库的方法PGOPTIONS='-cgp_session_role=utility'psqldbname–pxxxx可以通过这个命令登录实例,一般用于检测单个实例是否运行正常,还有就是用于在集群发生不一致时(只有在非常特殊的情况下才有可能发生,如表不一致等),进行表维护10.实例恢复:gprecoverseg通过gpstate或gp_configuration发现有实例down掉以后,使用该命令进行回复。gprecoverseg-F强制恢复11.查看锁信息:注:在Greenplum里(截至到4.0版本),INSERT和COPY都是行级锁,UPDATE/DELETE都是表级锁;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标识了锁的类型注:也可以通过pgadminIII的工具-服务器状态查看当前运行的SQL及锁等待情况。发生Deadlock时,系统自动让其中一个SQL失败,并提示deadlock信息。12.explain:在提交大的查询之前,使用explain分析执行计划、发现潜在优化机会,避免将系统资源熬尽。explainanalyzesql,将执行一次SQL,并行将过程中的具体cost和运行情况记录下来也可以用pgadminIII进行explain的图形化显示,进而来优化执行路径,如表关联策略等。注:可以在Master的postgresql.conf中修改log_min_duration_statement=5000s,SQL运行耗时超过这个值得都在pg_log纪录SQL的实际耗时,用来监控耗时的SQL。13.数据库并行备份gp_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:备份日志gpcorndump:可以用于备份数据库配置文件和全局数据(如角色、资源队列等)Example:gpcrondump-xmydatabase–u/xxx/-c-g–G–a–q$DATE.log-g备份postgresql.conf、pg_hba.conf、pg_ident.conf-G备份全局对象-u备份到的目录(如果没有-u,则数据备份到每个数据目录里面)gpcrondump的文件可以用gp_restore恢复gp_restore--gp-c--gp-d=/data/backup/db_dumps/20110423/--gp-k=20110423103328-dgpadmin也可以用gpdbresotre恢复:(需要数据在一个Host上)gpdbrestoree-Rmaster=/data/backup/db_dumps/2011042314.数据库恢复gp_restore必选参数:--gp-k=key:key为gp_dump导出来的文件的后缀时间戳-ddbname:将备份文件恢复到dbname15.串行备份pg_dump/pg_dumpall一般用于环境迁移和DDL、FUNCTION等备份;如:pg_dump-s-npublicdemodb–fdemodb.sql,将只备份demodb数据库中的public下的所有DDL和FUNCTION,-s表示不备份数据;恢复时,使用psql-ddemodb–fdemodb.sql16.数据库僵尸进程处理首先使用kill-15去停止进程,kill-15不响应,再用kill-11;一般情况下,不要用kill-9,否则可能导致数据库宕机且状态不一致,严重的导致数据库不能重新启动,可能需要用pg_resetxlog去重置日志,有可能导致数据丢失;17.参数更改通过gpconfig配置Master和所有Segment的postgresql.conf中参数。EXAMPLESgpconfig-cwork_mem-v120MB–masteronly修改master上的work_mem=120MBgpconfig-cmax_connections-v100-m10修改Master上max_connections=10,Segment上修改成100gpconfig-rdefault_statistics_target注释参数,使用缺省参数gpconfig–l列出所有的参数gpconfig-smax_connections显示某个参数最大连接数:showmax_connections;最大事务数:showmax_prepared_transactions;18.Greenplum其它常用命令gpssh-fall_hosts—通过SSH同时访问多个节点,并可同时执行shellgpcheckperf--检查网络和硬盘性能checkos-fall_hosts–检查OS内核和参数如:检查Disk性能:gpcheckperf-d/data/gpdb_p1-d/data/gpdb_p2-d/data/gpdb_p3-d/data/gpdb_p4-d/data/gpdb_p5-d/data/gpdb_p6-d/data/gpdb_p7-d/data/gpdb_p8-S64GB-rds-D-v-fhosts-setup检查网络性能:gpcheckperf-d/data/gpdb_p1-rN-fhosts-net0gpcheckperf-d/data/gpdb_p1-rN-fhosts-net1gpcheckperf-d/data/gpdb_p1-rN-fhosts-net2gpcheckperf-d/data/gpdb_p1-rN-fhosts-net3gpssh–hsdw1–v–e‘mkdir/data/test’gpssh–hsdw1–v–e‘mkdir/data/test’gpssh-hsdw1-v-e'mkdir/data/test'19copy导出、导入数据文件:COPYpublic.ods_data_msgTO'/zte/gpdata/ocs_data_msg.txt'delimiter'|';COPYpublic.ods_data_msgfrom'/zte/gpdata/ocs_data_msg.txt'WITHdelimiter'|';20进程监控:select*frompg_stat_activitywherewaiting='t'ORDERBYcurrent_query;select*frompg_stat_activitywherewaiting='t'ORDERBYsess_id;select*frompg_stat_activitywherewaiting='f'ORDERBYcurrent_query;select*frompg_stat_activitywherewaiting='f'ORDERBYsess_id;21添加默认分区ALTERTABLEINF.EVENT_TGPS_201307ADDdefaultPARTITIONPDEFAULT;22杀进程登录数据库后先使用selectpg_cancel_ba
本文标题:GP日常维护手册-常用命令
链接地址:https://www.777doc.com/doc-2874858 .html