SHOW_BINLOG_EVENTS()

说明

获得指定Binlog文件的详细内容。

语法

show_binlog_events ::=

参数

startpos

int 类型。要查看日志的起始位置,一般先获取 currentlsn,再执行sql语句。从 currentlsn 的位置开始读取,不可以随意设定,否则会导致读取出错。

skip_num

int 类型。跳过的事务个数。默认是0,会读取所有的事务。

print_num

int 类型。扫描输出事务个数。默认是0,会输出所有的事务。

相关属性

SHOW_BINLOG_EVENTS可以显示如下属性列:

EVENT_TYPE

事件的类型。

PHXID

事件所属的物理事务号。

USER_NAME

当前用户名。

SCHEMA_NAME

事件对应的模式。

TABLE_NAME

事件对应的表名。

EVENT_ID

事件的ID。

INSTANCE_NUMBER

共享存储数据库集群的实例ID,非集群时该列返回值为0。

END_LOG_POS

从 startpos 开始读取,当前事件所在redo日志的起始位置。

NEXT_LOG_POS

下一次需要读取日志的起始位置。类似于startpos。

CSF

表示上个event是否结束,延续sql的标志。

EVENT_INFO

当前数据库与Binlog的版本信息。

REDO_SQL

事件对应的sql语句。

EVENT_TIME

事件生成的时间。

示例

示例1: 查看show_binlog_events

alter database archivelog;
drop table test_show;
drop table temp_lsn;
drop table binloginfo;
drop procedure purge_binlog_file;


create table temp_lsn(log_lsn BIGINT);
create table binloginfo(EVENT_TYPE VARCHAR(20), PXID INT8, USER_NAME VARCHAR(128), SCHEMA_NAME VARCHAR(128), TABLE_NAME VARCHAR(128), EVENT_ID int, INSTANCE_NUMBER int,END_LOG_POS int8, NEXT_LOG_POS int8, CSF int1, EVENT_INFO text, REDO_SQL text, EVENT_TIME TIMESTAMP);


create or replace procedure purge_binlog_file() as
DECLARE 
pos BIGINT;
BEGIN 
SELECT * INTO pos FROM temp_lsn;
INSERT  INTO  binloginfo select * FROM show_binlog_events(pos,0,0) where redo_sql not like '%TEMP_LSN%';
END;
/

alter system;
insert into temp_lsn(select current_lsn from v$database);

create table test_show(a text);
insert into test_show values(1);
insert into test_show values(repeat('a',80));


exec purge_binlog_file();

select * from binloginfo;
EVENT_TYPE(varchar)      |PXID(bigint)      |USER_NAME(varchar)      |SCHEMA_NAME(varchar)      |TABLE_NAME(varchar)      |EVENT_ID(int)      |INSTANCE_NUMBER(int)      |END_LOG_POS(bigint)      |NEXT_LOG_POS(bigint)      |CSF(tinyint)      |EVENT_INFO(text)      |REDO_SQL(text)      |EVENT_TIME(timestamp)      |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BEGIN                    |281492156579841   |SYSDBA                  |                          |                         |1                  |0                         |23151104                 |23153567                  |0                 |BEGIN	                |0                   |2024-09-23 16:32:11        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BEGIN                    |281496451547137   |SYSDBA                  |                          |                         |1                  |0                         |23153664                 |23158964                  |0                 |BEGIN	                |65536               |2024-09-23 16:32:11        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
QUERY                    |281496451547137   |SYSDBA                  |                          |                         |2                  |0                         |23153664                 |23158964                  |0                 |create table test_show|create table test_sh|2024-09-23 16:32:11        |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |(a text)	SYSDBA       |ow(a text)          |                           |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BEGIN                    |281500746514433   |SYSDBA                  |                          |                         |1                  |0                         |23159296                 |23161723                  |0                 |BEGIN	                |0                   |2024-09-23 16:32:11        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INSERT_ROW               |281500746514433   |SYSDBA                  |SYSDBA                    |TEST_SHOW                |2                  |0                         |23159296                 |23161723                  |0                 |flags:STMT_END_F	table|insert into "SYSDBA"|2024-09-23 16:32:11        |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |_id=1	(SYSDBA.TEST_SH|."TEST_SHOW" values|                           |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |OW)                   |('1');              |                           |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BEGIN                    |281505041481729   |SYSDBA                  |                          |                         |1                  |0                         |23161856                 |23162751                  |0                 |BEGIN	                |0                   |2024-09-23 16:32:11        |
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INSERT_ROW               |281505041481729   |SYSDBA                  |SYSDBA                    |TEST_SHOW                |2                  |0                         |23161856                 |23162751                  |0                 |flags:STMT_END_F	table|insert into "SYSDBA"|2024-09-23 16:32:11        |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |_id=1	(SYSDBA.TEST_SH|."TEST_SHOW" values|                           |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |OW)                   |('aaaaaaaaaaaaaaaaa|                           |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |                      |aaaaaaaaaaaaaaaaaaa|                           |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |                      |aaaaaaaaaaaaaaaaaaa|                           |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |                      |aaaaaaaaaaaaaaaaaaa|                           |
                         |                  |                        |                          |                         |                   |                          |                         |                          |                  |                      |aaaaaa');           |                           |
总数目:7

drop table test_show;
drop table temp_lsn;
drop table binloginfo;
drop procedure purge_binlog_file;