GreenPlum常用数据库命令.docx
- 文档编号:27106656
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:9
- 大小:211.77KB
GreenPlum常用数据库命令.docx
《GreenPlum常用数据库命令.docx》由会员分享,可在线阅读,更多相关《GreenPlum常用数据库命令.docx(9页珍藏版)》请在冰豆网上搜索。
GreenPlum常用数据库命令
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_;
主要字段说明:
Content:
该字段相等的两个实例,是一对P(primaryinstance)和M(mirror
Instance)
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-11PID
Sql:
pg_cancel_backend(pid)
ps–ef|grep–ipostgre|grep–icon
6.查看数据库、表占用空间
查询表大小:
selectpg_size_pretty(pg_relation_size('schema.tablename'));
例:
selectpg_size_pretty(pg_relation_size('iidp_code.cf_load_state'));
表和索引
select pg_size_pretty(pg_total_relation_size('iidp_code.cf_load_state'));
查询数据库大小
selectpg_size_pretty(pg_database_size('databasename'));
例:
selectpg_size_pretty(pg_database_size('BDDJ_S_T'));--单个库
select datname,pg_size_pretty(pg_database_size(datname)) from pg_database; --所有库
分区表:
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)判断数据是否可用
系统表也是需要进行vacuum:
#!
/bin/bash
DBNAME="databasename"
VCOMMAND="VACUUMANALYZE"
#VCOMMAND="VACUUMFULLANALYZE"
psql-tc"select'$VCOMMAND'||'pg_catalog.'||relname||';'frompg_class
a,pg_namespacebwherea.relnamespace=b.oidandb.nspname='pg_catalog'and
a.relkind='r'"$DBNAME|psql-a$DBNAME
长期没有vaccum的大表,使用重建表/drop表的方式,消除垃圾空间。
Altertablexxxrenametoyyyy.
8.查看数据分布情况
两种方式:
●Selectgp_segment_id,count(*)fromtablenamegroupby1;
如数据分布不均匀,将发挥不了并行计算的优势,严重影响性能。
查看磁盘分布
select dfhostname, dfspace,dfdevice from gp_toolkit.gp_disk_free order by dfhostname
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_query
FROMpg_locksl,pg_classc,pg_stat_activitya
WHEREl.relation=c.oidANDl.pid=a.procpid
ORDERBYc.relname;
主要字段说明:
relname:
表名
locktype、mode标识了锁的类型
MVCC:
读写相互不影响select/insertupdatedelete
避免死锁:
delete和update是表级排他EXCLUSIVE锁。
11.数据库备份gp_dump,pg_dump
常用参数:
-s:
只导出对象定义(表结构,函数等)
-n:
只导出某个schema
gp_dump默认在master的data目录上产生这些文件:
gp_catalog_1_
关于数据库系统配置的备份文件
gp_cdatabase_1_
数据库创建语句的备份文件
gp_dump_1_
数据库对象ddl语句
gp_dump_status_1_
备份操作的日志
在每个segmentinstance上的data目录上产生的文件:
gp_dump_0_
用户数据备份文件
gp_dump_status_0_
备份日志
12.数据库恢复gp_restorepg_restore
必选参数:
--gp-k=key:
key为gp_dump导出来的文件的后缀时间戳
-ddbname:
将备份文件恢复到dbname
13.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_hostname
2,在standbymaster上运行:
gpstop–m,注意这里只停止master实例
3,在原来的maste上运行:
gpactivatestandby-d/gpdata。
4,在原来的master上运行:
gpinitstandby-soriginal_standby_master_hostname
15.日志:
master和segment上分别有日志:
$DATADIR/pg_log/*.csv
$DATADIR:
select*frompg_;
使用外部表将日志导入数据库,进行分析。
使用xfs文件系统。
后台存储目录结构:
base下每个目录,对应
selectoid,*frompg_database;
selectrelfrompg_class:
;
16.gpconfig:
4.0新增加管理工具,参数配置工具;
-c|--change
-v|--valuevalue
-m|--mastervaluemaster_value
-s|--show
gpconfig-cmax_connections-v100-m10
17.gpcheckperf:
网络:
gpcheckperf-fhost-rN–netperf-d/tmp
磁盘IO
gpcheckperf-fhost-d/data1-d/data2-rd
linuxDD命令:
ddif=/dev/zeroof=/vol2/a.testbs=256kcount=161000
ddif=/vol2/b.testof=/dev/nullbs=256kcount=160000
18.gpssh:
同时登陆到多个机器上,进行操作
Gpssh-hsdw1–hsdw2-hsdw3
19.gp_toolkit:
管理工具包:
◆gp_bloat_diag
◆gp_stats_missing
更多详细信息参见GpadminGuideappendixI;
pg_stat_last_operation:
Showsthelasttimecertaindatabaseoperationswereperformedonadatabaseobject,forexample,thelasttimeatablewasvacuumed
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GreenPlum 常用 数据库 命令