Pesquisar

Artigo
· 4 hr atrás 4min de leitura

控制好 IRISTEMP:阻止它侵占你的存储空间

 

您检查了服务器,发现IRISTEMP 增长过快。不必惊慌。让我们在存储空间耗尽之前调查一下这个问题

步骤 1:确认 IRISTEMP 增长问题

在假设 IRISTEMP 是问题所在之前,让我们先检查一下它的实际大小。

检查可用空间

IRIS 终端运行以下命令:

%SYS>do ^%FREECNT

出现提示时,输入

Database directory to show free space for (*=All)? /<your_iris_directory>/mgr/iristemp/

如果输出结果显示可用空间非常小,则IRISTEMP 正在像拥挤的壁橱一样占满您的存储空间。但是,如果可用空间没有问题,但 IRISTEMP 数据库文件 (IRIS.DAT) 仍然很大(这可能就是你来这里的原因),这意味着临时数据已经被清理。在这种情况下,你的任务就是密切关注,按照下面的步骤在下一次行动中抓住它,并恢复宝贵的空间。

第 2 步:确定 IRISTEMP 的用途

运行 ^%GSIZE 查找大型全局文件

%SYS>do ^%GSIZE

按照提示操作:

Directory name: /<your_iris_dir>/mgr/iristemp/

All Globals? No => yes

33 items selected from
33 available globals

1) Get exact packing details
2) Get block counts only
3) Use fast stochastic estimate

Please select an option:  3 => 3

输出示例:

        Global              Blocks          Bytes Used Packing
      ----------- ---------------- ------------------- -------
      IRIS.Temp.Ensemble
                                1                  60      1 %
      IRIS.Temp.MARIO
                               50             360,960     88 %
      IRIS.Temp.RecompileInfo
                                1                  84      1 %

如果看到不熟悉的内容,特别是与 ISC 或 SQL 有关的内容,可能是 SQL 查询占用了太多空间。请与应用程序开发人员联系,了解这些查询在做什么,是否可以优化。有时,添加索引或删除不必要的 ORDER BY 子句就能带来很大的不同。

步骤 3:检查进程私有全局(PPG)

某些进程可能无法正常释放进程私有全局(Process-Private Global,PPG)。运行:

%SYS>DO ^GETPPGINFO

输出示例:

%SYS> DO ^GETPPGINFO("*")
Process ID: 303 --> Total PPG Block count 10840
  ^||%t uses 10838 blocks (maxblock #1926355)
  ^||TempQuery uses 2 blocks (maxblock #115489)
  Highest block #: 1926355
Process ID: 33456 --> Total PPG Block count 45343
  ^||MARIOtest uses 45343 blocks (maxblock #1927313)
  Highest block #: 1927313

如果某个进程使用了大量PPG 空间,它可能会卡住或无法按预期运行。您应该与应用程序开发人员一起进行调查,以确定 PPG 是否已知,以及代码中是否存在故障。同样,如果 PPG 是未知的,而且看起来像 InterSystems 内部代码(例如 ^||%t),则最好打开 WRC 支持案例寻求帮助。

通过阅读官方文档,成为 GETPPGINFO 的专家。

第 4 步:解决问题

选项 1:停止进程

一旦确定了正在消耗 IRISTEMP 的进程,如果你知道它在做什么并认为它是安全的,你可以使用系统管理门户(System Management Portal)或终端来杀死它。通过终端,可以找到该任务并终止它

%SYS>do ^JOBEXAM

查找工作编号并运行:

%SYS>DO ^RESJOB
 
Force a process to quit InterSystems IRIS
 
Process ID (? for status report): 7732

Process ID (? for status report):
 
%SYS>

⚠️只有在了解进程并确定安全的情况下才能停止进程!

选项 2:重启 IRISTEMP 并设置限制

清除 IRISTEMP,请停止 Iris,删除其 IRIS.DAT 文件并重新启动:

iris stop <instance_name>
rm /<iris_directory>/mgr/iristemp/IRIS.DAT
iris start <instance_name>

要在启动时重置 IRISTEMP 并将空间归还操作系统,可在 IRIS 配置中设置一个限制:

[Startup]
MaxIRISTempSizeAtStart=5000

更多详情,请参阅有关MaxIRISTempSizeAtStart 的官方文档。如果不这样做,IRISTemp 将清空,但会保持其臃肿的大小!为了更好地控制,可以考虑将 IRISTEMP 迁移到专用卷,或在 SMP 中设置最大 DB 大小。此外,社区中还有其他文章提供更多详细信息:如何缩小 IRISTEMP

方案 3:旧版本?升级!

如果您运行的是旧版本的 Iris,请升级!例如,我记得我们在 2021.1.1+ 中修复了一个错误,即 IrisTemp 可能会不受控制地增长。升级并使用最新的维护版本是避免已知错误的最好方法。

总结:控制 IRISTEMP

通过以下步骤,您可以

✅ 使用^%GSIZE^GETPPGINFO查找正在使用 IRISTEMP 的进程
✅ 停止占用过多 PPG空间的已知进程
✅ 通过设置限制或重新创建 IrisTemp 数据库来恢复空间

升级!始终建议这样做!

这样可以控制 IRISTEMP,避免存储问题

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 8 hr atrás 10min de leitura

Understanding SQL Window Functions (Part 2)

In Part 1, we explored how window functions operate. We learned the logic behind PARTITION BY, ORDER BY, and such functions as ROW_NUMBER() and RANK(). Now, in Part 2, let's delve into more window functions with practical examples.

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· 9 hr atrás

[Video] Integrating AI Agents into InterSystems IRIS - Patterns and Techniques

Hey Developers,

Enjoy the new video on InterSystems Developers YouTube

Integrating AI Agents into InterSystems IRIS - Patterns and Techniques @ READY 2025

Explore effective patterns for integrating AI agents into InterSystems IRIS to enhance business processes through intelligent automation. This session will demonstrate how models like ChatGPT and Anthropic Claude can be embedded within the InterSystems IRIS interoperability framework to drive AI-powered automation and data enrichment — without extensive coding. We’ll also cover how to orchestrate multiple AI agents using frameworks like CrewAI, enabling collaborative task execution and intelligent workflow management. Learn how to seamlessly embed AI into your existing InterSystems IRIS architecture to boost efficiency and drive innovation.

Presenters:
🗣 @Reven Singh, Sales Engineer at InterSystems
🗣 @Herman Bruwer, Sales Engineer at InterSystems
🗣 @Sergei Shutov, Managing Director at Banksia Global

Want to see it in action? Watch the video and subscribe to see more demos!

Discussão (0)1
Entre ou crie uma conta para continuar
InterSystems Oficial
· 10 hr atrás

A InterSystems anuncia a disponibilidade geral do InterSystems IRIS, InterSystems IRIS for Health e HealthShare Health Connect 2025.3.

A versão 2025.3 do InterSystems IRIS® data platform, InterSystems IRIS® for Health, e HealthShare® Health Connect já estão disponíveis para o público em geral (GA). Esta é uma versão de distribuição contínua (CD).

Destaques do Lançamento::

  • Carteira Segura: Uma nova estrutura criptografada para gerenciamento de dados sensíveis, construída sobre o banco de dados IRISSECURITY, que aprimora a segurança do sistema e o controle de acesso.
  • Observabilidade Expandida & Integrações em Nuvem: As métricas aprimoradas do OpenTelemetry, incluindo novas métricas de processo e ECP, além do arquivamento de diários, agora são compatíveis com o Armazenamento de Blobs do Azure para retenção com custo-benefício.
  • Aprimoramentos em Dados & IA: Agora, as tabelas estrangeiras suportam o pushdown de JOIN para melhor desempenho em SQL, e a Pesquisa Vetorial recebe um índice HNSW atualizado com pesquisas de similaridade mais rápidas e robustas.
  • Melhorias na área da Saúde: Acesso a dados em massa FHIR aprimorado e recursos de autenticação.
  • Atualizações de Desenvolvedor & Interface do Usuário: A interface de interoperabilidade ganha ações de gerenciamento em massa, busca expandida na Configuração de Produção e usabilidade aprimorada para produções em larga escala, reforçando uma experiência de usuário modernizada.

Compartilhe seu feedback através da Comunidade de Desenvolvedores para que possamos construir juntos um produto melhor.

Documentação

Informações detalhadas sobre todos os recursos destacados estão disponíveis nos links abaixo:

Além disso, consulte a lista de verificação de impacto da atualização para obter uma visão geral fácil de navegar de todas as alterações que você precisa conhecer ao atualizar para esta versão.

Programas de Acessos Antecipado 

Se você tiver interesse no Programa de Acesso Antecipado, pode se cadastrar aqui.

Baixe o Software

Como de costume, as versões de Entrega Contínua (CD) vêm com pacotes de instalação clássicos para todas as plataformas suportadas, bem como imagens de contêiner no formato de contêiner Docker.

Pacotes de Instalação Classica 

Os pacotes de instalação estão disponíveis na página do WRC sobre o InterSystems IRIS e o InterSystems IRIS for Health, e na página do WRC sobre o HealthShare para o Health Connect. Os kits também podem ser encontrados no site dos Serviços de Avaliação.

Informações de Disponibilidade e Pacotes

Esta versão inclui pacotes de instalação clássicos para todas as plataformas suportadas, bem como imagens de contêiner no formato Docker. Para obter uma lista completa, consulte a documentação de Plataformas Suportadas.

O número de compilação para esta versão de Entrega Contínua é 2025.3.0.226.0.

As imagens de contêiner estão disponíveis no Registro de Contêineres da InterSystems. Os contêineres são etiquetados como "2025.3" e "latest-cd".

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· 14 hr atrás 1min de leitura

Shells de InterSystems IRIS

Hola,

Cuando abrimos un terminal en IRIS, entramos en el shell de ObjectScript. Dentro de este shell, podemos ejecutar comandos de IRIS, como:

En otras palabras, el comando ObjectScript se ejecuta en el shell actual. Pero siempre es bueno recordar que IRIS tiene otros shells.

  • SQL
  • Python
  • TSQL
  • MDX

Un aspecto muy interesante son los atajos. Podemos acceder a estos shells mediante sus llamadas o a través de atajos, como se muestra en la tabla siguiente:

 

Shell

Llamada

Atajo

SQL

Do $SYSTEM.SQL.Shell()

:sql

Python

Do $SYSTEM.Python.Shell

:py

TSQL

Do $SYSTEM.SQL.TSQLShell()

:tsql

MDX

Do ##CLASS(%DeepSee.Utils).%Shell()

:mdx

Justo así:

Shell Python:

Shell SQL:

Shell TSQL:

Shell MDX:

Estos shells son extremadamente útiles para ejecutar comandos y pruebas. Tener estos atajos a mano ahorra mucho tiempo y resulta muy útil durante el desarrollo.

El enlace de documentación
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCLI_shells ofrece una descripción detallada de estos shells y sus funcionalidades. Tienen varias características interesantes que vale la pena explorar.

¡Hasta la próxima!

Discussão (0)1
Entre ou crie uma conta para continuar