GaussDB-统计信息函数(中)

94 阅读23分钟
  • DBE_PERF.get_global_dn_stat_all_tables()

    描述:汇聚DN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_cn_stat_all_tables()

    描述:汇聚CN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_dn_stat_all_tables()

    描述:统计DN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_cn_stat_all_tables()

    描述:统计CN节点数据库中每个表的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_all_indexes()

    描述:汇聚所有节点数据库中每个索引的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_all_indexes()

    描述:统计所有节点数据库中每个索引的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_sys_tables()

    描述:汇聚各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_sys_tables()

    描述:统计各节点pg_catalog、information_schema模式的所有命名空间中系统表的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_sys_indexes()

    描述:汇聚各节点pg_catalog、information_schema模式中所有系统表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_sys_indexes()

    描述:统计各节点pg_catalog、information_schema模式中所有系统表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_user_tables()

    描述:汇聚所有命名空间中用户自定义普通表的状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_user_tables()

    描述:统计所有命名空间中用户自定义普通表的状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_user_indexes()

    描述:汇聚所有数据库中用户自定义普通表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_user_indexes()

    描述:统计所有数据库中用户自定义普通表的索引状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_database()

    描述:汇聚所有节点数据库统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_database_conflicts()

    描述:统计所有节点数据库统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_xact_all_tables()

    描述:汇聚命名空间中所有普通表和toast表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_xact_all_tables()

    描述:统计命名空间中所有普通表和toast表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_xact_sys_tables()

    描述:汇聚所有节点命名空间中系统表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_xact_sys_tables()

    描述:统计所有节点命名空间中系统表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_xact_user_tables()

    描述:汇聚所有节点命名空间中用户表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_stat_xact_user_tables()

    描述:统计所有节点命名空间中用户表的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_user_functions()

    描述:汇聚所有节点命名空间中用户定义函数的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_xact_user_functions()

    描述:统计所有节点命名空间中用户定义函数的事务状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_stat_bad_block()

    描述:汇聚所有节点表、索引等文件的读取失败信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_file_redo_iostat()

    描述:统计所有节点表、索引等文件的读取失败信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_file_iostat()

    描述:汇聚所有节点数据文件IO的统计。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_locks()

    描述:汇聚所有节点的锁信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_replication_slots()

    描述:汇聚所有节点上逻辑复制信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.GET_GLOBAL_PARALLEL_DECODE_STATUS()

    描述:汇聚集群所有主DN节点上的复制槽的并行解码信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。该函数仅限CN上执行,DN上执行报错。返回值同视图GLOBAL_PARALLEL_DECODE_STATUS

    返回值类型:record。

  • DBE_PERF.GET_GLOBAL_PARALLEL_DECODE_THREAD_INFO()

    描述:汇聚集群所有主DN节点上的复制槽的并行解码线程信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。该函数仅限CN上执行,DN上执行报错。返回值同视图GLOBAL_PARALLEL_DECODE_THREAD_INFO

    返回值类型:record。

  • DBE_PERF.get_global_bgwriter_stat()

    描述:汇聚所有节点后端写线程活动的统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_replication_stat()

    描述:汇聚各节点日志同步状态信息,如发起端发送日志位置,收端接收日志位置等。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_pooler_status()

    描述:汇聚所有CN节点的pooler中的缓存连接状态。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_transactions_running_xacts()

    描述:汇聚各节点运行事务的信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_transactions_running_xacts()

    描述:统计各节点运行事务的信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_transactions_prepared_xacts()

    描述:汇聚各节点当前准备好进行两阶段提交的事务的信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_transactions_prepared_xacts()

    描述:统计各节点当前准备好进行两阶段提交的事务的信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_statement()

    描述:汇聚各节点历史执行语句状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_statement_count()

    描述:汇聚各节点SELECT、UPDATE、INSERT、DELETE,响应时间信息(TOTAL、AVG、MIN、MAX)。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_config_settings()

    描述:汇聚各节点GUC参数配置信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_wait_events()

    描述:汇聚各节点wait events状态信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_statement_responsetime_percentile()

    描述:获取集群SQL响应时间P80,P95分布信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_summary_user_login()

    描述:统计集群各节点用户登录或者退出登录次数信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.get_global_record_reset_time()

    描述:汇聚集群统计信息重置(重启,主备倒换,数据库删除)时间。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.standby_statement_history(only_slow[, time1, time2])

    描述:备机中用来查询FULL SQL记录的函数,主机通过表statement_history进行查询,备机通过此函数进行查询。查询该函数必须具有MONADMIN权限。

    参数:参见表7

    返回值类型:record,同表statement_history。

    参数类型描述
    only_slowboolean是否仅查询慢SQL。- true为是,相当于 select .. where is_slow_sql = true。
    • false或NULL为查询全部SQL,相当于不对is_slow_sql进行过滤。 | | time1 | timestamptz | 可选输入,表示查询SQL的finish_time的最小时间。 | | time2 | timestamptz | 可选输入,表示查询SQL的finish_time的最大时间。 |

    • 两个时间参数time1、time2的说明:表示查询的SQL的finish_time所属时间段,分别表示起始与终止时间,输入NULL或者不输入表示没有限制,功能等同于select .. where finish_time between time1 and time2。
    • 备机上该功能的数据并非存在表里,不存在start_time列的索引,推荐使用参数对finish_time进行条件查找。
    • 由于备机Full/Slow SQL采用异步下盘方式,所以用户SQL信息存储时刻可能有所滞后,建议客户查询此接口适当扩大时间查询范围。
  • DBE_PERF.track_memory_context(context_list text)

    描述:设置需要统计内存申请详细信息的内存上下文。入参为内存上下文的名称,使用“,”分隔,如“ThreadTopMemoryContext, SessionCacheMemoryContext”,注意该内存上下文名称是上下文敏感的。此外,单个内存上下文的长度为63,超过的部分会被截断。而且一次能够统计的内存上下文上限为16个,设置超过16个内存上下文会设置失败。每一次调用该函数都会将上次统计的结果清空,当入参指定为""时,表示取消该统计功能。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:boolean。

  • DBE_PERF.track_memory_context_detail()

    描述:获取DBE_PERF.track_memory_context函数指定的内存上下文的内存申请详细信息。返回值的定义见视图DBE_PERF.track_memory_context_detail。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.global_io_wait_info()

    描述:查询所有CN和DN节点上的IO管控的实时统计信息。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • pg_stat_get_mem_mbytes_reserved(tid)

    描述:统计资源管理相关变量值,仅用于定位问题使用。

    参数:线程id

    返回值类型:text。

  • pg_stat_get_file_stat()

    描述:通过对数据文件I/O的统计,反映数据的I/O性能,用以发现I/O操作异常等性能问题。

    返回值类型:record。

  • pg_stat_get_redo_stat()

    描述:用于统计会话线程日志回放情况。

    返回值类型:record。

  • pg_stat_get_status(int8)

    描述:可以检测当前实例中工作线程(backend thread)以及辅助线程(auxiliary thread)的阻塞等待情况。

    返回值类型:record。

  • get_local_rel_iostat()

    描述:查询当前节点的数据文件I/O状态累计值。

    返回值类型:record。

  • DBE_PERF.get_global_rel_iostat()

    描述:汇聚所有节点数据文件I/O的统计。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • pg_catalog.plancache_status()

    描述:显示在当前节点上的全局计划缓存的状态信息。函数返回信息和GLOBAL_PLANCACHE_STATUS一致。

    返回值类型:record。

  • DBE_PERF.global_plancache_status()

    描述:显示在所有节点上的全局计划缓存的状态信息。函数返回信息见字段GLOBAL_PLANCACHE_STATUS。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • pg_catalog.prepare_statement_status()(废弃)

    描述:显示在当前节点上的prepare statement状态信息。函数返回信息和GLOBAL_PREPARE_STATEMENT_STATUS一致。

    返回值类型:record。

  • DBE_PERF.global_prepare_statement_status()(废弃)

    描述:显示在所有节点上的prepare statement的状态信息。函数返回信息见字段GLOBAL_PREPARE_STATEMENT_STATUS。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • DBE_PERF.global_threadpool_status()

    描述:显示在所有节点上的线程池中工作线程及会话的状态信息。函数返回信息见字段18.7.14-表 GLOBAL_THREADPOOL_STATUS。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    返回值类型:record。

  • comm_check_connection_status()

    描述:返回该CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,普通用户可使用。

    参数:nan

    返回值类型:node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, no_error_occur boolean。

  • DBE_PERF.global_comm_check_connection_status()

    描述:返回所有CN和所有活跃节点(CN和主DN)的连接情况。该函数仅支持在CN上查询,权限控制继承DBE_PERF schema。集群创建后的默认情况下,查询该函数必须具有MONADMIN权限。

    参数:nan

    返回值类型:node_name text, remote_name text, remote_host text, remote_port integer, is_connected boolean, no_error_occur boolean

  • remote_candidate_stat()

    描述:显示本实例的候选buffer链中页面个数,buffer淘汰信息,包含normal buffer pool和segment buffer pool。

    返回值类型:record。

    名称类型描述
    node_nametext节点名称。
    candidate_slotsinteger当前Normal Buffer Pool候选buffer链中页面个数。
    get_buf_from_listbigintNormal Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。
    get_buf_clock_sweepbigintNormal Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。
    seg_candidate_slotsinteger当前Segment Buffer Pool候选buffer链中页面个数。
    seg_get_buf_from_listbigintSegment Buffer Pool,buffer淘汰从候选buffer链中获取页面的次数。
    seg_get_buf_clock_sweepbigintSegment Buffer Pool,buffer淘汰从原淘汰方案中获取页面的次数。
  • remote_ckpt_stat()

    描述:用于显示整个集群所有实例的检查点信息和各类日志刷页情况(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext实例名称。
    ckpt_redo_pointtext当前实例的检查点。
    ckpt_clog_flush_numint8从启动到当前时间clog刷盘页面数。
    ckpt_csnlog_flush_numint8从启动到当前时间csnlog刷盘页面数。
    ckpt_multixact_flush_numint8从启动到当前时间multixact刷盘页面数。
    ckpt_predicate_flush_numint8从启动到当前时间predicate刷盘页面数。
    ckpt_twophase_flush_numint8从启动到当前时间twophase刷盘页面数。
  • remote_double_write_stat()

    描述:显示整个集群所有实例的双写文件的情况(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext实例名称。
    curr_dwnint8当前双写文件的序列号。
    curr_start_pageint8当前双写文件恢复起始页面。
    file_trunc_numint8当前双写文件复用的次数。
    file_reset_numint8当前双写文件写满后发生重置的次数。
    total_writesint8当前双写文件总的I/O次数。
    low_threshold_writesint8低效率写双写文件的I/O次数(一次I/O刷页数量少于16页面)。
    high_threshold_writesint8高效率写双写文件的I/O次数(一次I/O刷页数量多于一批,421个页面)。
    total_pagesint8当前刷页到双写文件区的总的页面个数。
    low_threshold_pagesint8低效率刷页的页面个数。
    high_threshold_pagesint8高效率刷页的页面个数。
    file_idint8当前双写文件的id号。
  • remote_single_flush_dw_stat()

    描述:显示整个集群所有实例的单页面淘汰双写文件的情况(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext实例名称。
    curr_dwninteger当前双写文件的序列号。
    curr_start_pageinteger当前双写文件start位置。
    total_writesbigint当前双写文件总计写数据页面个数。
    file_trunc_numbigint当前双写文件复用的次数。
    file_reset_numbigint当前双写文件写满后发生重置的次数。
  • remote_pagewriter_stat()

    描述:显示整个集群所有实例的刷页信息和检查点信息(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext实例名称。
    pgwr_actual_flush_total_numint8从启动到当前时间总计刷脏页数量。
    pgwr_last_flush_numint4上一批刷脏页数量。
    remain_dirty_page_numint8当前预计还剩余多少脏页。
    queue_head_page_rec_lsntext当前实例的脏页队列第一个脏页的recovery_lsn。
    queue_rec_lsntext当前实例的脏页队列的recovery_lsn。
    current_xlog_insert_lsntext当前实例XLog写入的位置。
    ckpt_redo_pointtext当前实例的检查点。
  • remote_recovery_status()

    描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext节点的名称,包含主机和备机。
    standby_node_nametext备机名称。
    source_iptext主机的IP地址。
    source_portint4主机的端口号。
    dest_iptext备机的IP地址。
    dest_portint4备机的端口号。
    current_rtoint8备机当前的日志流控时间,单位秒。
    target_rtoint8备机通过GUC参数设置的预期流控时间,单位秒。
    current_sleep_timeint8为了达到这个预期主机所需要的睡眠时间,单位微秒。
  • remote_rto_stat()

    描述:显示关于主机和备机的日志流控信息(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext节点的名称,包含主机和备机。
    rto_infotext流控的信息,包含了备机当前的日志流控时间(单位:秒),备机通过GUC参数设置的预期流控时间(单位:秒),为了达到这个预期主机所需要的睡眠时间(单位:微秒)。
  • remote_redo_stat()

    描述:显示整个集群所有实例的日志回放情况(本节点除外、DN上不可使用)。

    返回值类型:record。

    参数类型描述
    node_nametext实例名称。
    redo_start_ptrint8当前实例日志回放的起始点。
    redo_start_timeint8当前实例日志回放的起始UTC时间。
    redo_done_timeint8当前实例日志回放的结束UTC时间。
    curr_timeint8当前实例的当前UTC时间。
    min_recovery_pointint8当前实例日志的最小一致性点位置。
    read_ptrint8当前实例日志的读取位置。
    last_replayed_read_ptrint8当前实例的日志回放位置。
    recovery_done_ptrint8当前实例启动完成时的回放位置。
    read_xlog_io_counterint8当前实例读取回放日志的io次数计数。
    read_xlog_io_total_durint8当前实例读取回放日志的io总时延。
    read_data_io_counterint8当前实例回放过程中读取数据页面的io次数计数。
    read_data_io_total_durint8当前实例回放过程中读取数据页面的io总时延。
    write_data_io_counterint8当前实例回放过程中写数据页面的io次数计数。
    write_data_io_total_durint8当前实例回放过程中写数据页面的io总时延。
    process_pending_counterint8当前实例回放过程中日志分发线程的同步次数计数。
    process_pending_total_durint8当前实例回放过程中日志分发线程的同步总时延。
    apply_counterint8当前实例回放过程中回放线程的同步次数计数。
    apply_total_durint8当前实例回放过程中回放线程的同步总时延。
    speedint8当前实例日志回放速率。
    local_max_ptrint8当前实例启动成功后本地收到的回放日志的最大值。
    primary_flush_ptrint8主机落盘日志的位置。
    worker_infotext当前实例回放线程信息,若没有开并行回放则该值为空。
  • pgxc_gtm_snapshot_status()

    描述:用于查看当前GTM上事务信息,仅在GTM模式下支持本系统函数,GTM-LITE和GTM-FREE模式下不支持。

    返回值类型:record。

    函数返回字段描述如下:

    名称类型描述
    xminxid仍在运行的最小事务号。
    xmaxxid已完成的所有事务号中最大事务号的下一个事务号。
    csninteger待提交事务的序列号。
    oldestxminxid当前最早的活跃事务在其取快照时,所有运行事务号最小的事务。
    xcntinteger当前活跃的事务个数。
    running_xidstext当前活跃的事务号。
  • pv_os_run_info()

    描述:显示当前操作系统运行的状态信息,具体字段信息参考PV_OS_RUN_INFO

    参数:nan

    返回值类型:setof record。

  • pv_session_stat()

    描述:以会话线程或AutoVacuum线程为单位,统计会话状态信息,具体字段信息参考PV_SESSION_STAT

    参数:nan

    返回值类型:setof record。

  • pv_session_time()

    描述:用于统计会话线程的运行时间信息,及各执行阶段所消耗时间,具体字段信息参考PV_SESSION_TIME

    参数:nan

    返回值类型:setof record。

  • pg_stat_get_db_temp_bytes()

    描述:用于统计通过数据库查询写入临时文件的数据总量。计算所有临时文件,不论为什么创建临时文件,而且不管log_temp_files设置。

    参数:oid

    返回值类型:bigint。

  • pg_stat_get_db_temp_files()

    描述:通过数据库查询创建的临时文件数量。计算所有临时文件,不论为什么创建临时文件(比如排序或者哈希),而且不管log_temp_files设置。

    参数:oid

    返回值类型:bigint。

  • gs_prepared_statements()

    描述:显示所有会话所有可用的预备语句。该函数需要SYSADMIN权限的用户才能够执行。函数返回信息具体的字段和GS_ALL_PREPARED_STATEMENTS字段一致。

    返回值类型:record。

  • local_redo_time_count()

    描述:返回本节点各个回放线程的各个流程的耗时统计(仅在备机上有有效数据)。

    返回值如下:

    字段名描述
    thread_name线程名字。
    step1_totalstep1的总时间,每个线程对应的流程如下:- 极致RTO:
    []()[]()redo batch:从队列中获取一条日志。
    
    redo manager:从队列中获取一条日志。
    
    redo worker:从队列中获取一条日志。
    
    trxn manager:从队列中读取一条日志。
    
    trxn worker:从队列中读取一条日志。
    
    read worker:从文件中读取一次xlog page(整体)。
    
    read page worker:从队列中获取一个日志。
    
    startup:从队列中获取一个日志。
    
    • 并行回放:

      page redo:从队列中获取一条日志。

      startup:读取一条日志。 | | step1_count | step1的统计次数。 | | step2_total | step2的总时间,每个线程对应的流程如下:- 极致RTO:

      redo batch:处理日志(整体)。

      redo manager:处理日志(整体)。

      redo worker:处理日志(整体)。

      trxn manager:处理日志(整体)。

      trxn worker:处理日志(整体)。

      read worker:读取xlog page耗时。

      read page worker:生成和发送lsn forwarder。

      startup:check stop(是否回放到指定位置)。

    • 并行回放:

      startup:check stop(是否回放到指定位置)。 | | step2_count | step2的统计次数。 | | step3_total | step3的总时间,每个线程对应的流程如下:- 极致RTO:

      redo batch:更新standbystate。

      redo manager:数据日志处理。

      redo worker:回放page也日志(整体)。

      trxn manager:更新flush lsn。

      trxn worker:回放日志处理。

      read worker:推进xlog segment。

      read page worker:获取一个新的item。

      startup:redo delay(延迟回放特性等待时间)。

    • 并行回放:

      page redo:更新standbystate。

      startup:redo delay(延迟回放特性等待时间)。 | | step3_count | step3的统计次数。 | | step4_total | step4的总时间,每个线程对应的流程如下:- 极致RTO:

      redo batch:解析xlog。

      redo manager:DDL处理。

      redo worker:读取数据page页。

      trxn manager:同步等待时间。

      trxn worker:更新本线程lsn。

      read page worker:将日志放入分发线程。

      startup:分发(整体)。

    • 并行回放:

      page redo:undo 日志回放。

      startup:分发(整体)。 | | step4_count | step4的统计次数。 | | step5_total | step5的总时间,每个线程对应的流程如下:- 极致RTO:

      redo batch:分发给redo manager。

      redo manager:分发给redo worker。

      redo worker:回放数据page页的日志。

      trxn manager:分发给trxn worker。

      trxn worker:强同步wait时间。

      read page worker:更新本线程lsn。

      startup:日志decode。

    • 并行回放:

      page redo:sharetrxn日志回放。

      startup:日志回放。 | | step5_count | step5的统计次数。 | | step6_total | step6的总时间,每个线程对应的流程如下:- 极致RTO:

      redo worker:回放非数据页page日志。

      trxn manager:全局lsn更新。

      redo manager:数据页面日志存入hash表。

    • 并行回放:

      page redo:synctrxn日志回放。

      startup:强同步等待。 | | step6_count | step6的统计次数。 | | step7_total | step7的总时间,每个线程对应的流程如下:- 极致RTO:

      redo manager:创建表空间。

      redo worker:fsm更新。

    • 并行回放:

      page redo:single日志回放。 | | step7_count | step7的统计次数。 | | step8_total | step8的总时间,每个线程对应的流程如下:- 极致RTO:

      redo worker:强同步等待。

    • 并行回放:

      page redo:all workers do日志回放。 | | step8_count | step8的统计次数。 | | step9_total | step9的总时间,每个线程对应的流程如下:- 极致RTO:

      redo manager:分发日志给page redo线程。

    • 并行回放:

      page redo:multi workers do日志回放。 | | step9_count | step9的统计次数。 |

  • local_xlog_redo_statics()

    描述:返回本节点已经回放的各个类型的日志统计信息(仅在备机上有有效数据)。

    返回值如下:

    字段名描述
    xlog_type日志类型。
    rmidresource manager id。
    infoxlog operation。
    num日志个数。
    extra针对page回放日志和xact日志有有效值。- 如果是page页回放日志类型则表示从磁盘读取page的个数。
    • 如果是xact日志类型则表示删除文件的个数。 |