资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
Greenplum 日常维护手册1. 数据库启动:gpstart 常用可选参数: -a : 直接启动,不提示终端用户输入 yes 确认-m:只启动 master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止 master 实例,与 gpstart m 对应使用-M fast:停止数据库,中断所有数据库连接,回滚正在运行的事务-u: 不停止数据库,只加载 pg_hba.conf 和 postgresql.conf 中运行时参数,当改动参数配置时候使用。-f:强制停止数据库-r: 重启数据库3. 查看实例配置和状态select * from gp_configuration order by 1 ;select * from gp_configuration_history order by 1 ;主要字段说明:Content:该字段相等的两个实例,是一对(primary instance )和(mirror Instance)Isprimary:实例是否作为 primary instance 运行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:primary instance 和 mirror instance 的对应关系-m:只列出 mirror 实例的状态和配置信息-f:显示 standby master 的详细信息-s:查看详细状态,如在同步,可显示数据同步完成百分比-version,查看数据库 version(也可使用 pg_controldata 查看数据库版本和 postgresql 版本)该命令默认列出数据库运行状态汇总信息,常用于日常巡检。5. 查看用户会话和提交的查询等信息select * from pg_stat_activity 该表能查看到当前数据库连接的 IP 地址,用户名,提交的查询等。另外也可以在 master 主机上查看进程,对每个客户端连接,master 都会创建一个进程。ps -ef |grep -i postgres |grep -i conpg_backend_pid();pg_cancel_backend(integer)6. 查看数据库、表占用空间select pg_size_pretty(pg_relation_size(schema.tablename);(与pg_tables 子查询查看所有表的占用空间)select pg_size_pretty(pg_database_size(zctt);必须在数据库所对应的存储系统里,至少保留30%的自由空间,日常巡检,要检查存储空间的剩余容量。7. 收集统计信息,回收空间定期使用Vacuum analyze tablename 回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要、需要定期对数据字典做vacuum 和reindex ,如pg_class,pg_attribute等系统表。可以gp_toolkit.gp_bloat_diag 看膨胀很大的表;8. 查看数据分布情况两种方式: Select gp_segment_id,count(*) from tablename group by 1 ; 在命令运行:gpskew -t public.ate -a postgres如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能。9. 登录每一个实例数据库的方法PGOPTIONS=-c gp_session_role=utility psql dbname p xxxx可以通过这个命令登录实例,一般用于检测单个实例是否运行正常,还有就是用于在集群发生不一致时(只有在非常特殊的情况下才有可能发生,如表不一致等) ,进行表维护10. 实例恢复:gprecoverseg通过gpstate 或gp_configuration 发现有实例down 掉以后,使用该命令进行回复。gprecoverseg -F强制恢复11. 查看锁信息:注:在Greenplum里(截至到4.0版本) ,INSERT 和COPY都是行级锁,UPDATE/DELETE都是表级锁;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 标识了锁的类型注:也可以通过pgadminIII的工具 -服务器状态查看当前运行的SQL 及锁等待情况。发生Deadlock时,系统自动让其中一个SQL 失败,并提示 deadlock信息。12. explain:在提交大的查询之前,使用explain分析执行计划、发现潜在优化机会,避免将系统资源熬尽。explain analyze sql,将执行一次 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_ :关于数据库系统配置的备份文件gp_cdatabase_1_:数据库创建语句的备份文件gp_dump_1_:数据库对象ddl语句gp_dump_status_1_:备份操作的日志在每个segment instance 上的data目录上产生的文件:gp_dump_0_:用户数据备份文件gp_dump_status_0_:备份日志gpcorndump:可以用于备份数据库配置文件和全局数据(如角色、资源队列等)Example:gpcrondump -x mydatabase 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 -d gpadmin也可以用gpdbresotre恢复:(需要数据在一个Host上)gpdbrestoree -R master=/data/backup/db_dumps/2011042314. 数据库恢复 gp_restore必选参数:-gp-k=key :key 为gp_dump 导出来的文件的后缀时间戳-d dbname :将备份文件恢复到 dbname15. 串行备份pg_dump/pg_dumpall一般用于环境迁移和DDL、FUNCTION等备份;如:pg_dump -s -n public demodb f demodb.sql ,将只备份demodb数据库中的 public 下的所有DDL和FUNCTION,-s表示不备份数据;恢复时,使用psql -d demodb f demodb.sql16. 数据库僵尸进程处理首先使用 kill -15 去停止进程,kill -15 不响应,再用 kill -11;一般情况下,不要用 kill -9,否则可能导致数据库宕机且状态不一致,严重的导致数据库不能重新启动,可能需要用 pg_resetxlog去重置日志,有可能导致数据丢失;17. 参数更改通过gpconfig配置 Master和所有Segment的postgresql.conf 中参数。EXAMPLESgpconfig -c work_mem -v 120MB masteronly修改master上的work_mem =120MBgpconfig -c max_connections -v 100 -m 10修改Master上max_connections=10 ,Segment上修改成100gpconfig -r default_statistics_target注释参数,使用缺省参数gpconfig l列出所有的参数gpconfig -s max_connections 显示某个参数最大连接数:show max_connections;最大事务数:show max_prepared_transactions;18. Greenplum其它常用命令gpssh -f all_hosts通过SSH同时访问多个节点,并可同时执行shellgpcheckperf -检查网络和硬盘性能checkos -f all_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 -S 64GB -r ds -D -v -f hosts-setup 检查网络性能:gpcheckperf -d /data/gpdb_p1 -r N -f hosts-net0 gpcheckperf -d /data/gpdb_p1 -r N -f hosts-net1 gpcheckperf -d /data/gpdb_p1 -r N -f hosts-net2gpcheckperf -d /data/gpdb_p1 -r N -f hosts-net3gpssh h sdw1 v e mkdir /data/testgpssh h sdw1 v e mkdir /data/testgpssh -h sdw1 -v -e mkdir /data/test19 copy 导出、导入数据文件:COPY public.ods_data_msg TO /zte/gpdata/ocs_data_msg.txt delimiter|;COPY public.ods_data_msg from /zte/gpdata/ocs_data_msg.txt WITH delimiter|;20 进程监控:select * from pg_stat_a
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号