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.
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 .
- 624 leituras
Tags:





Comentar