Como fazer uma verificação de consistência do banco de dados Oracle?

1

Estou procurando um comando como o fschek ou algo semelhante para o Oracle, para ter certeza de que a indexação é adequada. Estou fazendo uma instalação do servidor HP UX e houve algum erro ao instalar alguns depósitos, agora force a remoção, mas quero fazer uma verificação de consistência e prosseguir com a instalação.

Basicamente eu quero verificar a integridade do banco de dados do meu banco de dados e procurando por um xommand simples como o fscheck!

    
por Nishant 29.06.2010 / 14:57

2 respostas

1

BREVE EXPLICACÃO: A maneira como o Oracle trabalha em redundância interna, SE o banco de dados pode inicializar (de nomear para montar para abrir) sem problemas, E todos os arquivos aparecem no v $ datafile (nenhum está marcado "MISSING") então você deve ficar bem.

STEPS: Eu descobri que a maneira mais fácil de "varrer" o banco de dados para objetos quebrados (setores / blocos defeituosos, etc.) seria uma exportação completa (e ainda mais uma importação completa em um instância de shell vazia). O expdp ou exp com o sinalizador FULL = Y, sendo executado como SYS, deve instruir o Oracle a extrair TUDO do banco de dados para um arquivo de despejo simples. Se você tiver problemas em suas extensões (tabelas, índices, etc), então deve aparecer.

É claro que tudo isso presume que você já tenha feito: select * from dba_objects where status = 'INVALID'; para ter certeza de que você não tem nada que já saiba que não está certo.

MAIS INFORMAÇÕES: Com os redo logs on-line, o gerenciamento de desfazer, os controlfiles multiplexados e os próprios cabeçalhos do arquivo de dados, o banco de dados Oracle é muito bom para garantir que seja consistente.

    
por 29.06.2010 / 19:21
1

O Oracle validará continuamente os índices - você não precisa fazer isso. Se você quiser ver quais índices estão em um estado inválido / inutilizável, a consulta a seguir pode ajudar:

SELECT owner, index_name, status from all_indexes WHERE status <> 'VALID';

Qualquer índice listado como UNUSABLE precisa ser reconstruído.

Como afirma o @REW, o Oracle é muito bom em verificar sua própria consistência, e praticamente se recusa a inicializar se houver problemas sérios.

Um dos principais pontos de venda da Oracle é que é MUITO difícil corromper um banco de dados na ausência de problemas de hardware.

    
por 07.07.2010 / 20:15

Tags