検索

Article
· Nov 13 3m de lecture

Configurando o Mirroring (Espelhamento) para Produtos Healthcare

Você deve ter notado que configurar um mirror (espelho) para InterSystems IRIS for Health™ e HealthShare® Health Connect possui um requisito especial.

Eu queria detalhar este requisito passo a passo neste artigo.

Isto pressupõe que você já configurou o segundo membro de failovere confirmou um status de membro de failover bem-sucedido no monitor do mirror.:

Passo 1: Habilitar o usuário HS_Services (no backup e no primário)

 

Passo 2: Mudar para o Namespace HSSYS e ir para Interoperabilidade > Configurar > Credenciais. Insira a senha para o seu usuário HS_Services predefinido (no backup e no primário).

Passo 3: Agendar a Tarefa de Inicialização do Monitor do Mirro (no backup e no primário). Faça isso executando o seguinte comando no terminal do IRIS a partir do namespace HSSYS:

HSSYS>do ##class(HS.Util.Mirror.Task).Schedule("HSSYS")

Confirme se foi agendado com sucesso e se está programado para ser executado a cada cinco minutos.

Passo 4: Adicionar o banco de dados HSSYS ao mirror no servidor primário.
Vá para Administração do Sistema > Configuração > Configuração do Sistema > Bancos de Dados Locais. Escolha "Adicionar ao Mirror" (Add To Mirror) e selecione HSSYS.

Passo 5: Desmontar o HSSYS dos servidores primário e de backup.
Vá para Operação do Sistema > Bancos de Dados. Escolha HSSYS e selecione "Desmontar" (Dismount).

Passo 6: Copiar o IRIS.DAT do HSSYS do servidor primário para o diretório HSSYS apropriado do servidor de backup.

Certifique-se de que as permissões sejam apropriadas. Você deve ver algo parecido com isto:

-rw-rw---- 1 irisowner irisowner 22020096 Jan 12 15:26 IRIS.DAT

Se você não vir isso, modifique-o com chown e chmod para que fique assim.

Passo 7: Montar o banco de dados no servidor primário.
Vá para Operação do Sistema > Bancos de Dados. Escolha HSSYS e selecione "Montar". Escolha "Iniciar o Catchup do Mirror?" mas não selecione Somente Leitura.

Passo 8: Montar o banco de dados no servidor de backup.
Vá para Operação do Sistema > Bancos de Dados. Escolha HSSYS e selecione "Montar". Não selecione Somente Leitura. Não haverá a opção para "Iniciar o Catchup do Mirror".

Passo 9: No seu servidor de backup, abra o Monitor do Mirror (Operação do Sistema > Monitor do Mirror). Agora você deve ver HSSYS adicionado à sua lista de bancos de dados espelhados. Mas você precisa clicar para ativá-lo e fazê-lo entrar em catchup (sincronização):

Após alguns segundos, seu backup deve estar como "Caught Up" (Sincronizado).

O HSSYS agora está espelhado.

E devemos ver o Agente do Monitor do Mirror em execução (Saúde > Agente do Monitor do Mirror).

Passo 10: Configurar o Nome do Host de Rede (Network Host Name) no servidor primário (Início > Saúde > (Wizard) Assistente do Instalador)
O Nome do Host de Rede deve ser definido como o VIP do mirror (ou a entrada DNS para o VIP do mirror).

Passo11: Configurar a Comunicação Segura

Passo12 (Opcional): Configurar o Foundation

Lembre-se de ativar seu namespace assim que ele for criado.

Como selecionamos Banco de Dados do Mirror (Mirror Database), você deve vê-lo em seus Bancos de Dados Espelhados no Monitor do Mirror:

O requisito extra de mirroring para produtos de saúde está agora concluído. Ao testar um failover, vemos que ambos os servidores estão "Caught Up" (Sincronizados) de acordo com o Agente do Monitor do Mirror:

Agora você pode configurar seus Endpoints FHIR e ver os bancos de dados de recurso (R) e de histórico de recurso (V) serem espelhados automaticamente.

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Question
· Nov 13

Simple Email Alert Setup

Working on interfaces, trying to add simple email alert (link below) under "Operations"

https://docs.intersystems.com/healthconnect20231/csp/docbook/DocBook.UI....

if the message is good,  health connect processes ok.

if the message has an ERROR, it held up the message in Queue (keep retrying), then subsequent messages held up in the queue as well to be processed. Because of the message held up in Queue, Operation for TCP connection also turning blue.

Please advice.

2 Comments
Discussion (2)3
Connectez-vous ou inscrivez-vous pour continuer
Article
· Nov 13 4m de lecture

使用 DATATYPE_SAMPLE 数据库测试 InterSystems IRIS 中不一致的元数据

在使用标准 SQL 或 InterSystems IRIS 中的对象层时,元数据的一致性通常通过内置验证和类型执行来保持。但是,绕过这些层直接访问global的传统系统会带来微妙而严重的不一致性。

了解驱动程序在这些边缘情况下的行为,对于诊断遗留数据问题和确保应用可靠性至关重要。

DATATYPE_SAMPLE数据库旨在帮助分析列值不符合元数据中定义的数据类型或约束的错误情形。我们的目标是评估 InterSystems IRIS 及其驱动程序(JDBC、ODBC、.NET)和不同工具在发生此类不一致时的表现。 在本篇文章中,我将重点介绍JDBC 驱动程序


问题出在哪里?

一些传统应用程序会直接写入globals。如果使用关系模型(通过 CREATE TABLE 创建或使用全局映射手动定义)来公开这些数据,那么映射定义 的底层值就会与每列的声明元数据一致。

当这一假设被打破时,可能会出现不同类型的问题:

  1. 访问失败(Access Failure:根本无法读取某个值,当驱动程序尝试访问该值时会抛出异常。
  2. 静默损坏(Silent Corruption:值已成功读取,但与预期的元数据不匹配
  3. 未检测到的数据变异(Undetected Mutation:该值被读取且看似有效,但被驱动程序悄然修改以符合元数据要求,这使得这种不一致性难以被察觉。

模拟行为

为了演示这些情况,我创建了 DATATYPE_SAMPLE 数据库,该数据库可在 InterSystems Open Exchange 上获取:
软件包页面
🔗GitHub 代码库

用于演示的表格:

CREATE TABLE SQLUser.Employee (
   ID              BIGINT          NOT NULL AUTO_INCREMENT,
   Age             INTEGER,
   Company         BIGINT,
   DOB             DATE,
   FavoriteColors  VARCHAR(4096),
   Name            VARCHAR(50)     NOT NULL,
   Notes           LONGVARCHAR,
   Picture         LONGVARBINARY,
   SSN             VARCHAR(50)     NOT NULL,
   Salary          INTEGER,
   Spouse          BIGINT,
   Title           VARCHAR(50),
   Home_City       VARCHAR(80),
   Home_State      VARCHAR(2),
   Home_Street     VARCHAR(80),
   Home_Zip        VARCHAR(5),
   Office_City     VARCHAR(80),
   Office_State    VARCHAR(2),
   Office_Street   VARCHAR(80),
   Office_Zip      VARCHAR(5)
);

示例 1:访问失败

为了模拟不一致,我使用直接全局访问向 DOB(出生日期/数据类型 DATE)列注入了无效值。具体来说,在主键101、180、181、182、183、184 和 185 的行中注入了代表有效日期的值。

现在的值是这样的

可以看到,在 $H (Horolog) 值的末尾添加了一个字符串。根据表的元数据,该列应该包含日期,但存储的值显然不是日期

那么,当你尝试读取这些数据时会发生什么呢?这取决于你使用的工具。 我测试了几种不同的工具,比较它们是如何处理这种不一致的。

1) SquirrelSQL(SQuirreL SQL 客户端主页)

当 SquirrelSQL 尝试访问数据时,会发生错误。它会尝试读取所有行和列,任何包含无效数据的单元格都会被简单地标记为 "ERROR"。遗憾的是,我找不到任何其他细节或错误信息来解释原因。

2) SQLWorkbench/J (SQL Workbench/J - Home)
SQL Workbench/J 一旦遇到第一个无效单元格,就会停止处理结果集。它会显示类似 "Invalid date" 的错误信息,但遗憾的是,它不会提供任何有关哪一行导致了该问题的信息。


3) DBVisualizer (dbvis) 和 DBeaver (dbeaver)

DBVisualizer 和 DBeaver 的行为类似。这两种工具都会继续读取结果集,并为每个受影响的单元格提供详细的错误信息。这样就可以轻松识别导致问题的相应行。

4) SQL DATA LENS(SQL Data Lens - InterSystems IRIS 和 Caché 的强大工具)

使用最新版本的SQL DATA LENS,你可以获得有关错误、受影响行和实际数据库值的详细信息。如截图所示,DOB 列中第一行的内部值是 "39146<Ruined>",无法转换为有效的 DATE

SQL DATA LENS 还允许您配置结果处理是在第一个错误单元格处停止,还是继续读取以检索所有可用数据。



本文的下一部分将详细介绍以下内容:

静默损坏(Silent Corruption:值已成功读取,但与预期的元数据不匹配

未检测到的数据变异(Undetected Mutation:该值被读取且看似有效,但被驱动程序悄然修改以符合元数据要求,这使得这种不一致性难以被察觉。



文 | Andreas

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Article
· Nov 13 1m de lecture

Reviews on Open Exchange - #59

If one of your packages on OEX receives a review, you get notified by OEX only of YOUR own package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you made a major change and expect a changed review, just let me know.

# Package Review Stars IPM Docker *
1 iris-cdc-sample a majestic example 6.0   y  
2 PivotSubscriptions Great Container Build 5.5   y  
3 PivotToPowerBI perfect extension 5.3 y y  
4 formation-fhir-python great composition 5.0   y  
5 Internal-SQL-Service a clever add-on 5.0      
6 langchain-iris well prepared example 5.0   y  
7 iris-iop-dtl-demo perfect example 5.0   y  
8 realworld-intersystems-iris a pleasant experience 5.0 y y  
9 d[IA]gnosis well working example 4.9   y  
10 CustomCubeActionManager interesting feature 4.7 y y  
11 AdvancedIRISBISamples useful tool 4.6      
1 Comment
Discussion (1)1
Connectez-vous ou inscrivez-vous pour continuer
Annonce
· Nov 13

¡Ya queda menos! Webinar Smart Supply Chain 360: Ver, Decidir, Actuar

¡Hola a todos!

¿Os pensabais perder el último webinar del año? ¡Claro que no! Siguen subiendo los registros, y no es para menos... 

En este webinar podréis descubrir cómo InterSystems Supply Chain Orchestrator actúa como tejido conectivo inteligente entre vuestros sistemas ERP, WMS, TMS existentes, sin necesidad de "rip and replace".

Veréis en acción un chatbot inteligente con acceso directo a todos vuestros datos de supply chain, que comprende vuestro modelo de datos y actúa como asistente conversacional para la toma de decisiones en tiempo real. Podéis preguntarle sobre inventarios, analiza KPIs críticos, o solicita recomendaciones prescriptivas.

Incluye demo técnica mostrando APIs, modelo de datos extensible y análisis prescriptivo. Webinar dirigido a Arquitectos e ingenieros de soluciones, Data Analytics y Applications manager (ERP, WMS, TMS)

Un webinar orientado a Arquitectos e ingenieros de soluciones, Data Analytics y Applications manager (ERP, WMS, TMS) ¡Aunque todos sois bienvenidos!
 

¡Os esperamos!

🗣 PonentePierre-Yves Duquesnoy, Senior Sales Engineer en InterSystems 

➡️ Registro >>

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer