Tempo aproximado para leitura: 00:02:17 min
Dúvida
Como eliminar as tabelas temporárias do Logix em Oracle?
Ambiente
Framework - Framework (Linha Logix) - Administração Logix - Todas as versões
Solução
No tópico Anexo deste artigo consta disponibilizado o script IfxTemptabs_JOB_ORA.sql. A primeira parte deste script cria uma trigger que é acionada sempre que o usuário desconecta do banco de dados: drop_temp_table_by_
Na sequência é criada uma stored-procedure responsável por eliminar objetos temporários que não estão mais em uso, é a procedure drop_orphan_tables_
No final do arquivo há um trecho de código que agenda a execução automática dessa stored-procedure de limpeza para ocorrer a cada 2 dias às 23 horas, é o job T_DROP_ORPHAN_TABS_BY_
O conteúdo deste script pode ser copiado separadamente e executado em qualquer editor SQL - Structure Query Language.
A trigger e a stored-procedure devem ser criados com o usuário do produto Logix. Já o trecho do job precisa de um cuidado especial. Ela deve preferencialmente ser executada pelo usuário SYS ou outro com permissão DBA - Database Administrator. É necessário personalizar o comando connect informando qual instância será conectada, acrescentando o símbolo @ depois do usuário SYS.
Outra forma é conectar na ferramenta SQL e colar o trecho entre os comandos begin e end, já conectado na instância certa. Também precisa corrigir o owner LOGIX, caso não seja este o nome, antes de executá-la, tanto em job_name como em job_action.
A seguir um exemplo de como executar manualmente a procedure de limpeza das tabelas, através da ferramenta Oracle SQL*Plus:
exec drop_orphan_tables_by_session
Anexo
Segue o script:
0 Comentários