GreenPlum常用数据库命令课案.docx

上传人:b****5 文档编号:5842609 上传时间:2023-01-01 格式:DOCX 页数:8 大小:211.77KB
下载 相关 举报
GreenPlum常用数据库命令课案.docx_第1页
第1页 / 共8页
GreenPlum常用数据库命令课案.docx_第2页
第2页 / 共8页
GreenPlum常用数据库命令课案.docx_第3页
第3页 / 共8页
GreenPlum常用数据库命令课案.docx_第4页
第4页 / 共8页
GreenPlum常用数据库命令课案.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

GreenPlum常用数据库命令课案.docx

《GreenPlum常用数据库命令课案.docx》由会员分享,可在线阅读,更多相关《GreenPlum常用数据库命令课案.docx(8页珍藏版)》请在冰豆网上搜索。

GreenPlum常用数据库命令课案.docx

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_filespace_entry;

主要字段说明:

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_filespace_entry;

使用外部表将日志导入数据库,进行分析。

 

使用xfs文件系统。

后台存储目录结构:

base下每个目录,对应

selectoid,*frompg_database;

selectrelfilenodefrompg_class:

;

 

16.gpconfig:

4.0新增加管理工具,参数配置工具;

-c|--change

-v|--valuevalue

-m|--mastervaluemaster_value

-s|--show

gpconfig-cmax_connections-v100-m10

17.gpcheckperf:

网络:

gpcheckperf-fhostfile_gpchecknet_ic1-rN–netperf-d/tmp

磁盘IO

gpcheckperf-fhostfile_gpcheckperf-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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1