greenplumoracle⽇志,GREENPLUM⽇志⽂件检索及历史SQL
查询
GREENPLUM在主节点的/data/master/gpseg-1/pg_log⽬录下保存了⼤量的CSV⽂件,记录了数据库的操作⽇志。共有四
类,FATAL-严重告警,ERROR-错误,WARNING-警告,LOG-操作⽇志。由于是⽂本⽂件所以查询检索很不⽅便,经过观察,发现这些⽂件是有固定格式的,于是想到是不是可以建⽴外部表来查询,说⼲就⼲。
1、启动这个⽬录的GPFDIST服务:
nohup gpfdist -d /data/master/gpseg-1/pg_log -p 8081
&
2、分析结构,建⽴外部表:
CREATE READABLE EXTERNAL TABLE pg_sql(rec_time
greenplum数据库varchar,username varchar,databasename varchar,proc_id varchar,th_id
varchar,from_id varchar,no1 varchar,ora_time varchar,no2
varchar,no3 varchar,no4 varchar,master_id varchar,no5 varchar,no6
varchar,no7 varchar,no8 varchar,sql_type varchar,no9
varchar,statement varchar,no10 varchar,no11 varchar,no12
varchar,no13 varchar,no14 varchar,sql_text varchar,no15
varchar,no16 varchar,no17 varchar,no18 varchar,no19 varchar )
LOCATION ('gpfdist://localhost:8081/*.csv') FORMAT 'CSV' (DELIMITER
AS ',') ENCODING 'utf-8';
3、执⾏SQL语句查询:
select rec_time,username
,
databasename,proc_id,th_id,from_id,ora_time,master_id,sql_type,statement,sql_text
from pg_sql where statement like 'statement: %insert%zht%' and
statement not like '%select sql_text from pg_sql where statement
like%' order by rec_time;
总结:以后需要查告警和SQL历史就容易多了。如果是数据量不⼤的丢失也可以通过这种⽅式给插⼊回去了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。