达梦LSN的介绍

刚开始学习达梦时,被LSN,SEQ搞得晕头转向,最近仔细研究了一下相关文档。分享给屏幕前的小伙伴一起学习下。

什么是LSN:LSN(Log Sequence Number)是由系统自动维护的 Bigint 类型数值,具有自动递增、全局唯一特性,每一个 LSN 值代表着 DM 系统内部产生的一个物理事务。物理事务(Physical Transaction,简称 ptx)是数据库内部一系列修改物理数据页操作的集合, 与数据库管理系统中事务(Transaction)概念相对应,具有原子性、有序性、无法撤销 等特性。

!!!敲重点:物理事务(不等于)普通的数据库事务。

举例:

一般说来一条修改数据的 SQL 语句(比如 Insert,update等),在系统内部会转 化为多个相互独立的物理事务来完成。

言归正传:DM数据内有多少种LSN呢?CUR_LSN,FILE_LSN,FLUSH_LSN,CKPT_LSN,APPLY_LSN,RPKG_LSN。

第一种:CUR_LSN 是系统已经分配的最大 LSN 值。物理事务提交时,系统会为其分配一个 唯一的 LSN 值,大小等于 CUR_LSN + 1,然后再修改 CUR_LSN=CUR_LSN+1

 第二种:FILE_LSN 是已经写入联机 Redo 日志文件的日志包的最大 LSN 值。每次将 Redo 日志包 RLOG_PKG 写入联机 Redo 日志文件后,都要修改 FILE_LSN 值。

第三种:FLUSH_LSN 是已经发起日志刷盘请求,但还没有真正写入联机 Redo 日志文件的 最大 LSN 值。

 第四种:CKPT_LSN 是检查点 LSN,所有 LSN <= CKPT_LSN 的物理事务修改的数据页, 都已经从 Buffer 缓冲区写入磁盘,CKPT_LSN 由检查点线程负责调整。

第五种:APPLY_LSN 是备库已写入联机 Redo 日志文件的日志包的原始最大 LSN 值,此 LSN 取自主库对应的原始日志包中的最大 LSN 值。如果主库是 DMDSC 集群,备库分别为主 库每一个节点维护一个 APPLY_LSN。(主要用于数据守护、MPP主备等集群系统中)

 

第六种:RPKG_LSN 是备库重演 LSN,表示备库已经重演完成的最大 LSN。如果主库是 DMDSC 集群,备库分别为主库每一个节点维护一个 APPLY_LSN。(主要用于数据守护、MPP主备等集群系统中)

写在最后,LSN一般还需搭配RLOG_PKG(Redo 日志包)一起理解,想要完全掌握数据守护系统,Redo,LSN,SEQ等联机日志和归档相关的知识是必不可少的,建议小伙伴们自己下载DM数据库进行学习和尝试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库生成pdm日志文件的过程是通过配置参数来控制的。其中,日志文件的命名格式为dmsql_实例名_日期_时间.log,例如dmsql_pdm_20180719_163701.log。 当日志文件数量到设定值时,会自动删除最早的日志文件,以便生成新的日志。这个设定值通过参数FILE_NUM来配置,有效值范围是0~1024。当FILE_NUM被配置为0时,只会生成两个日志文件,相互切换着记录。 此外,数据库还有其他相关的参数。比如,当数据库记录的执行码版本比当前服务器版本高时,可以配置参数来决定是否报错。参数名为EXECUTE_CHECK,0表示不报错,1表示报错,服务器不能成功启动。 另外一个参数是REDO_MAX_LSN,用于指定系统故障重启时重做日志的最大LSN值。这个参数一般在数据库文件系统损坏、系统无法正常启动的情况下使用。通过指定这个参数,可以将数据库恢复到稍早的时间点,以便抢救部分数据。但使用这个参数要非常慎重,并在系统启动后记得将参数值重新修改为默认值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [数据库配置文件](https://blog.csdn.net/zbzyzl/article/details/126339795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值