Alterando configurações do ONCONFIG "on-fly" (task/admin, onmode)
Até a versão 10 o Informix tinha um péssimo defeito de que para alterar 99% dos parâmetros de configuração do banco (onconfig/sqlhosts) era necessário parar e reiniciar a instancia. Isso é uma tremenda dor de cabeça para o DBA, ainda mario se o sistema trabalha 24x7 .
Na versão 11 foi adicionado o recurso de alterar certos parâmetros com a instancia online, o que algumas pessoas chamam de alterações 'on-fly' (alterações em voo).
Parâmetros possíveis de alterar
Não são todos os parâmetros que são possíveis alterar com a instancia on-line, porém com o "andar da carruagem" dos releases apresentados pela IBM nos dois ultimos anos, acredito que logo boa parte destes parâmetros possam ser alterados.
Alguns parâmetros já podiam ser alterados na memória desde versões anteriores como :
- SHMADD : onmode -a
- MAX_PDQPRIORITY : onmode -D
- DS_TOTAL_MEMORY : onmode -M
- DS_MAX_QUERIES : onmode -Q
- DS_MAX_SCANS : onmode -S
- RESIDENT : onmode -n / -r
- ONDBSPACEDOWN : onmode -O
- VPCLASS : onmode -p
Na versão 11 passou a ser possível alterar os seguintes parâmetros:
Lista do Release 11.50 xC6
- ADMIN_MODE_USERS
- AUTO_AIOVPS
- AUTO_CKPTS
- BATCHEDREAD_TABLE
- DELAY_APPLY
- DS_MAX_QUERIES
- DS_MAX_SCANS
- DS_NONPDQ_QUERY_MEM
- DS_TOTAL_MEMORY
- DUMPCNT
- DUMPSHMEM
- DYNAMIC_LOGS
- EXPLAIN_STAT
- LIMITNUMSESSIONS
- LISTEN_TIMEOUT
- LOG_INDEX_BUILDS
- LOG_STAGING_DIR
- LTXEHWM
- LTXHWM
- MAX_INCOMPLETE_CONNECTIONS
- MAX_PDQPRIORITY
- MSG_DATE
- ONLIDX_MAXMEM
- RESIDENT
- RTO_SERVER_RESTART
- SBSPACENAME
- SBSPACETEMP
- SDS_TIMEOUT
- STOP_APPLY
- TEMPTAB_NOLOG
- USELASTCOMMITTED
- VP_MEMORY_CACHE_KB
Veja no manual a lista atualizada
Observe que nestes parâmetros não estão sendo consideradas alterações nos listeners. Até o release 11.50 xC5 isso não era possível de faze-lo dinamicamente, porém no release 11.50 xC6 este recurso foi adicionado, leia o post do Vagner sobre o assunto: http://askpontes.blogspot.com/2010/01/restart-de-listener.html
Alterações via onmode
As alterações de configuração do Informix através do onmode podem ser feitas através de dois parâmetros:
onmode -wm [parametro]=[valor] onmode -wf [parametro]=[valor] # -wm = Write Memory , altera o parâmetro apenas memória. Desta forma quando o banco for reinicializado os valores definidos serão recarregados conforme o ONCONFIG # -wf = Write File , altera o parâmetro na memória e no arquivo ONCONFIG
Alterações via SQLADMIN (task/admin)
Funcionam praticamente igual ao onmode, onde a execução do comando é através das funções task() e admin() do SQLADMIN
Veja no manual sobre o onmode wf e onmode wm.
Para maiores informações sobre o esta funções leia o artigo Como funciona admin() e task()...
Mas não deixe de conferir os exemplos mais abaixo.
Exemplos
Não há segredo em utilizar estes recursos, portanto os exemplos são simples:
# Aqui vamos alterar o parâmetro ADMIN_MODE_USERS, onde em uma ocasião onde seja # necessário dar temporáriamente a permissão de administração a um usuário. # Abaixo exibimos a configuração atual válida no ONCONFIG $ onstat -c |grep ^ADMIN_MODE ADMIN_MODE_USERS ix_dbsa # Alteramos a configuração apenas na memória para o usuário "cmartins" # onde esta alteração tem efeito imediato $ onmode -wm ADMIN_MODE_USERS=cmartins Value of ADMIN_MODE_USERS has been changed to cmartins. # Não há alterações no ONCONFIG $ onstat -c |grep ^ADMIN_MODE ADMIN_MODE_USERS ix_dbsa # Para persistir a configuração, utilizamos a opção WF $ onmode -wf ADMIN_MODE_USERS=cmartins Value of ADMIN_MODE_USERS has been changed to cmartins. # Desta vez o ONCONFIG também foi alterado $ onstat -c |grep ^ADMIN_MODE ADMIN_MODE_USERS cmartins # Para realizar a alteração via SQL, basta utilizar o # comando "onmode" do SQLADMIN EXECUTE FUNCTION task("onmode","wf","DYNAMIC_LOGS=2"); EXECUTE FUNCTION task("onmode","wm","ADMIN_MODE_USERS=cmartins");
- 282 leituras





Comentar