逻辑日志记录类型和附加列

除了对给个记录显示 6 个头列之外,一些记录类型还显示信息的附加列。信息的显示会根据记录类型而变化。

下表列出了所有记录类型及它们附加列。

操作列标识生成日志条目的数据服务器操作类型。附加列格式列描述逻辑日志记录头中描述的头以外每个记录类型还出现什么信息。

表 1. 逻辑日志记录类型.

此表提供了逻辑日志记录类型的记录类型、操作、附加列以及格式的信息。

记录类型 操作 附加列和格式
ADDCHK 添加 chunk
  • chunk 编号 - Decimal
  • chunk 名称 - ASCII
ADDDBS 添加 dbspace
  • dbspace 名称 - ASCII
ADDITEM 将条目添加到索引中
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • 逻辑页 - Decimal
  • 键号 - Decimal
  • 键长 - Decimal
ADDLOG 添加日志
  • 日志编号 - Decimal
  • 日志长度(页)- Decimal
  • 页号 - Hexadecimal
ALLOCGENPG 分配类属页
  • tblspace ID - Decimal
  • rowid - Decimal
  • slot 标识和长度 - Decimal
  • 页的版本(如果删除的话)- Decimal
  • 标识,vimage 记录 - Decimal
  • 上一个 rowid - Decimal
  • 数据 - ASCII
ALTERDONE 对分片的更改完成
  • tblspace ID - Hexadecimal
  • 上一页的物理页号 - Hexadecimal
  • 逻辑页号 - Decimal
  • 更改的版本 - Decimal
ALTSPCOLSNEW 变更表中的已更改列
  • 列的数量 - Decimal
  • 特殊列列表 - 数组
ALTSPCOLSOLD 变更表中的已更改列
  • 列的数量 - Decimal
  • 特殊列列表 - 数组
BADIDX 错误的索引
  • tblspace ID - Hexadecimal
BEGCOM 开始提交
  • (无) - (无)
BEGIN 开始工作
  • 数据 - Decimal
  • 时间 - Decimal
  • SID - Decimal
  • 用户 - ASCII
BEGPREP 由协调者数据库服务器所写入,以记录两阶段提交协议的开始
  • 标识 - Decimal(在分布式事务中值为 0)
  • 参与者的数量 - Decimal
BEGWORK 开始事务
  • 开始事务的时间 - Decimal
  • 用户 ID - Decimal
  • 进程 ID - Decimal
BFRMAP 简单大对象自由图页更改
  • tblspace ID - Hexadecimal
  • bpageno - Hexadecimal
  • 状态 USED/FREE 日志 ID - Decimal
  • 上一页 - Hexadecimal
BLDCL 构建 tblspace
  • tblspace ID - Hexadecimal
  • fextsize - Decimal
  • nextsize - Decimal
  • 行大小 - Decimal
  • ncolumns - Decimal
  • 表名 - ASCII
BMAPFULL 位图已修改以准备用于变更
  • tblspace ID - Hexadecimal
  • 位图页号 - Decimal
BMAP2TO4 2 位位图更改成 2 个 4 位位图
  • tblspace ID - Hexadecimal
  • 2 位位图页号 - Decimal
  • 标识 - Decimal
BSPADD 添加 blobspace
  • blobspace 名称 - ASCII
BTCPYBCK 将子键复制回父键
  • tblspace ID - Hexadecimal
  • 父逻辑页 - Decimal
  • 子逻辑页 - Decimal
  • slot - Decimal
  • 行关闭 - Decimal
  • 键号 - Decimal
BTMERGE 合并 B-tree 节点
  • tblspace ID - Hexadecimal
  • 父逻辑页 - Decimal
  • 左逻辑页 - Decimal
  • 右逻辑页 - Decimal
  • 做 slot - Decimal
  • 左行关闭 - Decimal
  • 右 slot - Decimal
  • 右行关闭 - Decimal
  • 键号 - Decimal
BTSHUFFL 拖拽 B-tree 节点
  • tblspace ID - Hexadecimal
  • 父逻辑页 - Decimal
  • 右逻辑页 - Decimal
  • 左逻辑页- Decimal
  • 左 slot - Decimal
  • 左行关闭 - Decimal
  • 键号 - Decimal
  • 标识 - Hexadecimal
BTSPLIT 分割 B-tree 节点
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • 父逻辑页 - Decimal
  • 左逻辑页 - Decimal
  • 右逻辑页 - Decimal
  • 无限逻辑页 - Decimal
  • 根左逻辑页 - Decimal
  • 中间分割 - Decimal
  • 键号 - Decimal
  • 键长 - Decimal
CDINDEX 创建拆离索引
  • 数据库名 - ASCII
  • 所有者 - ASCII
  • 表名 - ASCII
  • 索引名 - ASCII
CDR 捕获由更新语句修改过得表列组,例如: bitvector 。此日志记录允许 Enterprise Replication 只捕获更改过得列传输给目标站点。

在该示例中,表的前 6 列从未更改过(bitvector 中的最左面 6 位是 0 ),第 7 和第 8 列更新过(第7 和 8 位是 1 )等等。onlog 输出显示了与输出的单行中相符的同样多的 bitvector 位。要查看以十六进制显示的整个 bitvector ,请使用 onlog -l 命令

  • CDR 记录的名称 - ASCII
  • 分区号 - Hexadecimal
  • bitvector - 二进制

CDR 日志记录的样本 onlog 输出:

 adr len  type xid id link
 40   36   CDR 14  0  18

name    partno  bitvector 
UPDCOLS 10009a  000000110100110100
CHALLOC Chunk extent 分配
  • 页号 - Hexadecimal
  • 大小 - Hexadecimal
CHCOMBINE Chunk extent 结合
  • 页号 - Hexadecimal
CHFREE Chunk extent 释放
  • 页号 - Hexadecimal
  • 大小 - Hexadecimal
CHKADJUP 更新磁盘上的 chunk 附件。当从保留区域移动空间至元数据或用户数据区域或当用户添加sbspace chunk 时,数据库服务器写入该记录
  • chunk 编号 - Integer
  • ud1_start_page - Integer
  • ud1_size - Integer
  • md_start_page - Integer
  • md_size - Integer
  • ud2_start_page - Integer
  • ud2_size - Integer
  • 标志 - Hexadecimal
CHPHYLOG 更改物理日志位置
  • 页号 - Hexadecimal
  • 大小(千字节) - Hexadecimal
  • dbspace 名 - ASCII
CHRESERV 保留用于元数据窃取的 extent 。该记录是在添加 sbspace 块时写入的。
  • chunk 编号 - Integer
  • 页号 - Integer
  • 长度 - Integer
CHSPLIT Chunk extent 分割
  • 页号 - Hexadecimal
CINDEX 创建索引
  • tblspace ID - Hexadecimal
  • 长的 rowid - Decimal
  • 高的 rowid - Decimal
  • 索引描述符 - ASCII
COARSELOCK 粗粒度锁定
  • tblspace ID - Hexadecimal
  • 旧的粗粒度锁定标志值 - Decimal
  • 新的粗粒度锁定标志值 - Decimal
CKPOINT 检查点
  • 最大用户数 - Decimal
  • 活动事务的数量 - Decimal
CLR 补偿日志记录:在回滚过程中创建
  • (无) - (无)
CLUSIDX 创建群集索引
  • tblspace ID - Hexadecimal
  • 键号 - Decimal
COLREPAI 调整 BYTE、 TEXT 或 VARCHAR 列
  • tblspace ID - Hexadecimal
  • 已调整列的数量 - Decimal
COMMIT 提交工作
  • 日期 - Decimal
  • 时间 - Decimal
COMTAB 压缩页上的 slot 表
  • 逻辑页编号 - Decimal
  • 已移动 slots 的数量 - Decimal
  • 已压缩的 slot 对 - ASCII
COMWORK 结束事务并提交工作
  • 结束事务时间 - Decimal
  • 开始事务时间 - Decimal
DELETE 删除前映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
DELITEM 从索引中删除条目
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • 逻辑页 - Decimal
  • 键号 - Decimal
  • 键长 - Decimal
DERASE 删除关闭 dbspace 中的 tblspace
  • tblspace 编号 - Hexadecimal
  • 表锁编号 - Decimal
DFADDEXT 已添加的下一个 extent
  • partnum - Hexadecimal
  • 列表中 extent 的偏移量 - Hexadecimal
  • 页中的 extent 大小 - Decimal
  • extent 的物理地址 - Offset and chunk no-hex
DFDRPEXT 删除源 extent
  • partnum - Hexadecimal
  • 列表中 extent 的偏移量 - Hexadecimal
  • extent 源大小 - Decimal
  • 物理地址 - offset and chunk no-hex
DFEND 结束分片的操作
  • partnum - Hexadecimal
DFMVPG 将页从旧的 extent 移到新的 extent
  • partnum - Hexadecimal
  • 新的 extent 的偏移量 - Hexadecimal
  • 资源的逻辑页号 - Hexadecimal
  • 目的地的物理地址 - Offset and chunk no-hex
  • 资源的逻辑地址 - Offset and chunk no-hex
DFREMDUM 移除虚拟条目
  • partnum - Hexadecimal
DFSTART 分片开始操作
  • partnum - Hexadecimal
DINDEX 删除索引
  • tblspace ID - Hexadecimal
  • 键号 - Decimal
DRPBSP 删除 blobspace
  • blobspace 名 - ASCII
DRPCHK 删除 chunk
  • chunk 编号 - Decimal
  • chunk 名 - ASCII
DRPDBS 删除 dbspace
  • dbspace 名称 - ASCII
DRPLOG 删除日志
  • 日志编号 - Decimal
  • 日志大小(页) - Decimal
  • 页号 - Hexadecimal
ENDTRANS 由协调者和参与者数据库服务器写入以记录事务的结束。ENDTRANS 指示数据库服务器从其共享内存事务表中除去事务条目并关闭该事务。

在协调者逻辑日志中,导致已提交事务的每个 BEGPREP 是与 ENDTRANS 记录配对的。如果协调者的最后决定时回滚事务,那么不写入 ENDTRANS 记录。

在参与者逻辑日志中,每个 ENDTRANS 记录是与 HEURTX 记录配对的

  • (无) - (无)
ERASE 删除 tblspace
  • tblspace ID -Hexadecimal
FREE_RE 将保留 extent 的 extent 分配给 sbspace chunk 的元数据或用户数据区域
  • chunk 编号 - Integer
  • 页号 - Integer
  • 长度 - Integer
  • 标志 - Hexadecimal
HDELETE 删除主行
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
HEURTX 由参与者数据库服务器写入,以记录回滚事务的试探性决策。它应与指示事务已回滚的标准 ROLLBACK 记录相关联
  • 标志 - Hexadecimal(值始终是 1 )
HINSERT 主行插入
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
HUPAFT 主行更新,后映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
HUPBEF 主行更新,前映象
此外,HUPBEF 头的标志字段可能包含以下值:
LM_PREVLSN
确认存在 LSN
LM_FIRSTUPD
确认这是该事务对此 rowID 的首次更新
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
  • LSN(可选)- Decimal
HUPDATE 如果主行更新前映象和后映象都可以适合单个页,那么数据库服务器写入单个 HUPDATE 记录。
此外, HUPDATE 日志的标志字段可能包含以下值:
LM_PREVLSN
确认存在 LSN
LM_FIRSTUPD
确认这是该事务对此 rowID 的首次更新
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • 向前 ptr rowid - Hexadecimal
  • 旧的 slotlen - Decimal
  • 新的 slotlen - Decimal
  • 块的数量 - Decimal
  • LSN (optional) - Decimal
IDXFLAGS 索引标志
  • tblspace ID - Hexadecimal
  • 键号 - Hexadecimal
INSERT 插入后映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
ISOSPCOMMIT 记录已隔离的保存点提交
  • 结束事务时间 - Decimal
  • 开始事务时间 - Decimal
LCKLVL 锁定方式(页或行)
  • tblspace ID - Hexadecimal
  • 新的锁定方式 lockmode - Hexadecimal
  • 旧的锁定方式 - Hexadecimal
LG_ADDBPOOL 联机添加缓冲池
  • 页大小(以字节计) - Decimal
  • 池中缓冲区数 - Decimal
  • lru 队列数 - Decimal
  • lru_max_dirty 百分比 - Decimal
  • lru_min_dirty 百分比 - Decimal
PTRUNCATE 表示意图截断表。分区标记为丢弃或复用,具体取决于指定的命令选项
  • tblspace ID - Hexadecimal
TRUNCATE TRUNCATE 已释放了 extents 且将落实该事务
  • tblspace ID - Hexadecimal
MVIDXND 索引节点已移动以允许 2 位至 4 位的位图转换
  • tblspace ID - Hexadecimal
  • 旧页号 - Decimal
  • 新页号 - Decimal
  • 父页号 - Decimal
  • 父 slot 号 - Decimal
  • 父 slot 偏移量 - Decimal
  • 键号 - Decimal
PBDELETE 删除 tblspace blobpage
  • bpageno - Hexadecimal
  • 状态 USED/FREE 唯一 ID - Decimal
PBINSERT 添加 tblspace blobpage
  • bpageno - Hexadecimal
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
  • pbrowid - Hexadecimal
PDINDEX 预删除索引
  • tblspace ID - Hexadecimal
PGALTER 原位更改了页
  • tblspace ID - Hexadecimal
  • 物理页号 - Hexadecimal
PGMODE 页模式已在位图中修改
  • tblspace ID - Hexadecimal
  • 逻辑页号 - Decimal
  • 旧模式 - Hexadecimal
  • 新模式 - Hexadecimal
PERASE 预擦除旧文件。标记要删除的表。数据库服务器释放提交的空间
  • tblspace ID - Hexadecimal
PNGPALIGN8 将该 tblspace 中的页用作类属页
PNLOCKID 更改 tblspaces 索标识
  • tblspace ID - Hexadecimal
  • 旧锁 ID - Hexadecimal
  • 新锁 ID - Hexadecimal
PNSIZES 设置 tblspace extent 大小
  • tblspace ID - Hexadecimal
  • fextsize - Decimal
  • nextsize - Decimal
PREPARE 由参与者数据库服务器写入,以记录参与者提交事务的能力(如果这样指示过)。
  • 协调者的 DBSERVERNAME - ASCII
PTADESC 添加更改描述信息
  • tblspace ID - Hexadecimal
  • 上一页的物理页号 - Hexadecimal
  • 逻辑页号 - Decimal
  • 已添加列的数量 - Decimal
PTALTER 分片更改已开始
  • tblspace ID - Hexadecimal
  • 上一页的物理页号 - Hexadecimal
  • 逻辑页号 - Decimal
  • 更改 desc 页号 - Decimal
  • 已添加的列数 - Decimal
  • 更改的版本 - Decimal
  • 已添加的行大小 - Decimal
PTALTNEWKEYD 在变更表命令之后更新tblspace 头中的键描述符
  • 键描述符的字节数 - Decimal
  • 键描述符中的数据 - ASCII
PTALTOLDKEYD 在变更表命令之后更新键描述符
  • 键描述符的字节数 - Decimal
  • 键描述符中的数据 - ASCII
PTCOLUMN 向分片添加特殊列
  • tblspace ID - Hexadecimal
  • 列的数量 - Decimal
PTEXTEND Tblspace 扩展
  • tblspace ID - Hexadecimal
  • 上一逻辑页 - Decimal
  • 第一物理页 - Hexadecimal
PTRENAME 重命名表
  • tblspace ID - Hexadecimal
  • 旧表名 - ASCII
  • 新表名 - ASCII
RDELETE 剩余页删除
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
  • hrowid (可选)- Decimal
  • poffset (可选)- Decimal
RENDBS 重命名 dbspace
  • 新的 dbspace 名称 - ASCII
REVERT 记录 dbspace 到较早版本 dbspace 的复原
  • 复原事件的类型 - Decimal
  • arg1 - Decimal
  • arg2 - Decimal
  • arg3 - Decimal
RINSERT 剩余页插入
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
  • hrowid(可选)- Decimal
  • poffset(可选)- Decimal
ROLLBACK 回滚工作
  • 日期 - Decimal
  • 时间 - Decimal
ROLWORK 结束事务并回滚工作
  • 结束事务时间 - Decimal
  • 开始事务时间 - Decimal
RSVEXTEND 记录对保留页的扩展
  • 页数 - Decimal
  • extent 的物理页号 - Hexadecimal
RTREE 记录对 R-tree 索引页的插入和删除。( R-tree 索引页上的其他操作是以物理方式记录的)记录子类型为:
  • LEAFINS - 在叶页中插入项
  • LEAFDEL - 删除叶页中的项
  • 记录子类型 - ASCII
  • 索引页 rowid - Hexadecimal
  • tuple 长度 - Decimal
  • 基本表 rowid - Decimal
  • 基本表 fragid - Decimal
  • 删除标志 - Decimal
RUPAFT 剩余页更新,后映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
RUPBEF 剩余页更新,前映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • slotlen - Decimal
  • hrowid(可选)- Decimal
  • poffset (可选)- Decimal
RUPDATE 如果剩余页更新前映象和数据库都可以适合单个页,那么数据库服务器写入一个 RUPDATE 记录
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
  • 向前 ptr rowid - Hexadecimal
  • 旧 slotlen - Decimal
  • 新 slotlen - Decimal
  • 块的数量 - Decimal
  • hrowid (可选) - Decimal
  • poffset (可选) - Decimal
SBLOB 指示智能大对象的子系统日志记录
各种记录子类型为:
  • CHALLOC
  • CHCOMBINE
  • CHFREE
  • CHSPLIT
  • CREATE
  • DELETES
  • EXTEND
  • HDRUPD
  • PDELETE
  • PTRUNC
  • REFCOUNT
  • UDINSERT
  • UDINSERT_LT
  • UDUPAFT
  • UDUPAFT_LT
  • UDUPAFT
  • UDUPAFT_LT
  • UDWRITE
  • UDWRITE_LT
SYNC 如果该日志文件是空的,且管理员指示数据库服务器切换至下一个日志文件,那么写人逻辑日志文件
  • (无) - (无)
TABLOCKS 由协调者或数据库服务器写入。它与 BEGPREP 或 PREPARE 记录相关联。并包含由事务持有的已锁定 tblspace 列表(按 tblspace 编号)。(在分布式事务中,事务显示为锁的所有者。)
  • 锁的数量 - Decimal
  • tblspace 编号 - Hexadecimal
UDINSERT 附加新的用户数据
  • 锁的数量 - Decimal
  • tblspace 编号 - Hexadecimal
UDUPAFT 如果 UDWRITE 代价太高,那么更新用户数据后映象
  • chunk - Decimal
  • chunk 中的页 - Hexadecimal
  • 页中的偏移量 - Hexadecimal
  • 数据长度 - Hexadecimal
UDUPBEF 如果 UDWRITE 代价太高,那么更新用户数据前映象
  • chunk - Decimal
  • chunk 中的页 - Hexadecimal
  • 页中的偏移量 - Hexadecimal
  • 数据长度 - Hexadecimal
UDWRITE 更新用户数据(差分映象)
  • chunk - Decimal
  • chunk 中的页 - Hexadecimal
  • chunk 中的偏移量 - Hexadecimal
  • 写入前长度 - Hexadecimal
  • 写入后长度 - Hexadecimal
UNDO 将要回滚的一系列事务的头记录
  • 计数 - Decimal
UNDOBLDC 如果应回滚 CREATE TABLE 语句但由于相关 chunk 已关闭而无法回滚,呢么写入该记录。当重放日志文件时,将删除该表
  • tblspace 编号 - Hexadecimal
UNIQID 当向行指定新的序列值时记录
  • tblspace ID - Hexadecimal
  • 唯一 ID - Decimal
UNIQ8ID 当向行指定新的序列8 值时记录
  • tblspace ID - Hexadecimal
  • 唯一 ID - Decimal
UPDAFT 更新后映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
UPDBEF 更新前映象
  • tblspace ID - Hexadecimal
  • rowid - Hexadecimal
XAPREPARE 参与者可以提交该 XA 事务
  • (无) - (无)