收藏 分销(赏)

GreenPlum-常用数据库命令.doc

上传人:仙人****88 文档编号:9462835 上传时间:2025-03-27 格式:DOC 页数:12 大小:258.50KB
下载 相关 举报
GreenPlum-常用数据库命令.doc_第1页
第1页 / 共12页
GreenPlum-常用数据库命令.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
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 * from pg_filespace_entry ; 主要字段说明: Content:该字段相等的两个实例,是一对P(primary instance)和M(mirror Instance) Isprimary:实例是否作为primary instance 运行 Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。 Port:实例运行的端口 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('schema.tablename')); 例: select pg_size_pretty(pg_relation_size('iidp_code.cf_load_state')); 表和索引 select pg_size_pretty(pg_total_relation_size('iidp_code.cf_load_state '));  查询数据库大小 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; --所有库   分区表: Select * from pg_partitions where … 查某个schema 占用的空间: select pg_size_pretty(pg_relation_size(tablename)) from pg_tables t inner join pg_namespace d on t.schemaname=d.nspname group by d.nspname 必须在数据库所对应的存储系统里,至少保留30%的自由空间,日常巡检,要检查存储空间的剩余容量。 7. 收集统计信息,回收空间 定期使用Vacuum analyze tablename 回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要 将delete 或 update 的“旧”数据放到 Rollback Segment,与表分开存放。并发事务为了保证数据一致性,需要从Rollback Segment 上恢复数据。 Greenplum:“旧数据”与表存放在一起,对旧的数据做了标志。并发事务通过 transaction ID(XID)判断数据是否可用 系统表也是需要进行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 a.relnamespace=b.oid and b.nspname= 'pg_catalog' and a.relkind='r'" $DBNAME | psql -a $DBNAME 长期没有vaccum 的大表,使用重建表/drop 表的方式,消除垃圾空间。 Alter table xxx rename to yyyy. 8. 查看数据分布情况 两种方式: l Select gp_segment_id,count(*) from tablename group by 1 ; 如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能。 查看磁盘分布 select dfhostname, dfspace,dfdevice from gp_toolkit.gp_disk_free order by dfhostname 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_query FROM pg_locks l, pg_class c, pg_stat_activity a WHERE l.relation=c.oid AND l.pid=a.procpid ORDER BY c.relname; 主要字段说明: relname: 表名 locktype、mode 标识了锁的类型 MVCC: 读写相互不影响 select / insert update delete 避免死锁: delete 和 update 是 表级排他EXCLUSIVE锁。 11. 数据库备份 gp_dump, pg_dump 常用参数:-s: 只导出对象定义(表结构,函数等) -n: 只导出某个schema gp_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>:备份操作的日志 在每个segment instance 上的data目录上产生的文件: gp_dump_0_<dbid>_<timestamp>:用户数据备份文件 gp_dump_status_0_<dbid>_<timestamp>:备份日志 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主机硬件故障排除时,如何由Stand by切换至原Master主机。 答:1,在standby master运行: gpinitstandby –s original_master_hostname 2,在standby master 上运行: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 下每个目录,对应 select oid ,* from pg_database ; select relfilenode from pg_class : ; 16. gpconfig : 4.0 新增加管理工具,参数配置工具; -c | --change <param_name> -v | --value value -m | --mastervalue master_value -s | --show <param_name> gpconfig -c max_connections -v 100 -m 10 17. gpcheckperf : 网络: gpcheckperf -f hostfile_gpchecknet_ic1 -r N –netperf -d /tmp 磁盘IO gpcheckperf -f hostfile_gpcheckperf -d /data1 -d /data2 -r d linux DD 命令: dd if=/dev/zero of=/vol2/a.test bs=256k count=161000 dd if=/vol2/b.test of=/dev/null bs=256k count=160000 18. gpssh : 同时登陆到多个机器上,进行操作 Gpssh -h sdw1 –h sdw2 -h sdw3 19. gp_toolkit: 管理工具包: u gp_bloat_diag u 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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服