administração

Script de inicialização automatica para o Connection Manager

Estou compartilhando com vocês um script (shell) que criei para automação da inicialização/parada do Connection Manager, ela foi baseada em outras já existentes no Linux OpenSuse 11.2.

Script de inicialização automatica para Linux OpenSuse

Estou compartilhando com vocês um script (shell) que criei para automação da inicialização/parada do Informix, ela foi baseada em outras já existentes no Linux OpenSuse 11.2.

Shell para definir variaveis de ambiente do Informix

Aqui estou compartilhando com vocês a shell que costumo utilizar para definir as variáveis de um ambiente Informix.

Como identificar o tamanho de pagina padrão

Para versão 9.40 ou inferior, utilizar o comando onstat -b ou onstat -R. Estes comandos exibem os buffers e na ultima linha exibem o tamanho de página utilizado, algo como: "2048 buffer size" .

Para versão 10 ou superior, basta verificar o tamanho utilizado pelo dbspaces root da instancia através do comando onstat -d coluna pgsize. Para os dbspaces root e onde são salvos o Logical Log e Physical Log obrigatóriamente trabalham apenas com o tamanho de pagina padrão do Sistema Operacional.

Para versão 11.10 ou superior, também é possível verificar através do SQL abaixo:

$ echo "select format_units( 1,'p') as pagina_sistema from sysdual" | dbaccess sysmaster
Database selected.

pagina_sistema

2.00 KB

1 row(s) retrieved.

Refêrencia dos paramêtros Onstat

Se precisa de informações sobre os parâmetros do comando onstat , utilize o manual online da IBM , o Information Center , nele você encontra explicações detalhadas sobre cada parametro.

Foi disponibilizado um Quick Reference para impressão em PDF que são 2 paginas A4 com

Quando há problema em uma tabela/indice danificado, é possível contornar a situação temporariamente excluindo eles do SMI?

Já ouvi falar várias vezes que DBAs que tiveram algum problema onde alguns dados do banco foram corrompidos já sairam do sufoco ao realizar este procedimento (apagar a tabela diretamente no SMI).
Eu particulamente já estive na situação de utiliza-lo, porém como não gosto de arriscar principalmente em ambientes de produções, decidi avaliar a situação em um ambiente de testes.

Como criar indices ou alterar tabelas se elas estão constantemente sendo utilizadas com Dirty Read?

Definir a variavel IFX_DIRTY_WAIT com o tempo em segundos que o Informix irá esperar o acesso Dirty Read finalizar.
Esta váriavel funciona tanto no server como no client.

Alguns cuidados com tabelas fragmentadas por expressão


Trabalhar com tabelas/indices fragmentados pode ajudar muito em situações como:

  • Tabelas/indices grandes com mais de 32 GBytes ou 16 milhões de registros
  • Performance de I/O para acesso a dados de Históricos
  • Performance de I/O paralelo (set pdqpriority) em diferentes discos (fisicos).
  • Expurgar dados antigos do banco sem necessidade de realizar longas paradas ou sobrecarga

Como interpretar o formato dos endereços de ROWID , Partnum, Physical Address, Logical Page

Entendendo o que é


Comentário pessoal: A nomenclatura utilizada no Informix (exibido pelos comandos) e nos manuais são um pouco confusas, onde as vezes utiliza a mesma nomenclatura para escopos diferentes.
Esta nomenclatura é válida apenas para funções relacionadas ao armazenamento de dados em disco e pagina de dados.

O que é Partnum / TBLspace number?
Tblspace number, tam

Efeitos no tamanho do Logical Log

  • Pode afetar o tempo de recovery.
  • Pode afetar o ultimo momento em um disaster recovery.
    Por exemplo:
    Supondo que tenha um logical log de 10MB e este logical log iniciou pela manhã e houve poucas transações durante o dia, no final do dia esta logical log está com 90% completo e ocorre uma perda total da maquina.