Oracle(2-7)Instance and Media Recovery Structures

文章目录

  • 一、基础知识
    • 1、体系结构详解
    • 2、Database Files 数据库文件
    • 3、Database Other Files 其他数据文件
    • 4、Dynamic Views 动态视图
    • 5、Large Pool
    • 6、DB Buffer Cache,DBWn
    • 7、Configuring Tablespaces 配置表空间
    • 8、Redo Log Buffer, LGWR
  • 二、基础操作
    • 1、查看数据库动态视图

在这里插入图片描述

Instance and Media Recovery Structures 实例和介质恢复结构
目标:

  • 掌握与恢复相关的Oracle进程、内存结构和文件
  • 了解检查点、重做日志文件和归档日志文件的重要性
  • 掌握优化实例恢复的方法

一、基础知识

1、体系结构详解

在这里插入图片描述

  • SGA
    • Database buffer cache:用于存储从数据文件读取的块的内存区域。数据由服务器进程读取到块中,并由DBWn异步写入。
    • Log buffer:包含要写入重做日志的更改数据的前后映像副本的内存
    • Large pool:SGA中的一个可选区域,为备份和恢复操作、I/O服务器进程以及共享服务器和 Oracle XA的会话内存提供大量内存分配。
    • Shared pool:存储SOL语句、PL/SOLprocedures和数据字典信息的解析版本
    • Java pool:在服务器内存中用于Java虚拟机(JVM)中所有特定于会话的Java代码和数据。
  • Background Processes 后台进程
    • Database writer(DBWn):将脏缓冲区从数据缓冲区缓存写入数据文件。此活动是异步的。
    • Log writer (LGWR):将数据从重做日志缓冲区写入重做日志文件
    • System monitor(SMON):执行自动实例恢复。在空间段不再使用时恢复它们。根据设置的参数合并可用空间的连续区域。
    • Process monitor(PMON):清理用于正常终止的用户进程的连接/服务器进程。执行回滚并释放失败进程所占用的资源。
    • Checkpoint(CKPT):将数据文件和控制文件的标头与当前重做日志和检查点编号同步
    • Archiver (ARCn)(optional):自动复制已标记为存档的重做日志的过程。
  • User & Server Process 用户和服务器进程
    • The User Process:用户进程是在用户启动工具(如SQL*Plus、Oracle Forms Developer、Oracle Reports Developer、Oracle Enterprise Manager等)时创建的。此进程可能位于客户端或服务器上,并为用户提供一个界面,用于输入与数据库交互的命令。
    • The Server Process:服务器进程接受来自用户进程的命令,并执行步骤来完成用户请求。如果数据库不在共享服务器配置中,则在建立有效连接时,会在包含实例的计算机上创建服务器进程。

2、Database Files 数据库文件

Oracle数据库由以下物理文件组成(这些文件的格式都是二进制的):

  • Datafiles:数据的物理存储。每个数据库至少需要一个文件。此文件存储系统表空间。
  • Redo logs:包含更改数据的前后映像副本,用于恢复目的。至少需要两组。
  • Control files:记录数据库的状态。物理结构和RMAN元数据
  • Archive logs(optional):联机重做日志文件的物理副本。当数据库设置为存档日志模式时创建。用于恢复中。

3、Database Other Files 其他数据文件

  • Initialization parameter file初始化参数文件:实例启动所需的存储参数,数据类型为TEXT
  • Server initialization parameter file服务器初始化参数文件:存储实例启动所需的持久参数,数据类型为二进制
  • Password file(optional)密码文件(可选):存储可以启动关闭并恢复数据库的用户的信息,数据类型为二进制

4、Dynamic Views 动态视图

Oracle服务器提供了许多标准视图来获取数据库和实例的信息。这些视图包括:

  • V$SGA:查询共享池、日志缓冲区、数据缓冲区的实例大小和固定的内存大小(取决于操作系统)
  • V$INSTANCE:查询实例的状态,如实例模式、实例名称、启动时间和主机名
  • V$PROCESS:查询为实例创建的后台和服务器进程
  • V$BGPROCESS:查询为实例创建的后台进程
  • V$DATABASE:列出有关数据库的状态和恢复信息。它包括关于数据库名称、唯一数据库标识符、创建日期、控制文件创建日期和时间、最后一个数据库检查点和其他信息的信息。
  • V$DATAFILE:列出数据库中包含的数据文件的位置和名称。它包括与文件编号和名称、创建日期、状态(在线或离线)、启用 (只读、读写)、最后数据文件检查点、大小和其他信息有关的信息。

5、Large Pool

  • 可配置为SGA中的单独内存区域,用于:
    • Oracle备份和恢复操作
    • I/0服务器进程
    • 共享服务器的会话内存
  • 由LARGE_POOL_SIZE参数确定大小

大池用于从共享内存中分配顺序的I/0缓冲区。对于I/0从站和甲骨文备份和恢复,RDBMS分配的缓冲区大小为几百KB。
配置大型池可以防止RMAN与其他子系统争夺相同的内存。当您将DBWR_IO_SLAWS或BACKUP_TAPE_IO_SLAWS参数设置为模拟异步10时,恢复管理器(RMAN)将使用大池进行备份和恢复。如果这两个参数都未启用,那么甲骨文将从本地进程内存而不是共享内存分配备份缓冲区。因此,不使用大池。如果设置了LARGE_POOL_SIZE,那么甲骨文将尝试从大型池中获取内存。如果这个值不够大,那么甲骨文不会尝试从共享池中获取缓冲区。如果没有设置LARGE_POOL_SIZE初始化参数,那么甲骨文服务器将尝试从SGA中的共享池中分配共享内存缓冲区。
如果甲骨文无法获得足够的内存,那么它从本地进程内存中获得1/0缓冲内存,并向alert.log文件写入一条消息,指示同步I/0用于备份。

6、DB Buffer Cache,DBWn

  • Function of the Database Buffer Cache 数据库缓冲区缓存的功能:
    • 数据库缓冲区缓存是SGA中用于存储最近使用的数据块的区域
    • 服务器进程从数据文件中读取表、索引和撤消段,并在需要时对缓冲区缓存中的数据块进行更改
    • Oracle服务器使用最近最少使用 (LRU) 算法来确定哪些缓冲区可以覆盖,以适应缓冲区缓存中的新块。
  • Function of the DBWn Background Process DBWn后台进程的功能:
    • 数据库写入程序进程(DBWn)将脏缓冲区从数据库缓冲区缓存写入数据文件。它确保数据库缓冲区缓存中有足够数量的可用缓冲区(当服务器进程需要从数据文件中读取块时,可以覆盖的缓冲区)。
    • 数据库编写器定期同步数据库缓冲区缓存和数据文件:这是在各种情况下触发的检查点事件。
    • 虽然一个数据库写入进程对于大多数系统来说已经足够了,但是如果您的系统需要大量修改数据,您可以配置其他进程(DBW1到DBW9)来提高写入性能。这些额外的数据库写入进程在单处理器系统上是没有用的。

7、Configuring Tablespaces 配置表空间

表空间包含一个或多个数据文件。重要的是要谨慎地创建表空间,以提供灵活和可管理的备份和恢复策略。以下是表空间的非典型配置,考虑到备份和恢复操作的要求:

  • System: 如果系统和用户数据包含在不同的表空间中,备份和恢复就更加灵活
  • Temporary:如果包含临时段 (用于排序等) 的表空间丢失,可以重新创建它,而不是恢复它。
  • Undo(重要):备份撤销表空间的过程与备份任何其他读/写表空间的过程完全相同。由于自动撤消表空间对于恢复和读取一致性非常重要,因此应该经常对其进行备份。
  • Read-only data: 可以减少备份时间,因为只有在将表空间设为只读时才必须备份表空间。
  • Highly volatile data高度易失性数据(重要):应该更频繁地备份该表空间,同时减少恢复时间
  • Index data: 应该创建只存储索引段的表空间。通常可以重新创建这些表空间而不是恢复它们。

8、Redo Log Buffer, LGWR

  • Function of the Redo Log Buffer 恢复日志缓冲区的功能:
    • 重做日志缓冲区是一个循环缓冲区,它保存有关对数据库所做更改的信息。这些信息存储在重做条目中。
    • 重做条目包含重建或重做INSERT、UPDATE、DELETE、CREATE、ALTER或DROPoperation对数据库所做更改所需的信息。恢复条目用于数据库恢复(如有必要)。
    • 重做条目由Oracle服务器进程从用户的内存空间复制到重做日志缓冲区。
  • Function of the LGWR Background Process LGWR后台进程的功能:
    • 日志写入器 (LGWR) 将重做条目从重做日志缓冲区写入重做日志文件,如下所示:
    • 重做日志缓冲区已满三分之一时
    • 当超时发生时(每三秒钟)
    • 当有1MB的重做
    • 在DBWn将数据库缓冲区缓存中的修改块写入数据文件之前
    • 当一个事务提交
  • Redo Log Switches
    • 在日志切换时,当前重做日志组被分配一个日志序列号,该日志序列号标识存储在该重做日志组中的信息,并且也用于同步。
    • 日志切换发生在LGWR停止写入一个重做日志组并开始写入另一个重做日志组时
    • 当LGWR填充了一个日志文件组时,将发生日志切换
    • DBA可以使用ALTER SYSTEM SWITCH LOGFILE命令强制进行日志切换
    • 在日志开关处自动发生检查点。
    • 只要组中至少有一个成员可用,处理就可以继续。如果成员损坏或不可用,消息将写入LGWR跟踪文件和警报日志。

二、基础操作

1、查看数据库动态视图

此处对应基础知识的第4部分
连接数据库查看动态视图
在这里插入图片描述

SELECT * FROM V$SGA;

在这里插入图片描述

  • Fixed Size:是固定的大小
  • Variable Size:大小是可变的,包括了Large pool、Shared pool、Java pool等
  • Database Buffers:用于存储从数据文件读取的块的内存区域,这部分一般比较大
  • Redo Buffers:包含要写入重做日志的更改数据的前后映像副本的内存
SELECT * FROM V$SGASTAT;

在这里插入图片描述
查看其他动态视图的方法也是这样的,可以参考基础知识的第四部分查看其他动态视图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/228828.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elk:filebeat也是一个日志收集工具

filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动使用的资源要小的多 filebeat可以允许在非java环境,他可以代替logstash在非java环境上收集日志 filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一…

Breadcrumb面包屑(antd-design组件库)简单用法和自定义分隔符

1.Breadcrumb面包屑 显示当前页面在系统层级结构中的位置,并能向上返回。 2.何时使用 当系统拥有超过两级以上的层级结构时; 当需要告知用户『你在哪里』时; 当需要向上导航的功能时。 组件代码来自: 面包屑 Breadcrumb - Ant Des…

日期对象与节点操作

1.日期对象 1.1实例化 // 实例化const date new Date()console.log(date);// 返回指定时间const date1 new Date(2022-5-1 08:30:00)console.log(date1);1.2日期对象方法 1.3时间戳 三种获取时间戳的方法 const date new Date()console.log(date.getTime());console.log(ne…

vue el-table表格中每行上传文件(上传简历)操作

1、HTML中 <el-table :data"formInfo.userListDto" border stripe max-height"400"><el-table-column type"index" label"序号" width"50"> </el-table-column><el-table-column prop"realName&q…

接手了一个外包开发的项目,我感觉我的头快要裂开了~

嗨&#xff0c;大家好&#xff0c;我是飘渺。 最近&#xff0c;我和小伙伴一起接手了一个由外包团队开发的微服务项目&#xff0c;这个项目采用了当前流行的Spring Cloud Alibaba微服务架构&#xff0c;并且是基于一个“大名鼎鼎”的微服务开源脚手架&#xff08;附带着模块代…

elment Loading 加载组件动态变更 text 值bug记录

先上效果图: 倒计时4分钟组件方法 // 倒计时 4分钟getSencond() {this.countDown 4分00秒this.interval setInterval(() > {this.maxTime--;let minutes Math.floor(this.maxTime / 60);let seconds Math.floor(this.maxTime % 60);minutes minutes < 10 ? 0 minu…

智慧公厕为高速服务区公厕做出的贡献

在现代社会&#xff0c;科技的飞速发展改变了人们的生活方式&#xff0c;也深刻影响着城市的基础设施和公共服务。而在这个数字化时代的背景下&#xff0c;智慧公厕作为城市智能化管理的一部分&#xff0c;为高速服务区公厕带来了一系列的创新和贡献&#xff0c;为旅客的出行提…

Corel产品注册机Corel Products KeyGen 2023 – XFORCE解决会声会影2023试用30天

CorelDRAW注册机2023支持全系列产品_Corel Products KeyGen 2023 X-FORCE v8 CorelDRAW注册机2023支持全系列产品_Corel Products KeyGen 2023 X-FORCE v8&#xff0c;Corel产品注册机&#xff08;Corel Products KeyGen 2023 – XFORCE&#xff09;&#xff0c;支持Corel旗下所…

点云凹凸缺陷检测 最高层点云 点云聚类

文章目录 0. 数据说明1. 凹凸缺陷基本内容2. 详细检测思路结果: 0. 数据说明 如上图所示,需要检测的内容为红色框内标出的缺陷部分。简单示例如下红色线条。 但是,由于噪声的影响,点云的平面度并不好,且横梁边缘处存在连接,如下: 基于上述问题,首先需要获取有效点云(最…

js实现鼠标拖拽

目录 css代码 html代码 js代码 完整代码 效果图&#xff1a; 需求&#xff1a; 鼠标在图片内按下时 图片可以跟随盒子动 鼠标弹起图片停下来 如果图片在box的盒子里面时鼠标弹起了 就把图片展示在box里面 并且让图片回到起始位置 css代码 .div {width: 100px;height: 10…

西南科技大学模拟电子技术实验二(二极管特性测试及其应用电路)预习报告

目录 一、计算/设计过程 二、画出并填写实验指导书上的预表 三、画出并填写实验指导书上的虚表 四、粘贴原理仿真、工程仿真截图 一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元件参数过程,越详细越好。用公式输入…

视觉测量基础

1. 相机模型 1.1 坐标系转换原理 世界坐标系(world Coords):点在真实世界中的位置&#xff0c;描述相机位置。 相机坐标系(Cameras Coords):以相机光学系统中心&#xff08;镜头中心&#xff09;为原点&#xff0c;建立相机坐标系。 图像物理坐标系(Film Coords):经过小孔成…