视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle恢复内部原理(基础数据结构)
2020-11-09 12:44:27 责编:小采
文档


Oracle基础数据结构 系列文章:Oracle恢复内部原理 http://www.linuxidc.com/search.aspx?where=nkeykeyword=19824 2.1 控制文

Oracle基础数据结构

系列文章:Oracle恢复内部原理 ?where=nkey&keyword=19824

2.1 控制文件

控制文件包含了数据库中所有其他文件的状态信息。

控制文件包含了如下几类数据:

A. 数据库信息记录(一条)

B. 数据文件记录(每个数据文件一条)

C. 线程记录(每个线程一条。注:每个实例一个线程)

D. 日志文件记录(每个日志文件一条)

E. 文件名记录(每个数据文件或者日志文件成员一条)

F. 日志历史记录(每个已经完成的日志文件一条)



控制文件的被后面文档引用到的字段如下,后面是引用该字段的章节:

2.1.1 数据库信息记录(控制文件)

所含字段:

A. resetlogs timestamp: 8.2

B. resetlogs scn: 8.2

C. enabled thread bitvec: 8.3

D. force archiving scn: 3.8

E. database checkpoint thread(thread record index) : 2.13, 3.10



2.1.3 数据文件记录(控制文件)

A. thread checkpoint structure: 2.12, 3.4, 8.3

B. thread-open flag: 3.9, 3.11, 8.3

C. current log (logfile record index)

D. head and tail (logfile record indices) of list of logfiles in thread: 2.8



2.1.4 日志文件记录(控制文件)

A. log sequence number: 2.7

B. thread number: 8.4

C. next and previous (logfile record indices) of list of logfiles in thread: 2.8

D. count of files in group: 2.8

E. low SCN: 2.7

F. next SCN: 2.7

G. head and tail (filename record indices) of list of filenames in group: 2.8

H. "being cleared" flag: 10.3

I. "archiving not needed" flag: 10.3



2.1.5 文件名记录(控制文件)

A. filename

B. filetype

C. next and previous (filename record indices) of list of filenames in group: 2.8



2.1.6 日志文件历史记录(控制文件)

A. thread number: 2.11

B. log sequence number: 2.11

C. low SCN: 2.11

D. low SCN timestamp: 2.11

E. next SCN: 2.11



2.2 数据文件头



数据文件头部分的被后面文档引用的字段如下,后面跟的是引用该字段的章节:

A. datafile checkpoint structure: 2.14

B. backup checkpoint structure: 4.1

C. checkpoint counter: 2.16, 3.4, 5.3, 6.2

D. esetlogs timestamp: 8.2

E. resetlogs SCN: 8.2

F. creation SCN: 8.1

G. online-fuzzy bit: 3.5, 6.7.1, 8.1

H. hotbackup-fuzzy bit: 4.1, 4.4, 6.7.1, 8.1

I. media-recovery-fuzzy bit: 6.7.1, 8.1



2.3 日志文件头



日志文件头部分的被后面文档引用的字段如下,后面跟的是引用该字段的章节:

A. thread number: 2.7

B. sequence number: 2.7

C. low SCN: 2.7

D. next SCN: 2.7

E. end-of-thread flag: 6.10

F. resetlogs timestamp: 8.2

G. resetlogs SCN: 8.2



2.4 改变向量(Change Vector)

改变向量表示对数据块的一次变更。改变向量头部记录了发生变更的数据块的DBA地址,该块的版本号,序列值和操作代码。头部以后的内容跟具体的变更操作有关。数据块版本号和序列值是在创建改变向量时从数据块的头部复制过来的。当块被更新后,版本号值就比原来的值大一点,而序列号则被设为1。此后数据块每变更一次,序列值就增长1.



2.5 重做记录

一个重做记录是由一组改变向量组成,代表一个数据库变更。如一个事务的重做记录由三部分组成。首先是事务表(回滚段段首)的改变向量,其次是回滚段块的改变向量,,最后是数据块的改变向量。一个事务可以产生多个重做记录组成。一个重做记录是数据库恢复的最小单位,一个重做记录由多个改变向量组成的机制允许多个数据块被修改并且这些修改要么都发生要么就都没发生,即使发生突然的失败。这种原子性是由数据库缓冲层的一个基础Job来保证的。Oracle恢复保证重做记录是不可分割的,即使在数据库失败的时候。

下载本文
显示全文
专题