oracle 11g归档日志研究_2
2016-02-28 10:54
375 查看
从第3块开始,块里面存储着oracle的所有操作记录。块结构很简单,只有块头和块体:
typedef struct bk {
Redo_bh blockhead;
uint8_t buf[496];
}Redo_bk;
块头与上一篇介绍过的一致:
typedef struct bh {
uint32_t signature; //签名
uint32_t blocknum; //块号
uint32_t sequence; //顺序号
uint16_t offset; //最高位1需过滤掉
uint16_t checksum;
}Redo_bh;
块头中的offset表示当前块中第1个记录的所在位置,在11g中例如,它的值是80 00(x86架构cpu为小端序,用16进制编辑器打开为00 80),此时首位的1需要过滤掉(即&0x7FFF),它可能有以下几种值:
offset == 0:本块中不包含重新开始的记录,可能本块中没有数据(如第2块),或者本块完全被上一块占用了(跨块)。
offset >= 10:标记本块中记录开始的位置,位置是包括块头的,而块头是16字节(16进制的10),即如果offset == 10,则块头之后立即就是记录头。猜测offset应该小于512-16-记录头(最小的应该是24字节)=472字节。
块起始位置+offset之后,就是正常的操作记录了,块只起到对存储空间的划分作用,将块按照offset组合起来以后,可以获取到完整的操作记录。操作记录的结构(蛋疼的开始):
一个记录头(record head)
很多个change,每个change中:
一个change头
一个change向量表
一组按照向量表排列的change数据
下面详细研究记录的内容。
typedef struct bk {
Redo_bh blockhead;
uint8_t buf[496];
}Redo_bk;
块头与上一篇介绍过的一致:
typedef struct bh {
uint32_t signature; //签名
uint32_t blocknum; //块号
uint32_t sequence; //顺序号
uint16_t offset; //最高位1需过滤掉
uint16_t checksum;
}Redo_bh;
块头中的offset表示当前块中第1个记录的所在位置,在11g中例如,它的值是80 00(x86架构cpu为小端序,用16进制编辑器打开为00 80),此时首位的1需要过滤掉(即&0x7FFF),它可能有以下几种值:
offset == 0:本块中不包含重新开始的记录,可能本块中没有数据(如第2块),或者本块完全被上一块占用了(跨块)。
offset >= 10:标记本块中记录开始的位置,位置是包括块头的,而块头是16字节(16进制的10),即如果offset == 10,则块头之后立即就是记录头。猜测offset应该小于512-16-记录头(最小的应该是24字节)=472字节。
块起始位置+offset之后,就是正常的操作记录了,块只起到对存储空间的划分作用,将块按照offset组合起来以后,可以获取到完整的操作记录。操作记录的结构(蛋疼的开始):
一个记录头(record head)
很多个change,每个change中:
一个change头
一个change向量表
一组按照向量表排列的change数据
下面详细研究记录的内容。
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- MySQL Server 日志
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页