#Caché

3 Seguidores · 223 Postagens

  

InterSystems Caché é um sistema de gerenciamento de banco de dados (DBMS) multimodelo e servidor de aplicações. Veja mais detalhes aqui.

Documentação.

Artigo Larissa Prussak · Jul. 24, 2025 2m read

Se você está investigando Globals estruturadas complexas, isso pode facilmente se tornar um exercício cansativo de digitação.
Diferente do Global Explorer no System Management Portal, o Global-Inspector permite um tipo de navegação aprofundada (drill-down), permitindo explorar nível por nível dos subscritos. Você também tem a opção de visualizar o conteúdo armazenado ou mostrar apenas a estrutura de subscritos. Globals que armazenam tabelas SQL podem não ser tão interessantes, mas no espaço SYSTEM, você encontrará verdadeiras árvores com ramos e ramificações completamente diferentes.

2
0 43
Artigo Larissa Prussak · Jul. 24, 2025 1m read

Você está curioso para saber como executar scripts Python diretamente no terminal do InterSystems IRIS ou Caché? 🤔
Boa notícia: é fácil! 😆
O IRIS oferece suporte ao Embedded Python, permitindo que você use Python de forma interativa dentro do terminal do IRIS.

Como acessar o Shell do Python?

Para iniciar o shell do Python a partir do terminal do IRIS, basta executar o seguinte comando:

do##class(%SYS.Python).Shell()

Esse comando abre um shell interativo do Python dentro do terminal do IRIS. A partir daí, você pode escrever e executar código Python como faria em um ambiente Python normal.

0
0 42
Artigo Larissa Prussak · Jun. 17, 2025 3m read

Se você está migrando do Oracle para o InterSystems IRIS — como muitos dos meus clientes — pode se deparar com padrões específicos de SQL do Oracle que precisam ser adaptados.

Veja esse examplo:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

No Oracle:

0
0 57
Pergunta Graciano dos Santos Duarte · Jun. 2, 2025

Prezado senhores,

Estou tentando consultar os dados das tabelas de um banco de dados caché. Ele possui dados nas globais.  Também possui tabelas SQL sem registros, mas com a estrutura das classes do banco de dados. Quando vou consultar os dados através do driver ODBC não retorna nenhum dado. Mesmo pelo painel administrativo as consultas SQL não retornam dados. Sabem me dizer o que pode estar acontecendo?

At.te

Graciano dos Santos Duarte

5
0 74
Artigo Heloisa Paiva · Abr. 1, 2025 19m read

Frequentemente, clientes, fornecedores ou equipes internas me pedem para explicar o planejamento de capacidade de CPU para para grandes bancos de dados de produção rodando no VMware vSphere.

Em resumo, existem algumas práticas recomendadas simples a seguir para dimensionar a CPU para grandes bancos de dados de produção:

  • Planeje um vCPU por núcleo de CPU físico.
  • Considere o NUMA e, idealmente, dimensione as VMs para manter a CPU e a memória locais para um nó NUMA.
  • Dimensione as máquinas virtuais corretamente. Adicione vCPUs apenas quando necessário.
0
0 51
InterSystems Oficial Danusa Calixto · Mar. 26, 2025 5m read

A interface de usuário de interoperabilidade agora inclui experiências de usuário modernizadas para os aplicativos Editor DTL e Configuração da Produção que estão disponíveis para aceitação em todos os produtos de interoperabilidade. Você pode alternar entre as visualizações modernizada e padrão. Todas as outras telas de interoperabilidade permanecem na interface de usuário padrão. Observe que as alterações são limitadas a esses dois aplicativos e identificamos abaixo a funcionalidade que está disponível atualmente.

0
0 59
Artigo Heloisa Paiva · Mar. 26, 2025 27m read

As soluções de Infraestrutura Hiperconvergente (HCI) têm ganhado força nos últimos anos, com o número de implementações agora aumentando rapidamente. Os tomadores de decisão de TI estão considerando HCI ao planejar novas implementações ou atualizações de hardware, especialmente para aplicações já virtualizadas no VMware. As razões para escolher HCI incluem: lidar com um único fornecedor, interoperabilidade validada entre todos os componentes de hardware e software, alto desempenho, especialmente de IO (entrada/saída), escalabilidade simples pela adição de hosts, implementação simplificada e

0
0 47
Artigo Danusa Calixto · Mar. 21, 2025 1m read

Rubrica de FAQ da InterSystems
 

Pode ser feito com o TRY-CATCH:

#dim ex As%Exception.AbstractExceptionTRY {
    //Code that causes an error
  }
  CATCH ex {
     do ex.Log()
  }

Se você usar o ^%ETN, chame-o a partir do bloco BACK (BACK^%ETN).

Por favor, dê uma olhada também no artigo relacionado: Como buscar erros de aplicação (^ERRORS) usando um comando

0
0 47
Artigo Heloisa Paiva · Mar. 18, 2025 3m read

Eu e os outros Arquitetos de Tecnologia frequentemente precisamos explicar aos clientes e fornecedores os requisitos de E/S do Caché e a forma como as aplicações Caché utilizarão os sistemas de armazenamento. As tabelas a seguir são úteis ao explicar o perfil e os requisitos típicos de E/S do Caché para uma aplicação de banco de dados transacional com clientes e fornecedores. As tabelas originais foram criadas por Mark Bolinsky.

Em publicações futuras, discutirei mais sobre E/S de armazenamento, portanto, estou publicando essas tabelas agora como referência para esses artigos.

0
0 57
InterSystems Oficial Danusa Calixto · Mar. 7, 2025

A partir da plataforma de dados InterSystems IRIS® versão 2025.1, a InterSystems está oficialmente descontinuando o MultiValue e incluindo-o na lista de Recursos Descontinuados e Obsoletos. Embora a InterSystems continue a oferecer suporte aos clientes existentes que usam o MultiValue, ele não é recomendado para novos aplicativos.

O Que Isso Significa:

0
0 31
Pergunta Marcio Roberto Werner · Fev. 20, 2025

Instalei um servidor linux oracle 8, neste servidor instalei o oracle 21c xe.

Fiz a instalação do pacote unixODBC unixODBC-devel , abaixo e descompactei os do ODBC-2018.1.5.659.0-lnxrhx64.tar.gz na pasta /usr/local/lib/odbc e configurei os arquivos /etc/odbcinst.ini e /etc/odbc.ini.

usei o comando isql -v CacheDB, fiz select em algumas tabelas e esta funcionado.

Também fiz as configurações na parte do oracle, nos arquivo tnsnames.ora, listener.ora e initCacheDB.ora.

Criei o dblink no oracle, mas ao executar um select no oracle esta retornando erro:

6
0 90
Artigo Heloisa Paiva · Fev. 21, 2025 4m read

Introdução: Quando o IRISTEMP Armazena Dados Demais

Então, você verificou seu servidor e viu que o IRISTEMP está crescendo demais. Não precisa entrar em pânico. Vamos investigar o problema antes que seu armazenamento acabe.

Passo 1: Confirmar o Problema de Crescimento do IRISTEMP

Antes de assumir que o IRISTEMP é o problema, vamos verificar seu tamanho real.

Verificar o Espaço Livre

Execute o seguinte comando no terminal IRIS:

%SYS>do ^%FREECNT

Quando solicitado, digite:

Database directory to show free space for (*=All)? /<your_iris_directory>/mgr/iristemp/
0
0 37
Artigo Heloisa Paiva · Fev. 19, 2025 7m read


Olá!

Este artigo é uma pequena visão geral de uma ferramenta que ajuda a entender classes e sua estrutura dentro dos produtos InterSystems: do IRIS ao Caché, Ensemble e HealthShare.

Em resumo, ela visualiza uma classe ou um pacote inteiro, mostra as relações entre as classes e fornece todas as informações possíveis para desenvolvedores e líderes de equipe sem fazê-los ir ao Studio e examinar o código lá.

Se você está aprendendo os produtos InterSystems, revisando muitos projetos ou apenas interessado em algo novo nas soluções de tecnologia InterSystems - você é mais do que bem-vindo para ler a visão geral do ObjectScript Class Explorer!

0
0 89
Artigo Heloisa Paiva · Fev. 3, 2025 3m read

Variáveis de host são um recurso de programação bastante comum em muitas implementações de SQL.
Uma pergunta recente no DC me alertou para o fato de que, no IRIS, Caché, Ensemble, ... variáveis de host existem apenas dentro do SQL incorporado:

>  Você pode fornecer variáveis de host apenas para consultas SQL incorporadas.  <

Exemplos relacionados estão incluídos na documentação disponível.

Esta é uma descrição de uma solução alternativa caso você não use/não possa usar SQL incorporado.

1
0 43
Pergunta Gabriel Silva dos Santos · jan 17, 2025

Olá pessoal, tudo bem?

Estou enfrentando problemas na replicação de dados do meu Caché 2016 para um banco PostgreSQL. Preciso lidar com cerca de 300 atualizações de dados por minuto, e, sempre que determinadas tabelas sofrem alterações, essas mudanças precisam ser refletidas em outras bases de dados.

Até o momento, já tentei várias abordagens, como:

  • Configurar uma API intermediária,
  • Utilizar o Azure Service Bus,
  • Usar Jobs do Caché,
  • E todas elas têm como ponto de entrada as triggers das minhas tabelas.
2
0 68
Artigo Danusa Calixto · Dez. 22, 2023 2m read

Rubrica de perguntas frequentes da InterSystems

Para resolver o erro <PROTECT>, remova o atributo somente leitura do banco de dados da biblioteca de todo o sistema (IRISLIB para InterSystems IRIS, CACHELIB para Caché/Ensemble/HealthShare (baseado em Caché))

Quando terminar de importar a rotina, lembre-se de alterá-la novamente para somente leitura.
 

[Versão 2013.1 e acima]
[Portal de Gerenciamento] > [Administração do Sistema] > [Configuração] > [Configuração do Sistema] > [Banco de Dados Local] Desmarque "Mount read-only" (Montar somente leitura) no link do nome do banco de dados.

1
1 124
Artigo Marcio Sorvi · Dez. 19, 2024 3m read

Nós estávamos com uma ocorrência em um cliente em que todas as licenças estavam sendo consumidas e a CPU bastane onerada.

Consultávamos no portal de administração, na lista de processos, mas como o problema era intermitente, não conseguiamos identificar o "vilão".

Fizemos um programa simples, que coleta os processos e algumas informações destes, tais como : IP, executável etc.​​​​​​, e gravamos em arquivo .csv.

No portal de administração -> Operação do Sistema -> Gerenciador de Tarefas, cadastramos uma nova tarefa que executa este programa a cada 10 minutos.

1
0 53
Artigo Marcio Sorvi · Dez. 19, 2024 1m read

Eu criei uma classe que gera código para query customizada a partir de uma global qualquer em um determinado namespace,  fazendo com que a global responda ao padrão SQL imediatamente.

Veja abaixo tela com exemplo de uma Global.

Na tela seguinte, como exemplo, executo método passando parâmetros (global e namespace):

Por último, acesso o portal de Administração e executo a query já com a Global respondendo em SQL

​​​​​​​

Os campos que são exibidos no SQL são correspondentes aos Pieces e níveis da global.

​​​​​​​Exemplo:

​​​​​​​Index1 -> o índice no primeiro nível da global

0
0 59
Artigo Heloisa Paiva · Nov. 10, 2024 1m read

Rubrica InterSystems FAQ 

Isso pode ser obtido com uma query de lista da classe %SYS.Namespace

1. Crie uma rotina assim:

getnsp
   set statement=##class(%SQL.Statement).%New()
   set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
   set resultset=statement.%Execute()
   while resultset.%Next() {
       write resultset.%Get("Nsp"),!
   }
   quit

2. Rode no seu terminal

USER>do ^getnsp
%SYS
DOCBOOK
SAMPLES
USER

O método de executar queries de classe introduzido nesse artigo pode ser aplicado em uma variedade de classes

0
0 45
Artigo Heloisa Paiva · Out. 10, 2024 2m read

Olá comunidade!

Eu trago aqui uma dica para poupar algumas horas do seu dia. A documentação InterSystems especifica muito bem como criar um script de freeze para as instâncias, mas não traz exemplos em instâncias espelhadas, onde queremos deixar o script automático, mas só rodar efetivamente na instância primária.

Primeiro, vamos criar uma classe abstrata no namespace %SYS com métodos que verificam se a instância é primária e, caso positivo, executam o freeze.

0
0 66