第五十章 管理镜像 - 在报告异步上使用 Dejournal 过滤器

news/2024/12/2 15:53:42/

文章目录

  • 第五十章 管理镜像 - 在报告异步上使用 Dejournal 过滤器
  • 在报告异步上使用 Dejournal 过滤器
  • 一般镜像注意事项
    • `Mirror APIs`
    • 主要故障转移成员的外部备份
    • 在镜像成员上升级 `IRIS`

第五十章 管理镜像 - 在报告异步上使用 Dejournal 过滤器

在报告异步上使用 Dejournal 过滤器

仅在报告异步上,可以在给定镜像上设置用户定义的 dejournal 过滤器,让为每个日志记录执行自己的代码以确定哪些记录应用于该镜像中的读写数据库。定义过滤器后,可以在任意数量的镜像上设置它,并且可以随时设置、更改和删除过滤器。

重要提示:此功能仅适用于高度专业化的情况。应仔细考虑替代方案。为了控制将哪些全局变量复制到镜像成员,到非镜像数据库的全局映射提供了一种更简单、轻量级的解决方案。对于监控应用程序数据库的更新,在应用程序级别构建的解决方案通常更加灵活。

dejournal 过滤器允许报告异步跳过从主要接收的日志文件中的某些记录的 dejournaling。但是,这仅适用于读写数据库——最初以读写报告异步方式添加到镜像中的数据库,或者自数据库以只读方式添加到镜像后已清除 FailoverDB 标志的数据库。 (有关 FailoverDB 标志和镜像数据库在报告异步时的装载状态的详细说明,请参阅清除报告异步镜像成员上的 FailoverDB 标志。)如果在数据库上设置了 FailoverDB 标志,这意味着该数据库被装载为读取- 只是,dejournal 过滤器代码仍然执行,但所有记录总是在该数据库上 dejournaled,无论过滤器代码返回什么。

重要提示:设置 dejournal 过滤器会减慢它所设置的镜像的 dejournaling;这种影响可能很大,具体取决于过滤器的内容。

要创建 dejournal 过滤器,请扩展超类 SYS.MirrorDejournal 以创建镜像 dejournal 过滤器类。类名应以 Zz 开头,以便在 IRIS 升级期间保留。

要在报告异步的镜像上设置 dejournal 过滤器,请导航到“编辑异步配置”页面(系统管理 > 配置 > 镜像设置 > 编辑异步),单击镜像此异步成员中所需镜像旁边的编辑 Dejournal 过滤器链接属于列表,输入镜像dejournal过滤类的名称,点击保存。要删除过滤器,请执行相同的操作,但在单击保存之前清除输入框。每当您在镜像上添加、更改或删除日志过滤器时,都会自动为该镜像重新启动 dejournaling,以便可以应用过滤器。但是,如果修改并重新编译镜像 dejournal 过滤器类,则必须使用 ^MIRROR 例程的镜像管理菜单上的管理异步成员上的镜像 dejournaling 选项手动停止并重新启动所有镜像上的 dejournaling

一般镜像注意事项

本节提供镜像的考虑信息、建议和最佳实践指南。它包括以下小节:

Mirror APIs

类中的 SYS.Mirror提供了通过管理门户和 ^MIRROR 例程(请参阅使用 ^MIRROR 例程)以及许多查询以编程方式调用镜像操作的方法。例如,SYS.Mirror.CreateNewMirrorSet() 方法可用于创建镜像和配置第一个故障转移成员,而 SYS.Mirror.MemberStatusList() 查询返回列表镜像成员和每个成员的日志延迟状态。有关这些方法的说明,请参阅 SYS.Mirror 类文档。

如果使用外部脚本执行备份,可以使用 $SYSTEM.Mirror 类方法来验证系统是否是镜像的一部分,如果是,它的作用是什么:

$System.Mirror.IsMember()
$System.Mirror.IsPrimary()
$System.Mirror.IsBackup()
$System.Mirror.IsAsyncMember()
$System.Mirror.MirrorName()

其中 $SYSTEM.Mirror.IsMember() 如果该系统是故障转移成员则返回 1,如果这是异步镜像成员则返回 2,如果这不是镜像成员则返回 0$SYSTEM.Mirror.IsPrimary() 如果该系统是主故障转移成员则返回 1,否则返回 0$SYSTEM.Mirror.IsBackup() 如果此系统是备份故障转移成员则返回 1,否则返回 0$SYSTEM.Mirror.IsAsyncMember() 如果此系统是异步成员则返回 1,否则返回 0$SYSTEM.Mirror.MirrorName() 如果实例被配置为故障转移镜像成员则返回镜像的名称,否则返回 NULL

还可以使用 $SYSTEM.Mirror.GetMemberType()$SYSTEM.Mirror.GetMemberStatus() 获取有关当前 IRIS 实例的镜像成员资格(如果有)的信息,以及它在该角色中的地位;有关详细信息,请参阅镜像成员日志传输和取消日志状态。

主要故障转移成员的外部备份

使用 Backup.General.ExternalFreeze() 方法冻结对主要故障转移成员上的数据库的写入,以便可以执行外部备份,如数据完整性指南的“备份和还原”一章中所述,确保外部冻结暂停更新的时间不会超过 Backup.General.ExternalFreeze() 的指定 ExternalFreezeTimeOut 参数。如果发生这种情况,镜像可能会故障转移到备份故障转移成员,从而终止正在进行的备份操作。

在镜像成员上升级 IRIS

要查看在镜像成员上升级 IRIS 的选项和注意事项,请参阅安装指南“升级 IRIS”一章中的“最小停机时间升级镜像”。


http://www.ppmy.cn/news/60628.html

相关文章

算法:合唱队

描述 N 位同学站成一排&#xff0c;音乐老师要请最少的同学出列&#xff0c;使得剩下的 K 位同学排成合唱队形。 设K位同学从左到右依次编号为 1&#xff0c;2…&#xff0c;K &#xff0c;他们的身高分别为T1​,T2​,…,TK​ &#xff0c;若存在i(1≤i≤K) 使得T1​<T2​&l…

AutoCAD介绍——带你了解最强的CAD软件

AutoCAD介绍——带你了解最强的CAD软件 什么是AutoCAD应用领域功能特点版本发展总结 什么是AutoCAD Autodesk的AutoCAD是一款世界著名的CAD软件&#xff0c;其全称为“Auto Computer-Aided Design”&#xff0c;是一种计算机辅助设计工具&#xff0c;用于帮助用户创建和编辑二…

【Python百日进阶-Web开发-Feffery】Day618- 趣味dash_18:微型系统--后端验证及md5加密

文章目录 一、环境准备1.1 初始化基础`Python + Dash`环境1.2 本项目中需要增加的第三方包二、本项目B站视频讲解三、页面效果四、项目源码4.1 server.py4.2 app.py4.3 login.py4.4 login_c.py4.5 user.py一、环境准备 1.1 初始化基础Python + Dash环境 CSDN文档参见:https:…

27. Service——Ingress

本章讲解知识点 Ingress 7层路由机制我们之前讲了 Service 的类型。除了 clusterIP 以外,另外三种方式都不推荐,因为这相当于将集群给暴露出去了,不安全,也不符合隔离的思想。 所以在 clusterIP 的基础上结合 Ingress 就可以做到安全将服务开放给外部。 这一节我们着重讲…

API接口的对接流程和注意事项

一、对接API数据接口的步骤通常包括以下几个部分&#xff1a; 了解API&#xff1a;首先需要详细了解API的基本信息、请求格式、返回数据格式、错误码等相关信息。可以查看API的官方文档或者使用API探索工具。同时&#xff0c;还需要明确数据请求的频率和使用权限等限制。 ​​测…

【前端面经】CSS-浮动和清除浮动的方式

浮动和清除浮动的方式 在页面布局中&#xff0c;我们经常会用到浮动来实现一些特殊效果&#xff0c;但是浮动也会引起一些问题。在使用浮动布局时&#xff0c;我们需要清除浮动以避免出现布局问题。本文将介绍浮动的相关知识以及清除浮动的方式。 浮动 浮动是 CSS 中的一种布…

python:评估分类模型性能的常用指标(acc、auc、roc)

本文记录了评估分类模型性能的常用指标ACC、AUC、ROC曲线的计算方法和代码。代码使用python实现。 简介 ACC(Accuracy)是模型的准确率,即模型正确预测的样本数占总样本数的比例。ACC 可以用来评估模型在整体上的分类效果,但它不能很好地反映模型在不同类别上的表现差异。…

云计算的优势与未来发展趋势

一、前言二、云计算的基础概念2.1 云计算的定义2.2 云计算的发展历程2.3 云计算的基本架构2.4 云计算的主要服务模式 三、企业采用云计算的优势3.1 降低成本3.2 提高效率和灵活性3.3 提升信息系统的安全性和可靠性3.4 拥有更加丰富的应用和服务 四、行业应用案例4.1 金融行业4.…