openGauss数据库实验教程 课件 第11章 openGauss数据库日志与恢复实验_第1页
openGauss数据库实验教程 课件 第11章 openGauss数据库日志与恢复实验_第2页
openGauss数据库实验教程 课件 第11章 openGauss数据库日志与恢复实验_第3页
openGauss数据库实验教程 课件 第11章 openGauss数据库日志与恢复实验_第4页
openGauss数据库实验教程 课件 第11章 openGauss数据库日志与恢复实验_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

openGauss数据库日志与恢复实验深入理解日志与恢复机制目录实验介绍1.实验步骤3.实验讨论与总结5.实验原理2.实验结果4.1.实验介绍了解实验背景与挑战实验背景实验目的与挑战O1打通原理与实现鸿沟通过openGauss源代码分析与验证日志与恢复相关原理与机制。O2分析验证原理机制涉及WAL日志、XLOG记录、写入过程、检查点、恢复、备份与PITR恢复等。O3实验具有挑战性实践内容含较多源代码阅读与分析,涉及底层系统机制。理解原理掌握日志相关原理理解WAL日志工作原理知晓WAL日志如何保障数据库在故障时数据不丢失。1理解XLOG日志组织清楚XLOG日志记录的组织结构和数据存储方式。2理解日志写入过程明白日志从产生到写入WAL段文件的整个流程。3理解检查点机制了解检查点何时触发、如何执行及作用。4理解原理在没有WAL日志的数据库中插入数据理解原理在有WAL日志的数据库中插入数据理解原理使用WAL日志的数据库恢复理解原理在带有全页写功能的WAL日志机制下插入数据理解原理在带有全页写功能的WAL日志机制下进行故障恢复理解原理WAL日志文件的命名编码方式掌握方法学会备份与恢复操作熟练运用物理备份和WAL日志进行PITR恢复。掌握备份与PITR恢复01熟悉与实验相关的函数功能和结构体定义。了解相关函数与结构体022.实验原理剖析日志与恢复核心原理WAL日志文件探究WAL日志的作用与命名无WAL日志插入操作无WAL时系统崩溃会导致插入数据丢失,存在数据风险。插入操作与数据库恢复引入WAL日志可保障故障时数据恢复,有REDO日志特性。全页写机制解决部分写问题,每个检查点后首变页面写全页镜像。WAL日志文件命名文件名由时间线id、逻辑id和逻辑段号组成,有计算公式。文件内部结构内部有页面,头数据有不同结构体,XLOG记录在页面中。XLOG日志记录分析XLOG记录的结构与类型包含总长度、事务ID、指针、标志位、资源管理器和CRC校验。通用头部分数据部分有头部分和数据部分,头部分含多种结构体和数据头。不同类型XLOG记录备份块、非备份块和检查点记录有不同的结构和数据组成。XLOG日志记录

XLOG记录的数据结构日志写入过程了解日志写入的关键步骤01执行INSERT语句会调用一系列函数完成日志写入。函数调用流程02事务提交、终止,WAL缓冲区满,写线程周期性写入。引起写入的操作03周期性检查WAL缓冲区,避免XLOG记录大量集中写入。WalWriter线程作用日志写入过程XLOG记录写入过程检查点机制掌握检查点的触发与执行超时间、超大小、fast关闭、手动命令会触发检查点。触发检查点的情形存储重做点、写检查点记录、刷新共享缓冲区、更新控制文件。检查点执行流程含检查点基本信息,损坏则无法得知恢复起点。pg_control文件作用XLOG记录写入过程检查点机制数据库恢复读取控制文件,获取重做点,按顺序重做XLOG记录。启动恢复过程保证非备份块重做顺序正确,避免数据不一致。LSN比较原因备份块重做操作幂等,可重做任意多次。备份块重做特点明确数据库恢复的方式与比较数据库恢复过程数据库恢复数据库恢复示例数据库恢复数据库备份与PITR恢复01物理备份快但文件大,逻辑备份便于跨平台但速度慢。物理备份与逻辑备份02PITR恢复原理结合物理备份和归档日志,重做XLOG记录恢复数据库。03需全量数据文件和WAL日志,按步骤替换、删除、配置恢复。恢复前提与流程认识备份类型与PITR恢复原理3.实验步骤详细展示实验操作流程查看WAL日志文件获取WAL日志相关信息查看默认日志大小了解WAL日志的默认存储空间大小。查看当前日志LSN获取当前日志的唯一标识符LSN值。查看当前日志文件名确定当前正在使用的WAL日志文件名。查看日志名与LSN偏移量知晓日志名和LSN在WAL段文件中的字节位置。查看日志文件目录找到存储WAL日志文件的目录路径。验证数据库恢复immediate关闭模式验证用immediate模式关闭数据库,重启后数据可恢复。fast关闭模式验证用fast模式关闭数据库,未提交事务会被回滚。查看pg_control文件通过命令查看控制文件内容,了解数据库状态。验证不同关闭模式的恢复情况分析代码深入探究数据库恢复代码关注StartupXLOG函数及其调用的相关函数。恢复过程关键函数资源管理器表实现类似C++多态性,处理不同XLOG记录。资源管理器表不同表修改语句对应不同XLOG处理函数,如INSERT调用heap_redo。重做函数调用添加代码输出数据库恢复过程信息注释条件编译注释掉WAL_DEBUG条件编译,打开函数xlog_outrec。修改StartupXLOG代码注释部分代码,输出重做每条XLOG记录的信息。编译安装与启动确保数据库停止,执行编译安装后启动数据库。查看日志输出查看pg_log目录下最新日志文件,分析输出信息。代码添加位置添加代码代码添加位置添加代码验证备份与PITR恢复数据库备份用gs_basebackup脚本备份数据库,获取全量数据文件。插入测试数据在备份后插入测试数据,创建还原点并拷贝WAL日志。PITR恢复操作按步骤清空、替换文件,配置恢复点并启动数据库验证。实践数据库备份与PITR恢复4.实验结果呈现实验的最终成果查看输出查看各实验步骤的输出结果完成11.4.1、11.4.2节输出查看查看WAL日志和验证数据库恢复的输出信息。完成11.4.3节调用图绘制StartupXLOG函数涉及到的函数调用图。完成11.4.4节日志输出查看添加代码后数据库恢复过程的日志输出。完成11.4.5节输出查看验证备份与PITR恢复的数据库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论