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

pré-requisito do opatch


Recentemente, estava aplicando a PSU de julho a um dos meus bancos de dados RAC e continuei recebendo um erro do OPatch informando que a verificação de pré-requisito do SystemSpace falhou. Não deve ser surpresa para ninguém que o OPatch passe por várias verificações de pré-requisitos antes de aplicar o patch. O OPatch está tentando garantir uma boa chance de sucesso e não bombardear no meio do processo de patch.

Agora checkSystemSpace é apenas uma das verificações que o OPatch realiza. E pelo título, posso facilmente discernir que estou com pouco espaço, provavelmente espaço em disco. Eu sei que isso está na montagem do disco onde o ORACLE_HOME reside, pois esse é o único espaço em disco que estou modificando ao aplicar o patch. Mas o que o OPatch não estava me dizendo na tela é quanto espaço era necessário. O arquivo de log do OPatch também não me disse. Eu tinha cerca de 8 GB de espaço livre nessa unidade e a PSU não estava nem perto desse tamanho. Limpei alguns arquivos antigos, mas o OPatch ainda falhou nessa verificação.

Para descobrir quanto espaço em disco era necessário, executei manualmente o OPatch para essa verificação de pré-requisito específica da seguinte maneira:

opatch prereq checkSystemSpace -ph .

Estou executando uma verificação de pré-requisitos. O segundo parâmetro para OPatch informa qual verificação deve ser executada. A diretiva -ph informa ao OPatch qual diretório inicial do patch deve ser usado e, no meu caso, é o diretório atual (indicado pelo ponto). A saída foi semelhante ao seguinte aparado para brevidade:
    Space Needed : 8780.128MB
    Space Usable : 8347.293MB
    Required amount of space(8780.128MB) is not available.
    Prereq "checkSystemSpace" failed.

Ao executar a verificação de pré-requisitos manualmente, consegui obter as informações necessárias. O OPatch está procurando por cerca de 8,7 GB de espaço livre e eu tenho 8,3 GB disponíveis e falta cerca de 430 MB. Portanto, agora tenho uma boa ideia de quanto espaço preciso limpar antes que essa verificação seja aprovada corretamente.

O OPatch tem várias outras verificações com ele. Para descobrir todos eles, emita o seguinte:
opatch prereq -h

Isso fornecerá não apenas os nomes das verificações, mas uma breve descrição de cada uma. Por exemplo, você pode ser notificado de que a verificação  CheckApplicable falhou. O que isso significa? A descrição de um parágrafo é:
       CheckApplicable
              Check for the presence of the required components in
              the ORACLE_HOME and check if all the actions of the 
              given patch(es) are applicable.

Portanto, essa verificação garante que o diretório inicial do Oracle tenha os componentes necessários para ter sucesso. Por exemplo, você não pode aplicar um patch para corrigir um problema de particionamento se a opção Partitioning não estiver instalada. Use o OPatch para ver o restante das verificações de requisição que o OPatch está fazendo. A maioria deles acontece em segundo plano sem aviso prévio, então alguns deles podem surpreendê-lo.

Da próxima vez que ocorrer uma falha na verificação de pré-requisitos, tente executá-la manualmente para ver se você tem mais informações do que as fornecidas inicialmente quando tentou aplicar o patch.