Shell para definir variaveis de ambiente do Informix

Versão para impressãoEnviar para amigoVersão PDF

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

Caracteristicas da shell:

  • Pode executa-la quantas vezes quiser que os PATHs antigos são removidos.
  • Ao final da execução lista todas as variáveis definidas ou apagadas (unset)
  • Ja possui uma lista de variáveis mais comuns com comentários. Se precisar utiliza-la basta descomentar e/ou definir o novo valor.
  • Permite definir um diretório do CSDK diferente do Banco de dados (declarado no LD_LIBRARY_PATH).

Caso você queira utilizar esta shell , os itens destacados são itens que com *certeza* você terá que adaptar ao seu ambiente.

#! /usr/bin/sh
## Shell Para definir variavies do Informix
##
##  by Cesar Inacio Martins
##
##  Atualizado em 05/Nov/2009 - 09:31

## Remove qualquer path ja definido para o IBM
  export PATHold=$PATH
  PATH=$(echo $PATH | sed -e 's,/opt/IBM[^:]*\(:\|$\),,g')
  export LD_LIBRARY_PATHold=$LD_LIBRARY_PATH
  LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | sed -e 's,/opt/IBM[^:]*\(:\|$\),,g' |  sed -e 's/::*/:/g')

unset vOpcao vValor
declare -a vOpcao
declare -a vValor

vDir=/opt/IBM/ids1150uc5de
CSDK=/opt/IBM/csdk350uc5
vOpcao[ 0]=envids                ; vValor[ 0]=idsmodelo
vOpcao[ 1]=INFORMIXSERVER        ; vValor[ 1]=idsmodelo
vOpcao[ 2]=INFORMIXDIR           ; vValor[ 2]=$vDir
vOpcao[ 3]=INFORMIXSQLHOSTS      ; vValor[ 3]=${vDir}/etc/sqlhosts.${vValor[1]}
vOpcao[ 4]=ONCONFIG              ; vValor[ 4]=onconfig.${vValor[1]}
vOpcao[ 5]=DB_LOCALE             ; vValor[ 5]=pt_BR.8859-1  #= pt_BR.819 = pt_BR.0333
vOpcao[ 6]=CLIENT_LOCALE         ; vValor[ 6]=pt_BR.8859-1  #= pt_BR.819 = pt_BR.0333
vOpcao[ 7]=SERVER_LOCALE         ; vValor[ 7]=pt_BR.8859-1  #= pt_BR.819 = pt_BR.0333
#vOpcao[ 8]=DBLANG                ; #vValor[ 8]=  #Define path alternativo de locale , que seja != $INFORMIXDIR/msg
vOpcao[ 9]=IFX_DIRTY_WAIT        ; vValor[ 9]=300    ## Espera 300 segundos por um comando
vOpcao[10]=INFORMIXCONRETRY      ; vValor[10]=3      ## Tenta conectar 3x
vOpcao[11]=INFORMIXCONTIME       ; vValor[11]=10     ## Espera 10seg a cada tentativa
vOpcao[12]=LD_LIBRARY_PATH       ; vValor[12]=$CSDK/lib:$CSDK/lib/esql:$vDir/lib:$vDir/lib/esql:$LD_LIBRARY_PATH:
vOpcao[13]=PATH                  ; vValor[13]=$vDir/bin:$PATH
#vOpcao[14]=LINES                 ; vValor[14]=$LINES
#vOpcao[15]=COLUMNS               ; vValor[15]=$COLUMNS
vOpcao[16]=TERM                  ; vValor[16]=$TERM
vOpcao[17]=TERMINFO              ; vValor[17]=/usr/share/terminfo
vOpcao[18]=TERMCAP               ; vValor[18]=$vDir/etc/termcap
vOpcao[19]=INFORMIXTERM          ; vValor[19]=terminfo # Define se ira utilizar o terminfo ou termcap
#vOpcao[20]=LANG                  ; vValor[20]=pt_BR
#vOpcao[21]=LC_ALL                ; vValor[21]=pt_BR
#vOpcao[22]=SINGLESEG_OFF         ; #vValor[22]=  # HP-UX: Muda modo de alogar shared memory
#vOpcao[23]=KAIOOFF               ; vValor[23]=1 # Linux: Desativa KAIO
#vOpcao[24]=KAIOON                ; vValor[24]=1   # HP-UX: Ativa/Desativa uso de KAIO
#                                 ; vValor[24]=100 # Linux: Define qtde KAIO requests por CPU vp (minimo de 100)
#vOpcao[25]=IFMX_HPKAIO_NUM_REQ   ; vValor[25]=3000  # HP-UX: Numero de requisicoes de I/O
#vOpcao[26]=INFX_CPUVP_PRIORITY   ; vValor[26]=154 #190  # Redefine prioridade do CPU vp no SO
vOpcao[27]=PSORT_NPROC           ; #vValor[27]=  # Define qtde de threads paralelas serao utilizados em sorts
vOpcao[28]=PSORT_DBTEMP          ; #vValor[28]=  # /tmp1:/tmp2 - Define file system para tabelas temporarias implicitas,nao recomendado definir
vOpcao[29]=DBSPACETEMP           ; #vValor[29]=  # temp1:temp2 - Define file system para tabelas temporarias expicitas, sobrescreve ONCONFIG
vOpcao[30]=DBUPSPACE             ; #vValor[30]=  # max_disk:max_mem:[0,1,2] - Opcoes para o Update sts.
                                                # 0: -indice+explain, 1: -indice-explain 2: +indice+explain
vOpcao[31]=FET_BUF_SIZE          ; #vValor[31]=32767 # Define buffer the FETCH , utilizando em SELECT e INSERT
                                                    # Tem melhor efeito se sqlhosts estiver com parametro b=32767
vOpcao[32]=OPTMSG                ; #vValor[32]=1 # Otimiza comunicacao do cliente/servidor agrupando mensagens e enviando de uma vez
vOpcao[33]=OPTOFC                ; #vValor[33]=1 # Otimiza comunicacao do cliente/servidor executando o Open/Fetch/Close automaticamente
# Cuidado com os tres parametros OPTMSG, OPTOFC  FET_BUF_SIZE, podem gerar consequencias em tratamento de erro.
vOpcao[34]=SQLCMDLOG             ; vValor[34]=$HOME/.sqlcmdlog # Parametro utilizado pelo utilitario sqlcmd
vOpcao[35]=TRACECKPT             ; #vValor[35]=1 # Ativa o trace do checkpoint no log banco
#vOpcao[36]=DBREMOTECMD           ; #vValor[36]=/usr/bin/ssh # Altera o acesso remoto de backup (ontape) para ssh 
                                              # o padrao eh o rsh      

#
# Para informacoes sobre as variaveis consulte o manual:
# <a href="http://publib.boulder.ibm.com/infocenter/idshelp/v111/topic/com.ibm.sqlr.doc/sqlr180.htm#sii-03-31385" title="http://publib.boulder.ibm.com/infocenter/idshelp/v111/topic/com.ibm.sqlr.doc/sqlr180.htm#sii-03-31385">http://publib.boulder.ibm.com/infocenter/idshelp/v111/topic/com.ibm.sqlr...</a>
#
declare -i vI=0
declare -i vMax=36

while [ $((vI++)) -lt $vMax ]
do
  [ -z "${vOpcao[$vI]}" ] && continue
  printf "%20s %-15s\n" ${vOpcao[$vI]} ${vValor[$vI]}
  if [ -z "${vValor[$vI]}" ]; then
    unset ${vOpcao[$vI]}
  else
    export ${vOpcao[$vI]}=${vValor[$vI]}
  fi
done


Você pode colocar este comando no .bash_profile ou .profile do seu usuário para que assim ao logar as variáveis já são definidas.
Se tiver mais de um usuário para acessar o banco de dados, você pode fazer um link da shell para o diretório /usr/local/bin .

3.666665
Média: 3.7 (3 votos)
Sua avaliação: Nenhum

Comentar

O conteúdo deste campo é privado não será exibido ao público.
  • Endereços de páginas de internet e emails viram links automaticamente.
  • Você pode usar tags BBCode no texto.
  • Tags HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>

Mais informações sobre as opções de formatação

CAPTCHA
Este teste é para bloquear programas automatizados e previnir spams
CAPTCHA de Imagem
Digite o texto exibido na imagem.