KES RAC流复制的相关视图与函数
关键字:
KES、流复制、视图、函数、人大金仓
概述
流复制是一个功能强大的特性,实施流复制会增加数据库系统的复杂性,可以通过相关视图和函数进行监控和维护。
主机监控
(1)sys_stat_replication视图: 提供关于正在进行的复制进程(包括 walsender 和 walreceiver)的详细信息,如进程ID、复制槽名、当前复制进度(LSN)、复制延迟、复制状态等。
select * from sys_stat_replication;
(2)sys_replication_slots视图: 显示已创建的复制槽列表,包括槽名、保留的最小 LSN、备库最后一次反馈的 LSN、槽的状态(活动、已废弃等)等。
select * from sys_replication_slots;
(3)sys_stat_activity视图: 虽然不是专为复制设计,但此视图可以查看所有活动会话的状态,包括那些正在进行复制的会话。这对于识别正在进行复制的客户端连接、查询复制进程的详细信息(如执行的SQL、等待状态等)很有帮助。
select * from sys_stat_activity;
(4)sys_current_wal_flush_lsn()函数:获取当前节点正在刷盘的WAL日志的lsn。
select * from sys_current_wal_flush_lsn();
(5)sys_stat_get_wal_senders()函数:查询wal_sender进程信息。
select * from sys_stat_get_wal_senders();
(6)sys_get_replication_slots()函数:查看复制槽信息。
select * from sys_get_replication_slots();
主机维护
(1)sys_create_physical_replication_slot()函数:创建一个新的物理复制槽,用于物理复制(如流复制)。
select sys_create_physical_replication_slot('my_physical_slot');
(2)sys_drop_replication_slot()函数:删除一个指定的复制槽。
select * from sys_drop_replication_slot(' my_slot_name ');
(3)sys_copy_physical_replication_slot()函数:拷贝物理复制槽。
select * from sys_copy_physical_replication_slot('test', 'test_copy');
(4)sys_replication_slot_advance()函数:移动复制槽lsn的进度位置。在这里,可以对一个/多个节点的lsn位置进行移动。对于无需移动lsn位置的节点,依然需要用“0/0”占据一个参数位置,如下(只移动节点1的lsn位置):
select sys_replication_slot_advance('test', '0/1F9D5B0 0/0 0/0 0/0');
备机监控
(1)sys_last_wal_receive_lsn()函数:查看备机最近收到的WAL日志lsn。
select * from sys_last_wal_receive_lsn();
(2)sys_last_wal_replay_lsn()函数:查看备机最近回放到的WAL日志lsn。
select * from sys_last_wal_replay_lsn();
(3)sys_is_wal_replay_paused()函数:查看备机是否处于恢复暂停中。
select * from sys_is_wal_replay_paused();
(4)select sys_last_xact_replay_timestamp()函数:查看回放最近一个事务的时间。
select * from sys_last_xact_replay_timestamp();
(5)sys_is_in_recovery()函数:检查节点是否在恢复中。
select * from sys_is_in_recovery();
(6)sys_stat_get_wal_receiver()函数:显示了从 WAL 接收器所连接的服务器得到的有关该接收器的统计信息。
select * from sys_stat_get_wal_receiver();
(7)sys_stat_wal_receiver视图:显示了从 WAL 接收器所连接的服务器得到的有关该接收器的统计信息。
Select * from sys_stat_wal_receiver;
备机维护
(1)sys_wal_replay_pause()函数:redo日志回放暂停。
select * from sys_wal_replay_pause();
(2)sys_wal_replay_resume()函数:redo日志回放继续。
select * from sys_wal_replay_resume();