Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Lista de tarefas


Tenho certeza que alguém lendo isso vai perguntar:“como você não sabia disso?”. Mas às vezes as coisas mais simples chegam até nós no final do jogo, enquanto outros sabiam disso desde o início.

Eu tenho corrigido o Oracle no Windows desde os dias do Windows NT. Todo mundo que corrige o Oracle no Windows sabe que o OPatch muitas vezes se recusa ao fato de que alguns arquivos DLL estão bloqueados por outros processos. A maneira mais fácil de contornar isso é apenas renomear os arquivos DLL que serão substituídos pelo patch. O sistema operacional não permite que você exclua os arquivos DLL, mas você pode renomeá-los e o OPatch pode continuar. Nos primeiros dias do OPatch, eu executava o apply, ele cuspia a DLL que estava bloqueada. Eu renomearia o arquivo DLL e, em seguida, executaria o OPatch novamente para obter o próximo arquivo DLL que estava bloqueado. Esse processo se repetiria cerca de 20 vezes até que o OPatch não encontrasse nenhum arquivo DLL bloqueado. Pelo menos agora, quando você executa o OPatch, ele fornece uma lista completa de arquivos DLL bloqueados.

Às vezes eu quero saber o processo que está bloqueando o arquivo DLL. No passado, eu baixava um desses utilitários disponíveis gratuitamente para me mostrar o(s) processo(s) bloqueando o arquivo em questão e encerrar o processo. Mas eu não gosto de freeware sobrecarregando meus servidores, então muitas vezes removo o utilitário quando termino. Até a próxima vez que eu precisar desse utilitário…

Recentemente, alguém me indicou o Metalink Note 294350.1, que continha uma pequena pepita que eu não conhecia antes de ler este documento. Aparentemente, o Windows inclui um utilitário de linha de comando para mostrar quais processos estão bloqueando arquivos DLL. agora posso fazer:
tasklist /m

A saída pode ser longa, por isso é benéfico armazenar a saída em um arquivo e depois abrir o arquivo em um editor de texto:
tasklist /m > c:\oracle\task_list.txt
notepad c:\oracle\task_list.txt

Posso então usar a função de pesquisa do editor de texto para localizar a DLL em questão.

Agora, como é que essa pequena utilidade escapou da minha atenção todos esses anos?