- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GP常用数据库命令讲述
Greenplum 日常简明维护手册
数据库启动: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 隐藏文件,记录主进程号。
数据库停止:gpstop:
常用可选参数:-a:直接停止,不提示终端用户输入确认
-m:只停止master 实例,与gpstart –m 对应使用
-f:停止数据库,中断所有数据库连接,回滚正在运
行的事务
-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
连接数,重启
查看实例配置和状态
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:实例对应的数据目录
gpstate :显示Greenplum数据库运行状态,详细配置等信息
常用可选参数:-c:primary instance 和 mirror instance 的对应关系
-m:只列出mirror 实例的状态和配置信息
-f:显示standby master 的详细信息
该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
查看用户会话和提交的查询等信息
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
查看数据库、表占用空间
select pg_size_pretty(pg_relation_size(schema.tablename));
select pg_size_pretty(pg_database_size(databasename));
分区表:
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%的自由空间,日常巡检,要检查存储空间的剩余容量。
收集统计信息,回收空间
定期使用Vacuum analyze tablename 回收垃圾和收集统计信息,尤其在大数据量删除,导入以后,非常重要
将delete 或 update 的“旧”数据放到 Rollback Segment,与表分开存放。并发事务为了保证数据一致性,需要从Rollback Segment 上恢复数据。
Greenplum:“旧数据”与表存放在一起,对旧的数据做了标志。并发事务通过
transaction ID(XID)判断数据是否可用
系统表也是需要进行vaccum:
#!/bin/bash
DBNAME=database
文档评论(0)