人大金仓分析型数据库监控系统状态(三)

目录

查看查询文件使用信息

查看数据库日志文件 

搜索服务器日志文件

使用gp_toolkit


查看查询文件使用信息

        数据库管理方案gp_toolkit包含显示数据库工作文件信息的视图。 如果没有足够的内存让查询完全在内存中执行,数据库会在磁盘上创建工作文件。这些 信息可以用来故障排查和查询调优。这些视图中的信息也可以被用来为数据库配置参数gp_workfile_limit_per_query和gp_workfile_limit_per_segment 指定值。

        在模式gp_toolkit中有下面这些视图:

  • gp_workfile_entries视图为当前在实例上创建了工作文件的每个操作符都包含一行
  • gp_workfile_usage_per_query视图为当前在实例上创建了工作 文件的每个查询都包含一行
  • gp_workfile_usage_per_segment视图为每个实例都包含一行。 每一行显示了当前在该实例上用于工作文件的总磁盘空间

查看数据库日志文件 

        数据库中的每一个数据库实例都运行着一个有着自己的服务器日志文件。日常的日志文件被创建在Master和每个实例的数据目录中的 pg_log目录下。服务器日志文件被写成一种逗号分隔值(CSV)格式。一些日志项并不会所有的域都有值。例如,只有与一个查询工作者进程相关的日志项才会有slice_id值。可以用查询的会话标识符(gp_session_id) 和命令标识符 (gp_command_count)来确定一个特定查询的相关日志项。数据库服务器日志格式:

                                                                          

域名称
数据类型
描述
1
event_time
timestamp with time zone
该日志项被写入到日志中的时间
2
user_name
varchar(100)
数据库用户名
3
database_name
varchar(100)
数据库名
4
process_id
varchar(10)
系统进程ID
5
thread_id
varchar(50)
线程号
6
remote_host
varchar(100)
  客户端机器的主机名/地 址  
 7 
  remote_port  
  varchar(10)  
  实例或者Master的端口号  
 8 
  session_start_time  
  timestamp with time zone  
  会话连接被打开的时间  
 9 
  transaction_id  
  int  
  顶层事务ID。这个ID是任何子事务的父亲  
 10 
  gp_session_id  
  text  
  会话标识符号  
 11 
  gp_command_count  
  text  
  会话中的命令号  
 12 
  gp_segment  
  text  
  内容标识符  
 13 
  slice_id  
  text  
  切片ID  
 14 
  distr_tranx_id  
  text  
  分布式事务ID  
 15 
  local_tranx_id  
  text  
  本地事务ID  
 16 
  sub_tranx_id  
  text  
  子事务ID  
 17 
  event_severity  
  varchar(10)  
  LOG、ERROR、FATAL、PANIC、DEBUG1、DEBUG2  
 18 
  sql_state_code  
  varchar(10)  
  与日志消息相关的SQL状态代码  
 19 
  event_message  
  text  
  日志或者错误消息文本  
 20 
  event_detail  
  text  
  错误或者警告消息相关的详细消息文本  
 21 
  event_hint  
  text  
  错误或者警告消息相关的提示消息文本  
 22 
  internal_query  
  text  
  内部生成的查询文本  
 23 
  internal_query_pos  
  int  
  内部生成的查询文本的指针式索引  
 24 
  event_context  
  text  
  消息产生的上下文  
 25 
  debug_query_string  
  text  
  完整的用户提供的查询字符串  
 26 
  error_cursor_pos  
  int  
  该查询字符串中的指针式索引  
 27 
  func_name  
  text  
  消息产生的函数  
 28 
  file_name  
  text  
  消息的内部代码文件  
 29 
  file_line  
  int  
  消息的内部代码文件的行号  
 30 
  stack_trace  
  text  
  这个消息相关的堆栈跟踪  

搜索服务器日志文件

        数据库提供一个名为gplogfilter的工具,它可以在一个数据库日志文件中搜索匹配指定条件的项。默认情况下,这个工具在默认日志位置搜索数据库的Master日志。 例如,要显示Master日志文件的最后三行:

$ gplogfilter -n 3

        要同时搜索所有实例的日志文件,可以通过gpssh工具来运行gplogfilter。例如,要显示每个实例日志文件的最后三行:

$ gpssh -f seg_host_file
=> source /home/mppadmin/mpp/mpp_path.sh
=> gplogfilter -n 3 /gpdata/gp*/pg_log/gpdb*.log

使用gp_toolkit

        使用数据库的管理方案gp_toolkit来查询系统目录、日志文件和操作系统环境以得到系统状态信息。 gp_toolkit方案包含一些可以用SQL命令访问的视图。gp_toolkit方案对所有数据库用户都可以访问。一些对象要求超级用户权限。用与下面类似的命令把gp_toolkit方案增加到用户的方案搜索路径中:

=> ALTER ROLE myrole SET search_path TO myschema,gp_toolkit;

你可能感兴趣的:(数据库)