星空网 > 软件开发 > 数据库

oracle 11g归档日志研究_1

oracle数据库操作都会被记录在redo log中,用来进行undo(回滚)或在数据库异常的时候redo(重做)。redo log又分为online(在线日志)和archive(归档日志)两部分。

oracle默认有3个在线日志文件,通常它们是按顺序写满一个再写下一个,而写满的在线日志文件会被整理为归档日志。在每个在线日志内部,可能按顺序或随机填写数据。

 

在线日志和归档日志一样,都是由很多块组成,文件第1块作为文件头,包含块大小、块总数等信息,第2块作为数据库头,包含数据库信息(如版本号、数据库ID、文件序号等)。默认情况下,块大小为512bytes,也可能有1k、2k等的情况(我还没遇到),所以redo log文件大小一定是512字节的整数倍。

第1块的数据格式:

oracle 11g归档日志研究_1oracle 11g归档日志研究_1
typedef struct fh0 {  uint32_t unknown0;  uint32_t unknown1;  uint32_t unknown2;  uint32_t unknown3;  uint32_t unknown4;  uint32_t blocksize;   //每块大小(字节), 512/1024...  uint32_t blockcount;  //当前文件的总块数(不包括第一块)  uint32_t unknown5;  uint8_t nouse[480];}Redo_fh0;

Redo_fh0

 

第2块的数据格式:

oracle 11g归档日志研究_1oracle 11g归档日志研究_1
typedef struct scn {  uint32_t scnbase;  uint16_t scnwrapper;  uint16_t filler;}Redo_scn;typedef struct fh1 {  Redo_bh blockhead;  uint32_t unknown0;  uint32_t comvsn;    //Compatibility Vsn  uint32_t dbid;  uint8_t dbname[8];   //"ORCL"(sid)  uint32_t controlseq;  uint32_t filesize;  uint32_t blocksize;  uint16_t filenum;  uint16_t filetype;  uint32_t activid;  uint8_t nouse0[36];   //0  uint8_t descript[64];  uint32_t nab;      //next available block  uint32_t resetcount;  Redo_scn resetscn;  uint32_t hws;      //后3字节为0  uint32_t thread;  Redo_scn lowscn;  uint32_t lowscntime;  Redo_scn nextscn;  uint32_t nextscntime;  uint32_t unknown11;  Redo_scn enablescn;  uint32_t enablescntime;  Redo_scn thrclosescn;  uint32_t thrclosescntime;  uint8_t unknown13[52];  Redo_scn prevresetscn;  uint32_t prevresetcount;  uint8_t nouse1[152];  //0  uint8_t unknown14[36];  uint8_t nouse2[28];   //0}Redo_fh1;

Redo_fh1

 

第1块与其他块完全不同,它不含有块头,也不被包含在块总数之内。从第2块开始,所有的数据块的前16个字节为块头,格式:

oracle 11g归档日志研究_1oracle 11g归档日志研究_1
typedef struct bh {  uint32_t signature;   //签名  uint32_t blocknum;   //块号  uint32_t sequence;   //顺序号  uint16_t offset;    //最高位1需过滤掉  uint16_t checksum;}Redo_bh;

Redo_bh

 

下面详细研究归档日志。




原标题:oracle 11g归档日志研究_1

关键词:oracle

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

小卖运营:https://www.goluckyvip.com/tag/3287.html
海外仓的功能有哪些:https://www.goluckyvip.com/tag/32870.html
海外仓的含义:https://www.goluckyvip.com/tag/32871.html
海外仓的价格:https://www.goluckyvip.com/tag/32872.html
海外仓的建设:https://www.goluckyvip.com/tag/32873.html
海外仓的介绍:https://www.goluckyvip.com/tag/32874.html
三亚有哪些酒店值得入住?:https://www.vstour.cn/a/366173.html
零售晚报:丽人丽妆2023年扭亏为盈 玉容初、美壹堂等自有品牌增速超40% :https://www.kjdsnews.com/a/1836649.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流