查找

記事
· 2025年10月18日 1m read

Free Database Space by SwaggerTools

Being impressed by the graphics of the package GBLSizeMonitor  from @Ashok Kumar T 
I ask for his help, and this is the result of our cooperation.

As in the previous package, all is running from a CSP page.
And it is all classic CSP written with InterSystems ObjectScript, JavaScript, HTML

Besides the graphic, you also get concrete numbers freshly collected from your local
instance or from remote instances that also installed the package. 

The final result

The processing steps 

  • A CSP page is called by its URL
  • In method OnPreHTTP
    • The System Query fills the temp table from %SYS
    • If the correct URL parameter is provided 
    • ?SERVER=IP-Address[:SuperServerPort[:Username[:Password]]]
    • Actual data are fetched from this server using the Native API for ObjectScript

GitHub

2件の新着コメント
ディスカッション (2)3
続けるにはログインするか新規登録を行ってください
お知らせ
· 2025年10月18日

Developer Community Search Update This Weekend

Hey Community! 

We’re updating the Developer Community search engine this weekend to make it faster and more accurate (we hope 😉).

Only one in three consumers install firmware updates right away - BetaNews

During the update, you may experience occasional slowness or brief interruptions in search performance. If you notice anything unusual or run into issues, please let us know in the comments below - your feedback helps us ensure everything runs smoothly.

Thanks for your patience and for helping us make the Community even better!

1件の新着コメント
ディスカッション (1)2
続けるにはログインするか新規登録を行ってください
お知らせ
· 2025年10月17日

[Video] Advanced SQL join table cardinality estimates

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

⏯  Advanced SQL join table cardinality estimates @ Ready 2025

Thomas Henchel presents his team’s recent work on improving cardinality estimates in SQL query optimizers - a key factor that affects join ordering and query performance. The team implemented a new state-of-the-art estimation method based on 2023 research. When tested on benchmark queries, most results showed no change, but around 21% of queries ran slower and only about 11% improved. These mixed results highlight challenges in balancing over- and underestimation. The group continues refining optimization techniques to achieve faster, more efficient queries and invites feedback on patterns or concerns from real workloads.

🗣 Presenter: @Thomas Hentschel, Systems Developer, InterSystems

Enjoy watching, and subscribe for more videos! 👍

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年10月17日 1m read

Empêcher le rollback de données de tables spécifiques

Rubrique FAQ InterSystems

Certaines données, telles que les données du journal d'exécution, ne doivent pas être restaurées à leur état antérieur, même en cas de restauration lors d'une transaction. Pour ce faire, placez ces données dans la base de données IRISTEMP, qui ne sera pas restaurée.

Temporary Globals and the IRISTEMP Databas

En mappant les entités de table à conserver à cette base de données, vous pouvez conserver les informations après le rollback. Cependant, le contenu de cette base de données sera effacé au redémarrage d'IRIS. Si vous souhaitez le conserver définitivement, vous devrez le copier dans une table permanente (après un rollback, etc.). Vous pouvez également rendre une opération de table non transactionnelle en arrêtant la journalisation du processus avant l'opération, puis en la relançant une fois l'opération terminée. Cependant, cette méthode n'est pas compatible avec la mise en miroir.

Managing journaling at the process level with %NOJR

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 2025年10月17日 3m read

Por que ainda vejo mensagens antigas depois de executar a tarefa de limpeza?

Para gerenciar o acúmulo de dados de produção, o InterSystems IRIS permite aos usuários controlar o tamanho do banco de dados eliminando (expurgando) periodicamente os dados. Esta purga pode ser aplicada a mensagens, registros, processos de negócio e alertas gerenciados.

Consulte a documentação para obter mais detalhes sobre a configuração da tarefa de expurgo:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_settings

Um problema com o qual muitos usuários se deparam é continuar vendo mensagens antigas depois de executar a tarefa de purga de mensagens. Por exemplo, um usuário tem uma tarefa de expurgo com NumberOfDaysToKeep=45. Isso significa que as mensagens geradas nos últimos 45 dias são mantidas e que as mensagens geradas antes desse período deveriam ser eliminadas. Depois que a tarefa de purga é concluída corretamente, a maioria das mensagens anteriores ao período de retenção de 45 dias são eliminadas, mas ainda há algumas mensagens antigas criadas antes desses 45 dias. Por que essas mensagens não são eliminadas?

Neste artigo, falarei sobre as causas mais comuns e como lidar com a situação. Assumirei que o usuário tem uma tarefa de expurgo que usa Ens.Util.Tasks.Purge.

1) Verifique a Tarefa de Exurgo

Primeiro, devemos revisar a configuração da tarefa de expurgo. Queremos confirmar o valor de NumberOfDaysToKeep e garantir que a tarefa esteja configurada para expurgar as mensagens no namespace que estamos examinando. No entanto, a configuração mais importante que devemos verificar é KeepIntegrity (Manter Integridade).

 

Se o KeepIntegrity estiver ativado, a tarefa de expurgo só eliminará as sessões completas. Por definição, uma sessão completa contém unicamente mensagens com o estado: Complete (Concluído), Error (Erro), Aborted (Abortado) ou Discarded (Descartado).  Se alguma mensagem da sessão não tiver um destes quatro estados (por exemplo, se a mensagem estiver no estado Queued (Em Fila) ou Suspended (Suspenso)), nenhuma  das mensagens dessa sessão será eliminada.

2) Verifique o Estado das Mensagens Nessa Sessão

Sabendo que KeepIntegrity pode fazer com que a tarefa de expurgo omita algumas mensagens em sessões incompletas, agora podemos verificar se este é o problema atual, revisando o estado das mensagens da sessão.

No Visualizador de Mensagens (Message Viewer), procure as mensagens que deveriam ter sido eliminadas de acordo com o critério de NumberOfDaysToKeep, aplicando o filtro de tempo. Verifique o estado de todas as mensagens de uma destas sessões usando o ID de Sessão (Session ID). Há alguma mensagem com um estado diferente de Complete, Error, Aborted ou Discarded?

Além do Visualizador de Mensagens, você pode verificar esta informação utilizando SQL ao consultar a tabela Ens.MessageHeader.

3) Gerencie as Sessões Incompletas

Para resolver o problema, você precisa alterar o estado dessas mensagens para que possam ser eliminadas. Por exemplo, algumas mensagens podem continuar em uma fila e precisar ser abortadas.

Outra forma de resolver isso é criar uma tarefa de expurgo com KeepIntegrity desativado para eliminar as mensagens, mesmo que as sessões estejam incompletas. Você deve escolher um valor adequado para NumberOfDaysToKeep.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください