quarta-feira, 9 de maio de 2012

System Administration Certification exam 918 for IBM Informix Dynamic Server 11 prep, Part 1– Instalação e Configuração do Informix

Arquivo de configuração

O arquivo de configuração: Unix/Linux

Os parâmetros de configuração do servidor são armazenadas em um arquivo localizado no diretório $INFORMIXDIR/etc.

Especifique o nome do arquivo, definindo a variável de ambiente ONCONFIG. Não especifique o caminho completo, somente o nome do arquivo.

Se a variável de ambiente ONCONFIG não está definido, o nome de arquivo padrão ONCONFIG é usado.

Exemplo:

export ONCONFIG=onconfig.prd

O arquivo de configuração contém muitos parâmetros diferentes que permitem que você configure seu servidor para as suas necessidades específicas. Alguns parâmetros são definidos no momento em que você configura o servidor pela primeira vez e, uma vez que o servidor foi inicializado pela primeira vez, alguns parâmetros não podem ser alterados. A maioria dos parâmetros , no entanto, podem ser modificados após a inicialização do servidor.

Abaixo  os seguintes parâmetros no arquivo de configuração deve ser configurado antes de um servidor ser inicializado porque o root dbspace contém as páginas reservadas, informações sobre todos os bancos de dados no servidor e bancos de dados que armazena suas atividades.

    • Root dbspace
    • Mensagens
    • Informações do Servidor

Root dbspace

Cada servidor deve ter um rootdbspace. Inicialmente, o root dbspace também contem o phyical e logical logs. No entanto, eles devem ser movidos mais tarde para outros dbspaces.

Configurando o root dbspace

ROOTNAME       rootdbs          #Root dbspace name
ROOTPATH /dev/online_root # Path for device containing root dbspace
ROOTOFFSET 0 # Offset of root dbspace into device (kilobytes)
ROOTSIZE 300000 # Size of root dbspace (kilobytes)
Esses parametros somente podem ser modificados antes de inicializar o servidor pela primeira vez. Não podem ser modificados os espaços alocados para o root dbspace durante a inicialização do servidor.

Mensagem

Configurando o caminho das mensagens:

MSGPATH   /var/log/idslog/online.log  # System message log file path
CONSOLE /dev/console # System console message path

O servidor IDS prove dois destinos diferentes para as mensagens:



  • MSGPATH: este parametro indica o caminho e o nome do arquivo onde todas as mensagens serão gravadas. Este arquivo é criado quando o servidor é inicializado pela primeira vez, se ele não existir.
  • CONSOLE: este é o caminho onde é especificado onde o servidor ira monstrar as mensagens de console. Uma mensagem de console é muito importante para o administrador do servidor onde o banco de dados reside. Por exemplo, backup e restore requer uma troca de fita, essas mensagens são enviadas para a CONSOLE. Por padrão, este parametro é configurado com o dispositivo de conssole do servidor, porem pode ser configurado para enviar as mesagens para um arquivo.

Informação do SERVER


Configurando informação de um servidor especifico:

SERVERNUM 	      #Unique id corresponding to an IDS server
DBSERVERNAME #Name of default database server name
DBSERVERALIASES #Names of additional database server names

Esses parâmetros devem ser definidos para que o servidor possa ser identificado exclusivamente no computador.


Informação dos Logs


LOGBUFF      #Size in kilobytes for the three logical-log buffers in shared memory
LOGFILES     #Number of logical-log files
LOGSIZE      #Size of logical-log files



PHYSBUFF     #Amount of shared memory reserved for the buffers
PHYSFILE     #Size of the initial physical log
PHYSDBS      #Name of the dbspace in which the physical log resides


Logical Logs


Os arquivos de Logical Logs são coleções de paginas contíguas no disco que são usados para armazenar os registros de transações para o servidor. Esses registros de transações são usados para explorar todas as alterações feitas na base de dados que foram criados em modo logging. Todos os bancos de dados compartilham do mesmo conjunto de arquivos de Logical Logs. Cada servidor deve ter no minimo três arquivos de Logical Logs.


Adicionando arquivos de Logical Logs manualmente:


Você pode adicionar arquivos de Logical Logs manualmente pelos seguintes motivos:



  • Para aumentar o espaço alocado em disco para os Logical Logs
  • Para alterar o tamanho dos arquivos de Logical Logs
  • Para completar uma transação aberta
  • Para mover arquivos de Logical Logs para uma dbspace diferente

As duas maneiras que você pode adicionar um arquivo de log lógico são:



  1. Para adicionar arquivos no final da lista usando o comando onparams –a
  2. Após o arquivo de Logical Log atual usando o comando onparams –a –i

O seguinte comando adiciona um arquivo de Logical Log até o fim da lista de arquivos de logs no dbspace dbslog, usando o tamanho de arquivo de log especificado pelo parametros de configuração LOGSIZE:

onparams -a –d dbslog

O seguinte comando adiciona arquivos de Logical Log de 1000KB após o arquivo de log atual no dbspace dbslog:

onparams -a -d logspace -s 1000 -i

Para adicionar um arquivo de Logical Log com um novo tamanho (nesse caso, 250KB), execute o comando abaixo:

onparams -a -d logspace -s 250

Você pode dropar um arquivo de Logical Log usando o seguinte comando:

onparams -d -l lognum -y

Você pode mover os arquivos de Logical Logs para:



  • Eliminar arquivos de Logical Logs do dbspace corrente
  • Adicionar arquivos de Logical Logs para uma nova dbspace

Estratégia para estimar o tamanho e os números de Logical Logs


É mais fácil de gerenciar arquivos de Logical Logs grandes do que muitos arquivos de Logical Logs pequenos.  Se os arquivos de Logical Logs não são suficientes, frequentemente checkpoints serão disparados, isso impacta diretamente na performance. Para aplicações que geram uma pequena quantidade de dados de log, começe com 10 arquivos de logs com o tamanho de 100MB. Se um grande número de objetos em uma blobspace são alterados frequentemente, você necessitara de backups frequentes para liberar espaçoss na blobspace.


A expressão a seguir fornece um exemplo de como calcular a configuração de espaço total para os logs, em kilobytes:

LOGSIZE = (((connections * maxrows) * rowsize) / 1024) / LOGFILES

A politica de Objetivo de Tempo de Recuperação (RTO – Recovery Time Objective) determina a tolerância de perda de dados em caso de uma falha do servidor. Se esta politica é necessária,



  1. Utilize backups automaticos de logs sempre que um arquivo de log encher
  2. Utilize o agendador para criar tarefas que faça backup automatico de logs em determinados intervalos de tempo
  3. Se o espaço de log ficar cheio antes dos logs serem bacapeados, adicione novos arquivos de logs para permitir a continuidade do processamento das transações
  4. Utilize o agendador para adicionar tarefas para detectar a situação acima e adicionar logs automaticamente

Physical Log


O servidor tem um log especial que é utilizado para fins de recuperação automática. Esses registros são chamados de Physical Log. O physical log é uma coleção de paginas contiguas no disco.


Quando uma página é lida em um buffer de memória compartilhada e modificada por um usuário, uma copia dessa pagina em sua condição original é gravada dentro do physical log. Essa copia de paginas é conhecida como “before image” (copia da pagina antes de sua alteração). Apenas a primeira mudança da pagina  em um buffer causa a gravação do before image no pysical log. Quaisquer alterações posteriores na mesma página não gravará novo before image para serem salvas no physical log. Estas imagens são utilizados por um mecanismo automático de recuperação.


Você pode mover a localização e o tamanho do physical log usando o comando onparams.


A seguir o comando move o physical log para o dbspace dbsphyslog e redimenciona para 3000KB:

onparams -p -d dbspace1 -s 3000

Estimando o tamanho do Physical Log


O parametro de configuração PHYSFILE especifica o tamanho do physical log. O tamanho do physical log depende de:



  1. Da taxa de atividades gerada pelas transações do physical log
  2. Da utilização do parametro de configuração RTO_SERVER_RESTART para especificar um valor de tempo de recuperação

Checkpoints são acionados quando 75% do physical log esta cheio e o processamento precisa completar antes que o log fique cheio, para que o servidor de banco de dados não bloqueie todas as transações. A fim de evitar que as transações sejam bloqueadas, verifique se o servidor de banco de dados tem espaço suficiente de physical log para conter todas as atividades de transações durante o processamento do checkpoint.


Se você especificar um valor para o parâmetro de configuração RTO_SERVER_RESTART, o servidor monitora a carga de trabalho e acionamentos de checkpoints para atender a politica RTO. Isso gera algumas atividades de Physical Log. Os registros extras é usado para auxiliar o bufferpool durante o fast recovery de modo que a repetição seja executada de forma otimizada. Se o physical log é considerado grande em relação ao tamanho combinado de todos os buffer pools, paginas descarregadas e paginas com falhas que ocorrem durante um fast recovery. Paginas descarregadas e paginas com falhas reduz substancialmente a performance do fast recovery, e o servidor de banco de dados não pode manter a politica RTO.


Para sistemas com espaço de buffer pool menor que 4GB, o physical log pode ser redimensionado para 110% combinado com todos os buffer pools. Para sistemas com um buffer pool maiores que 4GB monitorar as atividade de checkpoint. Se ocorrer checkpoints com muita frequencia e parecem afetar o desempenho, acrescente mais physical log.


Você pode usar o comando onstat –g ckp para visualizar as configurações recomendadas.


You can use the onstat -g ckp command to display configuration recommendations.


Novos parametros do ONCONFIG na versão 11













































Parametros de ConfiguraçãoDescrição
RTO_SERVER_RESTARTPermite a utilização RTO (Recovery Time Objective) padrões para definir a quantidade de tempo, em segundos, para que o Dynamic Server terá que se recuperar de um problema depois que você reiniciar o DS e colocar o servidor em modo online ou quiescente.
RAS_PLOG_SPEEDA taxa à qual o physical log pode ser recuperado durante um fast recovery.
RAS_LLOG_SPEEDA taxa à qual o logical log pode ser recuperado durante um fast recovery. Não configuravel. IDS atualiza esses valores para refletir a velocidade de recuperação real. ( As unidades são paginas por segundos).
AUTO_CKPTSAtiva ou desativa checkpoints automaticos.
AUTO_LRU_TUNINGAtiva ou desativa o ajuste automático de LRU
AUTO_AIOVPSAtiva ou desativa a capacidade do servidor de banco de dados para aumentar o número de AIO VPs automaticamente e descarrega threads quando o servidor detectar que AIO VPs não estão acompanhando a carga de trabalho.
SQLTRACEControla o comportamento padrão, como o numero de instruções SQL para rastrear e o modo de rastreamento do recurso de consulta drill-down.
EXPLAIN_STATAtiva ou desativa a inclusão de uma seção de estatísticas de querys no arquivo explain.out que a declaração SET EXPLAIN gerou ou o comando onmode –Y session_id pode mostrar.
USELASTCOMMITTEDEspecifica se o servidor de banco de dados usa a ultima dos dados comitados quando ocorre um bloqueio.
SHMVIRT_ALLOCSEGEspecifica um limite no qual o IDS deve alocar a memória do servidor e do nivel de alarme ativado se o servidor não poder alocar o novo segmento de memória.
ENCRYPT_HDRAtiva ou desativa a criptografia entre os servidores HDR pareados.
LOG_INDEX_BUILDSDefine para 1 (um) para habilitar o log das paginas de indice durante a instrução CREATE INDEX. Obrigatorio no nó primario ao utilizar nós Secundario (RSS).
ENCRYPT_SMX0. Não utiliza criptografia em conexão SMX
1. Negocia a criptografia em conexão SMX
2. Deve-se utilizar criptografia em conexão SMX