Estive lendo postagens aqui, no suporte da Oracle, e em qualquer outro lugar que encontrei nos últimos três dias e desisti desse problema ...
Um banco de dados Oracle travou. O desligamento do banco de dados ficou parado por algumas horas e depois encerrou. Não seria reiniciado. O servidor foi reiniciado. O Oracle foi reiniciado. Indo passo a passo: o nome da inicialização funciona, altera os trabalhos de montagem do banco de dados, altera os retornos abertos do banco de dados ORA-03113. Isso tudo é no host local - não pela rede. A máquina não possui nenhum tipo de firewall em execução.
Alguma idéia de como superar este erro ORA-03113? Estive ao telefone com suporte na Índia nas últimas 4,5 horas e ainda não encontrei ninguém útil.
ALTER DATABASE OPEN
e os erros depois disso.Respostas:
Após horas de desvio de orientação do suporte oficial da Oracle, mergulhei nisso sozinho e o corrigi. Estou documentando aqui, caso outra pessoa tenha esse problema.
Para fazer isso, você deve ser o usuário oracle:
Etapa 1: você precisa olhar para o log de alerta. Não está em / var / log conforme o esperado. Você precisa executar um programa de leitura de log Oracle:
Observe a base de ADR. Essa não é a instalação. Você precisa ver as casas para poder se conectar à que você usa.
O CCI é o lar. Defina isso.
Agora, você pode olhar para os logs de alerta. Seria muito bom se eles estivessem em / var / log para que você pudesse analisar facilmente os logs. Apenas pare de querer e lide com essa interface. Pelo menos você pode seguir (e espero que você tenha um buffer de rolagem):
Role para trás até ver erros. Você deseja o primeiro erro. Qualquer erro após o primeiro erro provavelmente está sendo causado pelo primeiro erro. No meu caso, o primeiro erro foi:
Isso é causado por transações. O Oracle não foi projetado para ser usado. Se você inserir muitos dados nele, eles salvarão os logs de transações. Aqueles vão para a área do arquivo de recuperação. Quando estiver cheio (50 GB neste caso). Então, a Oracle simplesmente morre. Por padrão, se algo estiver errado, a Oracle responderá desligando.
Existem duas soluções, a correta e a rápida e suja. O mais rápido e sujo é aumentar o db_recovery_file_dest_size. Primeiro, saia do adrci.
Agora, entre no sqlplus sem abrir o banco de dados, apenas montando-o (você pode fazer isso sem montar o banco de dados, mas eu o monto de qualquer maneira).
Agora, você pode aumentar seu db_recovery_file_dest_size atual, aumentado para 75G no meu caso:
Agora, você pode desligar e iniciar novamente e esse erro anterior deve ter desaparecido.
A solução correta é se livrar dos arquivos de recuperação. Você faz isso usando o RMAN, não o SQLPLUS ou o ADRCI.
Se você tiver
RMAN-06171: not connected to target database
, tente usar emrman target /
vez de apenasrman
Aguarde um longo tempo e o seu archivelog (que estava ocupando todo esse espaço) desaparecerá. Assim, você pode desligar / inicializar seu banco de dados e voltar aos negócios.
fonte
export ORACLE_SID=my_oracle
//rman target /
RMAN
, para limpar a área de arquivamento, além de outras coisas. Cuidado, pois também limpará os pontos de restauração se o banco de dados estiver aberto por algum motivo (o último bit): the1403.github.io/RMAN-cleanup-logs