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


推荐阅读
  • 在 Kubernetes 中,Pod 的调度通常由集群的自动调度策略决定,这些策略主要关注资源充足性和负载均衡。然而,在某些场景下,用户可能需要更精细地控制 Pod 的调度行为,例如将特定的服务(如 GitLab)部署到特定节点上,以提高性能或满足特定需求。本文深入解析了 Kubernetes 的亲和性调度机制,并探讨了多种优化策略,帮助用户实现更高效、更灵活的资源管理。 ... [详细]
  • Linux系统防火墙启用与端口开放详细指南及操作流程
    在Linux系统中,启用防火墙并开放特定端口是确保网络安全的重要步骤。本文详细介绍了防火墙的配置方法和操作流程,包括如何解决在使用 `service iptables save` 命令时遇到的常见问题,如命令不支持基本的LSB动作(启动、停止等)的情况。此外,还提供了多种解决方案和最佳实践,帮助用户高效地管理和维护系统安全。 ... [详细]
  • 微软近日宣布,将在Windows 10的WSL(Windows Subsystem for Linux)中引入重大更新,支持运行带有图形用户界面(GUI)的Linux应用程序。这一举措不仅提升了Windows 10在开发环境中的灵活性和兼容性,也进一步挑战了Linux在桌面领域的地位。通过此次更新,用户可以在Windows 10上无缝运行Linux GUI应用,无需额外安装虚拟机或双系统,极大地简化了开发和测试流程。这标志着微软在提升跨平台开发体验方面迈出了重要一步。 ... [详细]
  • 利用 Python 管道实现父子进程间高效通信 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 如何利用正则表达式(regexp)实现高效的模式匹配?本文探讨了正则表达式在编程中的应用,并分析了一个示例程序中存在的问题。通过具体的代码示例,指出该程序在定义和使用正则表达式时的不当之处,旨在帮助读者更好地理解和应用正则表达式技术。 ... [详细]
  • 在尝试为 Unity 编译一个简单的 Java 库时,运行 `ant jar` 命令后遇到了 Java I/O 异常。具体错误信息为“无法启动程序 ${aAPT},错误代码 2”,这通常表示指定的文件或目录不存在。此问题可能是由于环境配置不正确或路径设置有误导致的。建议检查相关路径和环境变量,确保所有依赖项都已正确安装和配置。 ... [详细]
  • 在《Python编程基础》课程中,我们将深入探讨Python中的循环结构。通过详细解析for循环和while循环的语法与应用场景,帮助初学者掌握循环控制语句的核心概念和实际应用技巧。此外,还将介绍如何利用循环结构解决复杂问题,提高编程效率和代码可读性。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 1. 设置用户密码:使用 `slappasswd` 工具生成加密密码,确保账户安全。具体步骤如下:输入命令 `slappasswd -s NewPassword`,系统将提示重新输入新密码,并生成加密后的哈希值 {SSHA}xxxxxxxxxxxxxxxxx。2. 编写配置文件:编辑 `vildapus` 配置文件,添加必要的用户账户信息,以确保新用户能够顺利登录系统。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
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社区 版权所有