Compartilhando conhecimento com o mundo

Com tecnologia do Blogger.

Pesquisa

Download

Blogger Tricks

Blogger Themes

Visitas

Assuntos

Script Completo - Script para Compactação de Tabelas no Informix

# -----------------------------------------------------------------------------------------------#
# Funcao : Menu para funcoes importantes para o dba Informix.                                    #  
# Detalhe: Antes existia varios scripts em varios lugares, juntei eles neste script.             #
# Autor  : Claudemar Martins de Sa                                                               #
# Data   : 14/04/2012                                                                            #
# Fonte  : http://www.vivaolinux.com.br/script/Menu-tarefas-com-SSH                              #
# -----------------------------------------------------------------------------------------------#
 
Principal () {

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                         $(hostname -i) - $(whoami)"
echo
echo "     Code  Function                                  Code  Function                               "
echo "     ----  --------------------------------------    ----  -------------------------------------- "
echo "       1   Processos Rodando                          40   REPACK - Recompactacao                 "
echo "       2   Estimativa de Compactacao                  41   SHRINK - Liberando Espaco              "
echo "       3   Compactacoes Realizadas                    42   COMPRESS - Comprimir                   "
echo "       4   Tamanho da Tabela                          43   COMPRESS, REPACK, SHRINK (3 JUNTOS)    "
echo "      ---- --------------------------------------     44   REPACK, SHRINK (2 JUNTOS)              "  
echo "                                                      45   UNCOMPRESS - Descomprimir              "
echo "                                                      46   Manual do Compressao                   " 
echo "                                                       0   Sair da Aplicacao                      "
echo "                                                     ----  -------------------------------------- "
echo
echo -n "                Digita um Codigo - "
read OPCAO
case $OPCAO in
      1) RELATORIO_COMPACTACAO_RODANDO ;; 
      2) COMPACTACAO_ESTIMATIVA_0001 ;;
      3) COMPACTACOES_REALIZADAS ;;
      4) TABELA_DA_TABELA ;;

      40) TABLE_REPACK ;;
      41) TABLE_SHRINK ;;
      42) TABLE_COMPRESS ;; 
      43) TABLE_COMPRESS_REPACK_SHRINK ;;
      44) TABLE_REPACK_SHRINK ;;
      45) TABLE_UNCOMPRESS ;;
      46) HELP_TABLE_SHRINK_REPACK_COMPRESS ;;
      0) clear ; exit ;;
      *) clear ; Principal ;;
   esac
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

HELP_TABLE_SHRINK_REPACK_COMPRESS () {

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                         $(hostname -i) - $(whoami)"
echo
echo
echo " +---------------------------------------------------------------------------------------------------------------------+ "
echo " | O uso ineficiente de espaco em disco pode degradar o desempenho. Se o espaco for fracamente usado (exclusoes podem  | "
echo " | liberar muito espaco de linha), a E/S aumentara para uma determinada recuperacao de conjunto de dados. Quando       | "
echo " | paginas de tabela sao distribuidas em muitas extensoes, mais tempo de busca e necessario para encontrar os dados. E | "
echo " | possivel recompactar e diminuir independentemente da compactacao. A recompactacao consolida espaco livre e a reducao| "
echo " | retorna espaco livre ao dbspace, que encurta as extensoes tanto quanto possivel. A recompactacao pode ser executada | "
echo " | enquanto o mecanismo estiver off-line.                                                                              | "
echo " |                                                                                                                     | "
echo " | A desfragmentacao resolve o segundo problema relocalizando e mesclando extensoes onde for possivel.                 | "
echo " |                                                                                                                     | "
echo " | COMPRESS - Reduz o tamanho dos dados a serem armazenados, criando assim espaco nao utilizado na particao            | "
echo " |                                                                                                                     | "
echo " | REPACK - Move linhas a partir da extremidade da particao para o espaco vazio pagina presente na extremidade superior| "
echo " |          da particao.                                                                                               | "
echo " |                                                                                                                     | "
echo " | Shrink - Libera extensoes livres de volta ao dbspace.                                                               | " 
echo " +---------------------------------------------------------------------------------------------------------------------+ "
echo
echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
Principal
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

RELATORIO_COMPACTACAO_RODANDO ()
{

LOG1="/tmp/compactacao_rodando_agora_1234_$(whoami)_pode_deletar_1234_0.log"
LOG2="/tmp/compactacao_rodando_agora_1234_$(whoami)_pode_deletar_1234_1.log"

# ============================================================================================

dbaccess sysmaster  > /dev/null <<+
unload to $LOG1

select
smgr_dbname as Banco,
smgr_opdesc as Operacao,
smgr_elapsedtime as Duracao_S,
smgr_remainingtime as Previsao,smgr_tabname
from sysstoragemgr;
+
cat $LOG1 | awk -F "|" '{
   t_iso=$1
if ($1 == "|")
{ t_iso=" " }

printf(" | %-15s | %-9s | %-10d | %-10d | %-5s \n",$1,$2,$3,$4,$5,$6)}' > $LOG2

# ============================================================================================

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo 
echo " +-----------------+-----------+------------+------------+--------------------------------------"
echo " | Banco           | Operacao  | Duracao    | Previsao   | Nome da Tabela"
echo " +-----------------+-----------+------------+------------+--------------------------------------"
cat $LOG2
echo " +-----------------+-----------+------------+------------+--------------------------------------"
echo

rm $LOG1
rm $LOG2

echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================

COMPACTACAO_ESTIMATIVA_0001 ()
{

LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_0.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                     Estimativa de Compactacao "
echo
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1


clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                     Estimativa de Compactacao "
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table estimate_compression', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin > $LOG2

LOG="$(onstat -c | grep MSGPATH | grep / | awk '{print $2}')"

# cat $LOG  | grep "SCHAPI" > $LOG3 ; 


echo
clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
cat $LOG2

rm $LOG1;
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

TABELA_DA_TABELA ()
{

LOG1="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_2.log"
LOG3="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_3.log"
LOG4="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_4.log"
LOG5="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_5.log"
LOG6="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_6.log"
LOG7="/tmp/tamanho_tabela_1234_$(whoami)_pode_deletar_1234_7.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo
echo -n " Digite o NOME DO BANCO ...........: "
read DATABASE
echo
echo -n " Digite o Nome da TABELA ..........: "
read table
echo
echo

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

# ======================================================================================================
# ======================================================================================================

dbaccess sysmaster > /dev/null <<+
unload to $LOG3
select (sum( pe_size ) * 16)/1024/1024 gb from systabnames, sysptnext where partnum = pe_partnum and dbsname = '$DATABASE' and tabname in ('$table')
+
echo
cat $LOG3 | awk -F "|" '{
   t_iso=$1
if ($1 == "|")
   { t_iso="|" }

printf("%-20s Gb\n",$1)}' > $LOG4

# ======================================================================================================
# ======================================================================================================

dbaccess sysmaster > /dev/null <<+
unload to $LOG3
select (sum( pe_size ) * 16)/1024 gb from systabnames, sysptnext where partnum = pe_partnum and dbsname = '$DATABASE' and tabname in ('$table')
+
echo
cat $LOG3 | awk -F "|" '{
   t_iso=$1
if ($1 == "|")
   { t_iso="|" }

printf("%-20s Mb\n",$1)}' > $LOG5

# ======================================================================================================
# ======================================================================================================

dbaccess sysmaster > /dev/null <<+
unload to $LOG3
select (sum( pe_size ) * 16) kb from systabnames, sysptnext where partnum = pe_partnum and dbsname = '$DATABASE' and tabname in ('$table')
+
echo
cat $LOG3 | awk -F "|" '{
   t_iso=$1
if ($1 == "|")
   { t_iso="|" }
printf("%-20s Kb\n",$1)}' > $LOG6

# ======================================================================================================
# ======================================================================================================

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo
echo -n " Nome do Banco ...............: $DATABASE"
echo
echo -n " Nome da Tabela ..............:" $table
echo
echo -n " Tamanho da Tabela Giga ......: "
cat $LOG4
echo -n " Tamanho da Tabela Mega ......: "
cat $LOG5
echo -n " Tamanho da Tabela Kb ........: "
cat $LOG6


rm $LOG3
rm $LOG4
rm $LOG5
rm $LOG6
echo
echo
echo -n "Pressione qualquer tecla para sair..."
read MSG
clear
Principal
}
# ======================================================================================================
# ======================================================================================================

COMPACTACOES_REALIZADAS ()
{
ONLINE_LOG="onstat -m | grep 'Message Log File' |  awk '{print $4 }'"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo "Compactacoes Realizadas - Online.log"
echo
cat $ONLINE_LOG | grep "Compress for "

echo
echo -n "Pressione qualquer tecla para sair..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

TABLE_REPACK ()
{
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"
LOG3="/tmp/1234_$(whoami)_pode_deletar_1234_3.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                             Repack"
echo
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                             Repack"
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table repack', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin

echo
clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo -n "-------------------------------------------------------------------------------------------------"
echo
LOG="$(onstat -c | grep MSGPATH | grep / | awk '{print $2}')"

cat $LOG  | grep "SCHAPI" > $LOG2 ; 
tail -n 2 $LOG2; 

rm $LOG1
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

TABLE_SHRINK ()
{
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"
LOG3="/tmp/1234_$(whoami)_pode_deletar_1234_3.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                               Shrink "
echo
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                               Shrink "
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table shrink', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin

echo
clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo -n "-------------------------------------------------------------------------------------------------"
echo
echo

LOG="$(onstat -c | grep MSGPATH | grep / | awk '{print $2}')"

cat $LOG  | grep "SCHAPI" > $LOG2 ; 
tail -n 2 $LOG2; 

rm $LOG1
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================

TABLE_COMPRESS ()
{
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                            Compress Table"
echo                                    
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                            Compress Table"
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table compress', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo -n "-------------------------------------------------------------------------------------------------"
echo
echo

LOG="$(onstat -c | grep MSGPATH | grep / | awk '{print $2}')"

cat $LOG  | grep "SCHAPI" > $LOG2 ; 
tail -n 30 $LOG2; 

rm $LOG1
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

TABLE_COMPRESS_REPACK_SHRINK ()
{
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                    Compress, Repack and Shrink"
echo
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                    Compress, Repack and Shrink"
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table compress repack shrink', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo -n "-------------------------------------------------------------------------------------------------"
echo
echo
LOG="$(onstat -c | grep MSGPATH | grep / | awk '{print $2}')"

cat $LOG  | grep "SCHAPI" > $LOG2 ; 
tail -n 7 $LOG2; 

rm $LOG1
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}
# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

TABLE_REPACK_SHRINK ()
{
LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"
LOG3="/tmp/1234_$(whoami)_pode_deletar_1234_3.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                          Repack and Shrink "
echo
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                          Repack and Shrink "
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table repack shrink', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin > $LOG2

echo
clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo -n "-------------------------------------------------------------------------------------------------"

cat $LOG2
echo
LOG="$(onstat -c | grep MSGPATH | grep -v '#' | awk '{print $2}')"
tail -n 20 $LOG | grep ':'

rm $LOG1
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# ======================================================================================================
# ======================================================================================================

TABLE_UNCOMPRESS ()
{

LOG1="/tmp/1234_$(whoami)_pode_deletar_1234_1.log"
LOG2="/tmp/1234_$(whoami)_pode_deletar_1234_2.log"
LOG3="/tmp/1234_$(whoami)_pode_deletar_1234_3.log"

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                             UNCOMPRESS"
echo
echo
echo -n " Digite o Nome do BANCO DE DADOS .: "
read BANCO_DE_DADOS
echo
echo -n " Digite o nome da Tabela .........: "
read TABELA

echo "INFO STATUS FOR $TABELA " | dbaccess $BANCO_DE_DADOS > $LOG1

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo "                                             UNCOMPRESS"
echo
echo
echo "                    +---------------------------------------------------------+"
echo "                    |                                                         |"
echo "                    |                aguarde alguns segundos ...              |"
echo "                    |                                                         |"
echo "                    +---------------------------------------------------------+"
echo

OWNER=$(cat $LOG1 | grep 'Owner' | awk '{print $2}')

echo "EXECUTE FUNCTION task('table uncompress', '$TABELA', '$BANCO_DE_DADOS', '$OWNER')" | dbaccess sysadmin

clear
echo "-------------------------------------------------------------------------------------------------"
echo -n
echo -n "$(date "+%d/%m/%Y")"
echo -n "      "
echo -n "                ***** INFORMIX BASIC SERVICES *****   "
echo -n "                   "
echo "$(date "+%T")"
echo "-------------------------------------------------------------------------------------------------"
echo
echo

LOG="$(onstat -c | grep MSGPATH | grep / | awk '{print $2}')"

cat $LOG  | grep "SCHAPI" > $LOG2 ; 
tail -n 30 $LOG2; 

rm $LOG1
rm $LOG2

echo
echo -n "Pressione qualquer tecla para continuar..."
read MSG
clear
Principal
}

# ======================================================================================================
# Nao remover a linha abaixo
# ======================================================================================================

Principal

0 comentários:

Enviar um comentário