/ / Como fazer backup de um conjunto de tabelas periodicamente no cache em vez de um namespace inteiro? - intersistemas-cache

Como fazer backup de um conjunto de tabelas periodicamente no cache, em vez de um namespace inteiro? - intersistemas-cache

Existe uma maneira em que eu poderia voltar apenas um conjunto de tabelas no cache? Eu olhei para o portal de gerenciamento do sistema e parece que tudo que você pode fazer são os seguintes.

  1. Configurar backup completo de todos os bancos de dados
  2. Configurar backup completo da lista do banco de dados
  3. Configurar backup incremental da lista de banco de dados
  4. Configurar o backup cumulativo da lista do banco de dados
  5. Fazendo backup de globals selecionados usando a opção Exportar da página [Home]> [Globals] do System Management Portal

Todos os itens acima podem ser agendados como plano de fundotarefa, mas a opção # 5 não pode ser agendada, ou pode ser? Se eu puder agendar a opção # 5 como uma tarefa em segundo plano, então eu faria backup dos D globals todas as noites e importaria novamente quando necessário.

obrigado

Respostas:

1 para resposta № 1

Apenas uma nota, nos backups padrão do Caché apenas para bancos de dados, não para namespaces.
Então, existem algumas maneiras de fazer sua tarefa.

  1. Divida seus dados para diferentes bancos de dados. Todo namespace por meio do mapeamento global pode definir quantos bancos de dados você precisar. Mais informação sobre mapeamento.
  2. Possível escrever uma tarefa personalizada, que fará tudo o que você quiser, e funcionará como qualquer outra tarefa, e poderá ser agendada conforme a necessidade. E aqui duas maneiras.
    • RunLegacyTask - executar uma tarefa legada; insira o código para executar na caixa de texto
    • Você pode definir seus próprios tipos de tarefas usando o % SYS.Task.Definition API; veja a documentação da classe na Referência de Classe InterSystems.

Exportação globalmente programaticamente poderia ser gerenciado com

  1. $ system.OBJ.Exportar("Global.GLB", "backup.xml") e $ system.OBJ.Load ("backup.xml") para importação. Mas você deve se lembrar de que esses arquivos pesam mais que os dados.
  2. outros formatos, como o GOF, com %Global

1 para resposta № 2

Como DAiMor mencionado acima, você precisaexporte globalmente um por um ou crie namespaces onde todos os globals que você precisa fazer backup serão localizados no arquivo CACHE.DAT dedicado (consulte Global Mapping em docs).

Para fazer backup desse banco de dados, o Legacy Backup podenão seja a melhor opção. Se você puder pagar o tempo de inatividade - basta parar Cache "e copiar o arquivo CACHE.DAT. Se você tiver armazenamento com a funcionalidade de instantâneo - congelamento do daemon de gravação + instantâneo de armazenamento é sua melhor opção para backup sem tempo de inatividade.

http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=GCDI_backup#GCDI_backup_methods