热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Oracle恢复内部原理(基础数据结构)

Oracle基础数据结构系列文章:Oracle恢复内部原理www.linuxidc.comsearch.aspx?wherenkeykeyword198242.1控制文

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恢复保证重做记录是不可分割的,即使在数据库失败的时候。


推荐阅读
  • 本文介绍了Linux内核中TCP的三种接收队列:Prequeue、sk_receive_queue和Backlog。这些队列在数据包处理过程中扮演着重要角色,帮助提高系统性能和效率。 ... [详细]
  • 本文探讨了Linux/Unix文件系统中两种主要的权限控制方式:传统的UGO(User/Group/Others)和更为精细的ACL(Access Control List)。ACL提供了一种更灵活的权限管理方法,适用于需要对文件系统进行细粒度控制的场景。 ... [详细]
  • 微服务自动化.dockercompose
    目录一、docker-compose二、docker-compose安装与配置1、修改docker.service2、下载文件3、将刚才下载的docker-compose文 ... [详细]
  • 本文探讨了如何在Linux系统中利用iptables和NFQUEUE处理来自镜像端口的流量。当镜像端口的数据包目的MAC地址与主机MAC地址不符时,通常会导致流量无法被NFQUEUE捕获。文章提供了解决这一问题的方法。 ... [详细]
  • 分布式计算助力链力实现毫秒级安全响应,确保100%数据准确性
    随着分布式计算技术的发展,其在数据存储、文件传输、在线视频、社交平台及去中心化金融等多个领域的应用日益广泛。国际知名企业如Firefox、Google、Opera、Netflix、OpenBazaar等均已采用该技术,推动了技术创新和服务升级。 ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文概述了作者在2014年的几项目标与愿望,包括职业发展、个人成长及家庭幸福等方面的具体计划。 ... [详细]
  • Linux系统中的USB驱动架构
    USB系统采用了树状拓扑结构,其主机端和设备端分别配置了主机控制器(Host Controller)和USB设备控制器(USB Device Controller)。主机控制器负责整个USB系统的通信调度,确保数据的有效传输。 ... [详细]
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 本文定期更新,涵盖虚拟化技术的基础知识、Xen虚拟机架构详解、KVM架构与原理、QEMU模拟器的功能及使用方法。同时,文章还探讨了不同虚拟化技术之间的比较与联系,以及如何利用这些技术进行网络配置和虚拟磁盘管理。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
author-avatar
sasame
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有