连接失败.
SQLState: () NativeError: [20009] Message: ,这个怎么错误码值在哪找原因呢.png)
InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。
InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。
连接失败.
SQLState: () NativeError: [20009] Message: ,这个怎么错误码值在哪找原因呢.png)
如异步镜像成员中所述,灾难恢复 (DR) 异步成员维护镜像数据库的只读副本,从而可以在需要时将 DR 异步提升为故障转移成员。将 DR 异步成员提升为故障转移成员中描述了提升 异步的过程。本节讨论三种可以使用 异步提升的场景:
DR 异步DR 异步在本节的过程中, 是原始的主要故障转移成员, 是原始备份,而 IRIS C 是要提升的 异步。
当镜像没有正常运行的故障转移成员时,可以手动故障转移到提升的 异步。以下过程涵盖了可以选择此选项的场景:
ISCAgent 的日志数据进行 DR 提升和手动故障转移注意:如果无法确认主要故障转移成员 实例确实已关闭,并且该实例有可能变得可用,请不要手动故障转移到另一个镜像成员。如果手动进行故障转移并且原始主节点变为可用,则两个故障转移成员将同时充当主节点。
本文是 SqlDatabaseChain 的简单快速入门(我所做的)。
希望大家会感兴趣。
非常感谢:
sqlalchemy-iris 作者@Dmitry Konnov Maslennikov
您的项目使我的试验变得可能。
文章脚本使用 openai API,因此请注意不要在外部共享您不打算共享的表信息和记录。
如果需要,可以插入本地模型。
mkdir chainsql cd chainsql python -m venv . scripts\activate pip install langchain pip install wget # Need to connect to IRIS so installing a fresh python driver python -c "import wget;url='https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/DB-API/intersystems_irispython-3.2.0-py3-none-any.whl';wget.download(url)" # And for more magic pip install sqlalchemy-iris pip install openai set OPENAI_API_KEY=[ Your OpenAI Key ] python
InterSystems 已纠正导致进程内存使用量增加的缺陷。
具体来说,在对局部变量执行$Order 、 $Query 或Merge时,会出现本地进程分区内存消耗增加的问题。虽然这对大多数运行环境没有不利影响,但支持大量进程或严格限制每个进程最大内存使用的环境可能会受到影响。某些进程可能会遇到<STORE> 错误。
该缺陷存在于2023.1.0.229.0中,但它被重新发布为2023.1.0.235.1,并包含了修复程序,以加快修正,而无需客户等待维护版本。
此缺陷的更正标识为 DP-423127 和 DP-423237。这些将包含在所有未来版本中。
该缺陷出现在 InterSystems IRIS ® 、InterSystems IRIS for Health ™ 和HealthShare ® Health Connect 的版本 2022.2、2022.3 和 2023.1(内部版本 229)中。如果您运行的是这些版本之一,我们建议升级到 2023.1(内部版本 235)。
此修复也可通过 Ad hoc 分发获得。
如果您对此警报有任何疑问,请联系全球响应中心。
在维护IRIS的镜像前,管理员需要清楚的了解以下一些概念:
切换模式在镜像监视器里被翻译成”故障转移模式“。 有两种模式:
通常情况,生产环境的镜像是安装了arbiter(仲裁者)的。Mirror启动时,在还没有连接上arbiter的时候,自动进入Agent-Controlled模式。而后当两台机器,主机,备机都连通了Arbiter,会保持在这个模式。
满足上面的条件,就进入arbiter controlled mode。而如果主备的任一方,失去了和arbiter的连接,或者备用侧丢了active, 开始尝试连接另一方,退回到agent-controlled模式。
Mirror Member Journal Transfer and Dejournaling Status. 请注意,这里面有两个概念:一个是Mirror成员的状态,一个是Journal传输和Dejournaling的状态。下面的图中是3个字段: STATUS, Journal传输,Dejournaling.

STATUS
镜像成员的状态。
当创建业务操作类时,通常最大的任务是编写用于此适配器的消息处理程序,即接收生产消息的方法,然后调用适配器的方法以便与生产之外的目标进行通信。
每个消息处理程序方法都应具有以下签名:
Method Sample(pReq As RequestClass, Output pResp As ResponseClass) As %Status
这里Sample是方法名,RequestClass是请求消息类名,ResponseClass是响应消息类名。
通常,该方法应执行以下部分或全部操作:
Set tSc=..Adapter.SendMail(email,.pf)
在这些步骤之后讨论此方法。
或者,要将消息发送到Productions中的目标,请参阅将消息发送到中的目标。
Ens.Response 在的实例),该方法将其作为输出返回。pOutput)。嗨社区!
想与您分享我在Telegram中使用GPT创建“我自己的”聊天的练习。
这个应用需要用到 Open Exchange 上的两个组件:@Nikolay Solovyev 的Telegram Adapter和@Kurro Lopez的IRIS Open-AI 
因此,通过此示例,您可以在 Telegram 中使用 ChatGPT 设置自己的聊天。
让我们看看如何让它发挥作用!
如果您已经使用%UnitTest 框架构建了单元测试,或者正在考虑这样做,请查看InterSystems 测试管理器Test Manager。
无需离开 VS Code,您现在可以浏览单元测试、运行或调试它们,并查看之前的运行结果。
InterSystems 测试管理器适用于 ObjectScript 扩展支持的两种源代码位置范例。您的单元测试类可以在 VS Code 的本地文件系统(“客户端编辑”范例)或服务器命名空间(“服务器端编辑”)中掌握。在这两种情况下,实际测试运行都发生在服务器命名空间中。
欢迎反馈。
当数据资产已经成为医院的核心资产,如何有效利用数据核心资产,持续挖掘互联互通平台和各种数据中心的价值,成为医疗信息化工作的重中之重。欢迎扫码注册(或点击链接注册)观看多位大咖针对这一话题的解读。
.png)
在开发业务流程时,请考虑以下关键原则:
BPL 中的 中执行)。当业务流程A同步调用业务流程B时,流程A不会继续,直到收到响应。如果进程 A 需要完成对其他进程 (B) 的调用才能完成自身,并且如果这些进程共享参与者作业池,则如果没有空闲的参与者作业来处理被调用的业务流程,则参与者池可能会陷入死锁( ).
发生这种情况是因为在被调用业务流程返回之前,调用业务流程无法完成并释放参与者作业,但被调用业务流程无法执行,因为没有空闲的参与者作业来执行它。
另请注意, 无法在真正的同步调用期间关闭。
最好使用 并在 OnResponse() 方法中处理响应消息。如果需要同步调用,可以通过配置被调用的业务流程(B)使用自己的作业池来避免这个问题。
FIFO 功能。因为来自
本页介绍如何定义业务服务类。
提示: IRIS® 提供使用特定入站适配器的专用业务服务类,其中之一可能适合需要。如果是这样,则不需要编程。有关部分列表,请参阅 Introducing Interoperability Productions 中的连接选项。
业务服务负责接受来自外部应用程序的请求到 IRIS。下图显示了它是如何工作的:
请注意,此图仅显示数据的输入流,而不是可选响应。
业务服务负责以下活动:
TCP 消息等)。业务服务的目的通常是接收数据输入。在大多数情况下,业务服务有一个与之关联的入站适配器。但是,在某些情况下不需要适配器,因为应用程序能够将请求消息发送到服务中,或者因为业务服务已被编写为处理特定类型的外部调用,例如来自复合应用程序的调用。这种类型的业务服务称为无适配器业务服务。
当业务服务具有入站适配器时,它处于数据拉取(而不是推送)模式。在这种模式下,业务服务会定期轮询适配器,看它是否有数据。
InterSystems 支持的硬件OS平台更新 2023年2季度
我们经常收到有关 InterSystems IRIS 数据平台支持的平台和框架列表最近和即将发生的变化的问题。此更新旨在分享最近的更改以及我们对即将发生的更改的已知的情况,但预测未来是一项棘手的工作,不应将其视为承诺的路线图。
话虽如此,关于更新……
Hi 开发者们!一年一度的 InterSystems IRIS 开发者大奖赛已启动!
我们非常高兴地邀请大家参加此次编程大赛——使用 InterSystems IRIS 数据平台构建开源解决方案!
时间: 2023年6月12日-7月9日(美国东部时间)
奖金池: 26,000 美元
.png)
除了同步(等待)和异步(不等待)的直接选择之外,还可以使用称为延迟响应的机制在 IRIS 之外发送消息。
假设一个业务流程希望在 IRIS 之外调用一个动作。它向业务操作发送请求,业务操作执行调用并返回响应。业务流程是任何响应的预期接收者;业务操作只是请求发出和响应进来的方式。如果业务流程同步发出请求,或者如果它发出请求并请求异步响应,业务操作将中继回响应。下图总结了这种机制。
现在假设从业务流程接收请求的业务操作已被编写为使用延迟响应功能。原始发件人不知道响应将被业务操作延迟这一事实。延迟响应是业务运营开发人员做出的设计决策。如果业务操作确实延迟了响应,那么当原始发送者在延迟期结束时收到响应时,它不知道响应曾经被延迟过。
业务操作通过调用其 DeferResponse() 方法来生成表示原始发送者和原始请求的令牌来延迟响应。业务运营还必须找到一种方法将此令牌传达给外部实体,然后外部实体负责将此令牌包含在对 IRIS 的任何后续响应中。例如,如果外部目的地是电子邮件,业务操作可以在外发电子邮件的主题行中包含令牌字符串。接收此电子邮件的实体可以从请求主题行中提取此令牌,并在响应主题行中使用它。在下图中,项目 t 代表此令牌。
当定义业务主机类(可能还有适配器类)时,应该考虑如何控制这些项目的任何设置的默认值。 IRIS 可以从三个来源之一获取设置的默认值:
production定义。IRIS 实例定义的值,但存储在production定义之外。有关信息,请参阅配置制作中的定义制作默认值。InitialExpression 属性关键字确定。某些设置取决于环境,例如 地址或文件路径;通常,将这些设置配置为在生产之外提供它们的源,而其他设置(例如 )是设计决策,并且很可能开发应用程序以从生产定义中检索这些设置。
可以开发作品,使配置设置来自不同的来源。主要目的是更轻松地将制作从一个 IRIS 实例转移到另一个实例,例如从测试转移到现场。
定义生产后,可以在管理门户的生产配置页面上更改生产和业务主机设置的来源。有关详细信息,请参阅配置制作。
默认设置的使用允许在定义之外定义Productions和业务主机设置,可以在生产升级期间保留它们。为了便于更新产品或将产品从一个系统移动到另一个系统,可以省略设置并从系统上安装的结构中获取它们的值。当设置缺失时, 会从生产定义之外检索默认设置(如果存在的话)。
Manifest也许应该被翻译成“清单”, 字典上是这么解释的: 提供船舶及其货物和其他物品、乘客和船员的全面细节的文件,供海关官员使用,比如:飞机上的乘客或货物清单; 一辆货运列车的车厢清单。
在计算机语言中, Manifest可以是各种格式,用的最多的是xml和json,在IRIS中,manifest是xml格式的, 放在objectscript类的XDATA块里。
IRIS用manifest来做配置。内部工具*%install*, 会读取manifest, 生成真正的objectscript代码来配置IRIS。我们来看个基本的例子。
下面的User.Manifest.cls` ,它配置了IRIS的global buff, bbsize等等, 然后还创建了一个命名空间。
Include %occInclude
Class User.Manifest
{
ClassMethod setup(ByRef pVars, pLogLevel As %Integer = 3, pInstaller As %Installer.Installer, pLogger As %Installer.AbstractLogger) As %Status [ CodeMode = objectgenerator, Internal ]
{
Quit ##class(%Installer.Manifest).%Generate(%compiledclass, %code, "MyInstall")
}
XData MyInstall [ XMLNamespace = INSTALLER ]{
<Manifest>
<SystemSetting Name="Config.config.gmheap" Value="50000"/>
<SystemSetting Name="Config.config.locksiz" Value="5000000"/>
<SystemSetting Name="Config.config.routines" Value="256"/>
<SystemSetting Name="Config.config.globals8kb" Value="600"/>
<SystemSetting Name="Config.config.wijdir" Value="/cache/wij"/>
<SystemSetting Name="Config.Journal.CurrentDirectory" Value="/journal1"/>
<SystemSetting Name="Config.Journal.AlternateDirectory" Value="/journal2"/>
<SystemSetting Name="Config.Miscellaneous.EnableLongStrings" Value="1"/>
<Namespace Name="TUOTANTO" Create="yes" Code="TUOTANTO-R" Data="TUOTANTO-D">
<Configuration>
<Database Name="TUOTANTO-R" Create="yes" Dir="/cache/database/TUOTANTO-R"/>
<Database Name="TUOTANTO-D" Create="yes" Dir="/cache/database/TUOTANTO-D"/>
</Configuration>
</Namespace>
</Manifest>
}
}
互操作性产品允许连接可能使用不同通信协议和不同消息格式的系统。可以使用 Java、.NET、ObjectScript、 或业务流程、数据转换和业务规则的图形编辑器来开发产品。
文档
ObjectScript 中开发PEX 在 或 .NET 中开发在线内容
本页介绍产品开发的过程。
只能在具有特定 应用程序的支持互操作性的名称空间内使用 互操作性。创建类时,应避免使用保留的包名称。以下小节提供了详细信息。
支持互操作性的名称空间是具有全局映射、例程映射和包映射的名称空间,这些映射使支持产品的类、数据和菜单对其可用。有关映射的一般信息,请参阅系统管理指南中的配置命名空间。
安装 时创建的系统提供的名称空间不支持互操作性,但在社区版中,USER 名称空间是支持互操作性的名称空间。创建的任何新命名空间在默认情况下都启用了互操作性。如果在创建命名空间时清除了为互操作性Production
实现医疗系统之间的互操作性是一项艰巨的挑战。随着FHIR日渐普及,对FHIR标准的兼容如今已成为许多国家医疗信息系统的全国性强制性要求。FHIR标准最有价值的一方面就是所有内容可被机器读取,使得FHIR应用跨机构使用成为可能,帮助您距离“语义互操作性”更近一步。
不同系统在“对话”时候,如何让它们明白“带黑色条纹的白马”和“带白色条纹的黑马”是同一种动物(斑马)呢?FHIR是HL7国际(HL7 International)为满足当前医疗数据环境中的互操作性需求而创建的医疗数据标准,如今已成为许多国家医疗信息系统的全国性强制性要求。本视频介绍了FHIR的设计理念和关键构成,包括FHIR资源、FHIR Profile、FHIR扩展等。
Productions开发的最佳实践本章是一个总体概述,旨在帮助团队成员为从事生产项目做好准备。它概述了开发任务并确定了有关 数据平台和企业集成的信息来源。本章中的信息适用于所有类型的生产项目。
任何Productions开发项目的目标都是连接两个或多个系统。Productions是专门的软件和文档包,可为企业客户解决特定的集成问题。有关概述,请参阅互操作性产品简介。
本节从应用程序开发人员必须创建和配置以提供解决方案的软件元素的角度描述 IRIS。下一节“项目交付”总结了 开发项目的顺序和结果。
产品架构支持向企业交付的各种风格:
Productions可能包含企业的整个集成解决方案,或者产品可以适合企业已有的现有解决方案(或部分解决方案)。Productions可以根据需要替换、升级遗留系统或向遗留系统添加新功能,而无需删除或更改遗留系统的任何部分。IRIS 支持增量开发项目,因此开发团队可以根据企业的需要选择快速或缓慢地推进新旧系统之间的界限。许多 IRIS 开发项目遵循与此类似的阶段顺序:
| Order | Phase | Goal | Focus |
|---|---|---|---|
| 1 | Specification |
明确Productions要求。 |
Productions必须能够做什么? |
| 2 | Design |
Productions - 规划 IRIS 服务器部署IRIS 服务器的性能通过其处理峰值消息负载的能力来衡量。 服务器的性能取决于许多组件和设置之间的复杂交互。 IRIS 服务器的负载主要取决于:
在许多情况下, IRIS 系统上的消息负载会随着时间的推移而增加。这种增加可能是由于在生产中支持更多的业务功能或业务量的增加。服务器处理此负载的能力取决于许多组件和配置设置之间的复杂交互,包括 内核数量、多处理器架构、存储大小和速度、网络带宽和配置、操作系统缓冲区分配以及 配置。没有简单的公式可以预测 服务器的性能,因为它是一个复杂的交互,但可以估计、计划、原型和跟踪性能以确保 服务器满足业务需求。
为确保 服务器具有足够的容量并能够有效地处理其负载,应该
IRIS 系统将处理的消息数量是多少?服务器启动后负载会逐渐增加吗?消息需要保存多长时间才能存档并从服务器存储中删除?IRIS 服务器的经验。以下部分概述了可能希望从中着手的文档资源,具体取决于角色。
IRIS 生产开发人员如果是准备使用 IRIS 产品的开发人员,请参阅以下资源:
Introducing Interoperability Productions 概述了 IRIS 互操作性和可能希望包含在productions中的选项,并提供了指向更详细信息的指针。
创建作品的最佳实践描述了设计、开发和维护作品的最佳实践。
,反过来,它会向指出应用程序开发集中的特定主题:创建和其他指南。
配置Productions描述了在作品中配置项目的详细信息。
IRIS 管理员如果是准备使用产品的管理员,请参阅以下资源:
Introducing Interoperability Productions 概述了产品功能。Monitoring Productions 解释了如何监控生产环境和各种生产组件。本章描述了在部署 服务器时必须考虑的主要问题。
Caché, IRIS在系统产生了最严重的问题时会产生错误信息并通知客户,但这并不足够。一是客户需要更多更灵活的通知消息,二是客户通常会有第3方的监控系统,因此得到Cache, IRIS的监控指标是必须的。
在所有的指标中,用户最关心的是以下几类:
除此之外,第3方监控系统还需要获得Caché的一些系统信息,比如版本,instance名字等等。
有以下几个获得指标的方法
Caché的系统仪表板显示的数据包括:系统性能;系统运行状态 (运行时间,上一次备份,数据库,Journal状况等; 事务和进程情况;软件许可使用情况;任务,ECP等,还有就是错误和警告的数量。
系统仪表板包含4个子面板:Global和Routine统计数据;ECP统计数据;磁盘和缓冲器统计数据;系统资源统计数据。(IRIS和Caché稍有不同,缺少了“磁盘和缓冲器统计数据”) 。它们分别对应主仪表板中的相应模块,给出了更详细的数据。

Monitoring Web Service默认随系统的启动而开启,远程用户或者第3方系统可以访问该服务得到所以的系统监控指标,也就是系统仪表板上的所有数据。
本章概述了与制作相关的其他选项。
与 Studio 和管理门户等后端工具不同,用户门户(正式名称为 用户门户)旨在供最终用户直接使用。下面显示了一个例子:
用户门户旨在使最终用户能够执行以下任务:
IRIS 为制作中的工作流程提供支持。工作流使得将人机交互合并到自动化业务流程中成为可能。企业内工作流的使用可能包括订单输入、订单履行、合同批准或服务台活动。
production 使用业务流程和业务操作集实现工作流。业务流程接收请求,组织完成该请求所需的任务,然后调用业务操作来执行这些任务。
这些业务操作中的每一个都将任务分配给一个工作流角色,该角色将任务放入属于该角色的每个用户的工作流收件箱中。要访问此收件箱,用户需要使用上一主题中介绍的用户门户。
当用户将任务标记为完成时,工作流引擎将继续执行下一个处理步骤。
IRIS 包括将业务活动监控 (BAM) 作为企业集成项目的一部分所需的所有元素。
首先,它提供业务指标,这是专门的业务服务类,可以在可配置的时间间隔内计算特定值。
本章描述业务流程中支持的逻辑种类。
业务流程是production的中间部分。它们接受来自production内部主机类(业务服务或业务流程)的请求,然后处理请求或将它们转发到production内部的其他主机类进行处理。
建议在中进行以下分工:使用业务服务从生产外部接收输入并将其(作为消息)简单地转发到中。使用业务流程来处理任何需要的业务逻辑。使用业务操作从生产内部接收消息,并简单地为生产外部的目的地生成输出。也就是说,将业务逻辑集中在业务流程中。
因此,IRIS 为业务流程中的复杂逻辑提供了广泛的支持,并且该逻辑可以由非技术用户定义。
首先,业务流程可以包含自己的复杂逻辑。它还可以使用以下可重复使用的物品:
数据转换计算消息内容并将更改应用到消息内容。
业务规则在决策点更改业务流程的行为,或根据消息类型、消息内容或消息来源将消息发送到特定目的地。
提供的工具使非技术用户能够定义业务流程、数据转换和业务规则。这些用户无需编程或绘图技能即可直观地查看和编辑逻辑。
请注意,业务流程、数据转换和业务规则中可用的较低级别选项之间存在重叠。有关比较,请参阅 Developing Productions 中的“业务逻辑工具的比较”。在决定如何组织逻辑之前,有必要查看这些选项。
IRIS
互操作性产品的目的是使能够连接系统,以便可以在它们之间转换和路由消息。要连接系统,需要开发、配置、部署和管理集成多个软件系统的产品。本章介绍产生式和一些基本术语。
Productions互操作性产品是用于轻松连接系统和开发互操作性应用程序的集成框架。产品提供到各种消息格式和通信协议的内置连接。可以轻松添加其他格式和协议,并通过编码或使用图形界面定义业务逻辑和消息转换。Products提供了消息的持久存储,允许跟踪消息的路径并审核消息是否成功传递。一部作品中的元素被称为business hosts。business hosts.有三种,用途不同,具体如下:
Business services与外部系统连接并接收来自它们的消息。业务服务将消息中继到生产中的其他业务主机。Business processes允许定义业务逻辑,包括路由和消息转换。业务流程从生产中的其他业务主机接收消息,然后处理请求或将请求转发给其他业务主机。下图提供了生产和业务主机的概念性概述。
业务主机通过消息相互通信。所有消息都存储在 数据库中,可以通过管理门户查看。
本文介绍了如何将系统与 IRIS 数据平台互操作性产品连接在一起。
连接系统涉及允许来自一个系统的消息由另一个系统处理。例如,以下场景需要连接系统:
将系统连接在一起时,可能会面临以下挑战:
TCP,另一个使用 SOAP,第三个使用 REST。虽然可以编写自定义应用程序来连接系统,但开发IRIS 产品会更容易、更快捷。 IRIS 提供了一个框架,允许连接系统并最大限度地减少或消除对自定义代码的需求。
Productions 产品是一个集成框架,用于轻松连接系统和开发应用程序以实现互操作性。产品提供与各种消息格式和通信协议的内置连接。可以轻松添加其他格式和协议,并通过编码或使用图形向导定义业务逻辑和消息转换。 Productions
由于计划维护或计划外问题,镜像中一个或两个故障转移成员上的 IRIS 实例可能变得不可用。当故障转移成员的 IRIS 实例不可用时,其 ISCAgent 可能继续可用(如果主机系统仍在运行),也可能不可用(如主机系统关闭时)。本节提供了处理各种计划内和计划外中断场景的过程,这些场景涉及实例中断或一个或两个故障转移成员的全部中断。
如自动故障转移机制中所述,从主要故障转移成员到备份故障转移成员的安全和成功故障转移有两个要求:
在阅读和使用本材料时,可能需要参考自动故障转移规则来查看管理自动故障转移的规则。
有关使用镜像监视器确定备份故障转移成员是否处于活动状态或 DR 异步是否被赶上的信息,请参阅镜像成员日志传输和取消日志状态和监控镜像。
当镜像系统启动时(此时还没有成员成为主故障转移成员):
IRIS 不会启动任何访问镜像数据的生产,即使在 ^Ens.AutoStart 中指定了生产。如果成员成为主实例,则这些产品将在那时开始。IRIS 确定实例上是否存在不访问镜像数据的命名空间。如前所述, 建议只在镜像成员上安装镜像产品。但是,如果安装了任何带有非镜像数据库的产品, 将启动 ^Ens.AutoStart 中指定的产品。 (此逻辑确保如果在镜像成员上安装了非镜像命名空间,它会在 启动时启动。)稍后,当该成员成为主要故障转移成员时, IRIS 会找到引用镜像数据的名称空间,以便它可以在这些名称空间中启动生产。如果遵循 的建议,则在实例成为主镜像成员之前,不应运行任何生产访问镜像数据。 在开始生产之前首先检查生产是否已经在运行,特别是:
IRIS 会在消息日志中记录警告,并且不会尝试开始生产。将镜像与 IRIS for Health™
^DATABASE例程重新创建现有镜像数据库^DATABASE 例程的 10) Recreate a database 选项使可以在不更改数据库名称或大小的情况下清除现有数据库中的数据。 (有关例程的信息,请参阅 ^DATABASE。)可以将此选项用于镜像数据库,但必须在出现数据库的每个镜像成员上使用它,并且顺序与使用创建数据库选项的顺序相同创建一个新的镜像数据库——首先在主数据库上,然后是备份数据库,然后是数据库作为镜像一部分的任何异步数据库。
注意:如果使用 ) 重新创建数据库选项在主数据库上重新创建数据库,则必须对备份和镜像中的任何 DR 异步操作重复该操作;如果不这样做,数据库可能会在发生故障转移或灾难恢复时变得过时。强烈建议也对报告异步重复重新创建操作。
可以在任一故障转移成员上安装/卸载镜像数据库。但是,如果在备份故障转移成员上卸载,数据库将保持“陈旧”状态,直到重新安装,之后镜像会尝试自动赶上数据库。如果所需的日志文件在主要故障转移成员上可用,自动更新应该会成功,但如果主要成员上的任何所需日志文件已被清除,则必须从主要成员上的最近备份还原数据库。