南大通用 GBase 8s 数据库中的物理日志与逻辑日志

原文链接:https://www.gbase.cn/community/post/5414

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

在数据库管理中,日志系统是确保数据完整性和系统恢复的关键组件。GBase8s数据库的物理日志和逻辑日志在系统恢复和数据管理中扮演着至关重要的角色。本文将探讨这两种日志的结构、功能以及它们在数据库管理中的重要性。

物理日志:快速恢复的基石

记录了数据库的所有物理操作,如数据页的修改、插入和删除等。这些记录在系统发生故障时,可以用来恢复数据库到故障发生前的状态。

物理日志的重要事实:

在快速恢复期间使用物理日志。

在大多数客户系统中,物理日志设置得太小,导致检查点出现得太频繁。

它可以移动到root dbspace之外,通常应该是这样。

虽然物理日志在一年中每天都完美运行的系统中可能没有多大用处,但它对GBase8s的快速恢复机制及其归档算法至关重要,这两者在我们大多数人所处的电源故障和磁盘崩溃的世界中都非常方便。

物理日志的初始大小通常太小,这可能会导致检查点过于频繁地出现。将物理日志的大小定得太小是新手管理员的常见错误。

物理日志的页结构

物理日志的页面结构与普通数据页类似,但有一些关键区别。物理日志中的页面包含原始页面位置的地址,而不是物理日志中的物理位置。这意味着,物理日志页面记录了数据页的原始位置,以便在恢复时能够准确地还原数据。

上图显示了物理日志页面的结构。物理日志中的页面与其原始页面相同。判断页面来自物理日志的唯一方法是查看页面地址(偏移量和区块)。页面包含原始页面位置的地址,而不是物理日志中的物理位置。

逻辑日志:数据一致性的保障

将逻辑日志视为一串日志页,每个日志页都有一个相当于逻辑页码的页偏移量。

每个逻辑日志都是一串连续的日志页。单个日志中的每一页都有编号,从0开始。

请记住,日志文件是块中的一个区段,它不会移动到任何地方,并且会不断被覆盖。日志文件是唯一的逻辑日志的临时宿主。备份到磁带的是逻辑日志,而不是日志文件。

逻辑日志可以包含从1到日志文件中可用总数的任意数量的页面。

逻辑日志页在逻辑日志缓冲区中一个接一个地生成,并在每次刷新缓冲区时按顺序写出。

逻辑日志页结构

如上图所示,逻辑日志页的结构可能表明通常访问日志记录的顺序方法。例如,请注意,该页面没有插槽表。(每条记录的长度存储在记录本身中。)另请注意,逻辑日志数据非常流畅,从一页溢出到下一页时不会大张旗鼓(尽管记录必须完全包含在日志文件中)。甚至页眉也有一些惊喜。

页头的一些属性与其他页也不同,具体如下:

pg_nslots

这是未使用的,因为日志页上没有插槽的真正概念。

pg_frcnt

这始终为零,即使对于未满的页面也是如此(请注意,pg_frptr是准确的)。原因更多的是巧合,而不是设计。

允许日志缓冲区中的日志页填充到最后一个字节,通常在下一页上继续最后一条记录。因此,大量日志页确实已满,特别是在专用缓冲日志记录时。

然而,例如,由具有无缓冲日志记录的数据库的检查点或提交记录强制进行的早期缓冲区刷新往往发生在缓冲区中的最后一页仅部分满的时候。一旦刷新到日志文件,日志页面就无法更改;无法向其中添加其他记录。即使这些页面的pg_frcnt也为0的原因是:就在刷新日志缓冲区之前,刷新进程将缓冲区中最后一页的pg_flcnt值设置为0,使页面看起来人为满,以防止在执行I/O时另一个引擎进程写入页面。

pg_next

在逻辑日志页上,页眉的此元素包含逻辑日志的唯一ID。

pg_prev

在逻辑日志页上,页眉的此元素包含日志页的页面偏移量(类似于逻辑页码)。请注意,这是日志中的偏移量,与往常一样,页面偏移量以0开头。

逻辑日志位置

日志记录仅在特定逻辑日志中唯一寻址。使用的地址称为逻辑日志位置,简称logpos。它是一个4字节的整数代码,根据页面偏移量和字节偏移量描述日志记录的位置。页面偏移量相对于日志的开头,从0开始索引。字节偏移量相对于页的开头,也从0开始索引,但由于页头占用的空间,此值不应小于0x018。

假设您被告知逻辑日志记录位于唯一ID为234、logpos为0x12018的逻辑日志中。你会怎么找到它?使用root chunk中两个检查点/逻辑日志保留页面中的较新页面,您可以找到日志号234的物理地址。一旦到达该页面,您将在日志中偏移0x12个页面以找到正确的日志页面,然后在该页面中偏移0x018个字节以找到日志记录。

展示逻辑日志

展示所有的逻辑日志文件

使用onstat –l 展示所有逻辑日志文件。

逻辑日志文件有两个号码:

文件编号(number),这个号码一直不变;

唯一编号(uniqid),逻辑日志文件都是循环使用的,因此,需要一个递增的唯一编号。

展示逻辑日志内容

使用onlog 可以展示逻辑日志的内容。具体使用方法,这里不展开。

通过探讨GBase8s数据库中的物理日志和逻辑日志,我们不仅了解了它们的结构和功能,还明白了它们在数据库管理和恢复中的重要性。希望本文能够为大家提供有价值的参考和启发,帮助大家更好地管理和维护GBase8s数据库系统。

原文链接:https://www.gbase.cn/community/post/5414

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容