Como parar um 12c banco de dados Oracle

Assim como existe uma ordem de eventos para iniciar uma instância de banco de dados 12c Oracle, há também uma ordem de como uma instância de banco de dados está parado. Idealmente, isso é o que acontece durante um desligamento do banco de dados:

  • Novas conexões para o banco de dados são negados.

  • transações existentes são ou confirmada ou revertida com as atualizações apropriadas para os arquivos de log de redo on-line.

  • sessões de usuário são encerradas.

  • cabeçalhos de arquivo de banco de dados são atualizados e os arquivos estão fechados.

  • SGA é desligado.

  • processos em segundo plano são terminadas.

É preferível que todas as etapas de ocorrer naturalmente durante o encerramento, o que garante que

  • Todas as transações são perfeitamente confirmada ou revertida.

  • arquivos de log de redo on-line estão devidamente atualizado.

  • Todos os arquivos estão fechados corretamente sem corrupção.

Se os passos anteriores não ocorrer durante o desligamento por causa de uma falha do servidor ou instância de banco de dados ou abortar SHUTDOWN, as operações de limpeza deve ocorrer durante a inicialização em uma fase chamada recuperação de instância.

Durante a recuperação exemplo, a Oracle não vai abrir uma instância de banco de dados até que esteja satisfeito que todas as transações são contabilizados e todos os arquivos de dados são abertos. Se ele não pode concluir essas tarefas, mensagens de erro e o DBA deve resolvê-los. recuperação de instância é bem sucedido na maior parte do tempo, mas pode levar vários minutos para processar a limpeza.

tipos de desligamento no Oracle 12c

Quando um banco de dados precisa ser desligado, existem vários métodos para fazê-lo com efeitos variados sobre os usuários atuais e suas transações.

SHUTDOWN [NORMAL]

  • Novas conexões para o banco de dados são negados.

  • operações existentes continuam normalmente até que eles reverter ou confirmar.

  • os usuários log out normalmente por conta própria.

  • Após o último usuário se desconecta, os cabeçalhos dos arquivos de banco de dados são atualizados e os arquivos estão fechados.

  • SGA é desligado.

  • processos em segundo plano são terminadas.

  • Especificada pelo corte ou o corte de comando NORMAL.

TRANSACTIONAL SHUTDOWN

  • Novas conexões para o banco de dados são negados.

  • operações existentes continuam normalmente até que quer reverter ou confirmar.

  • Depois de uma transação existente é concluída, as sessões de usuário são encerradas.

  • cabeçalhos de arquivo de banco de dados são atualizados e os arquivos estão fechados.

  • SGA é desligado.

  • processos em segundo plano são terminadas.

  • Especificada pelo comando SHUTDOWN transacional.

desligamento imediato

  • Novas conexões para o banco de dados são negados.

  • operações existentes são revertidas.

  • sessões de usuário são encerradas.

  • cabeçalhos de arquivo de banco de dados são atualizados, e os arquivos estão fechados.

  • SGA é desligado.

  • processos em segundo plano são terminadas.

  • Especificada pelo comando desligamento imediato.

shutdown abort

  • Novas conexões para o banco de dados são negados.

  • operações existentes não são revertidas.

  • sessões de usuário são encerradas.

  • SGA é desligado.

  • processos em segundo plano são terminadas.

  • Especificada pelo comando SHUTDOWN ABORT.

  • recuperação de instância é necessária na inicialização.

decisões de encerramento no Oracle 12c

Quando você usa cada tipo de desligamento?

  • Geralmente, desligamento imediato é o que você quer porque limpa compromete ou reverte as transações existentes, termina sessões de usuários quando eles estão completos, e em seguida, fecha o banco de dados de forma limpa.

  • Não use desligamento normal, muitas vezes, porque mesmo um usuário ainda logado (depois que ele deixou para o dia) pode pendurar o desligamento.

  • O SHUTDOWN TRANSACTIONAL não comprar-lhe muito, porque o obriga a esperar por usuários para concluir suas transações. Se você quiser esperar, você pode simplesmente entrar desligamento normal. No entanto, se você quer forçá-los fora da instância de banco de dados, você usa desligamento imediato. Há momentos SHUTDOWN TRANSACTIONAL é útil, mas não é tão comum como se poderia pensar. Este método é mais comumente usado em ambientes de cluster.

    Aqui é como um típico SHUTDOWN executa imediato. Tenha em mente que você deve estar logado como SYSDBA para executar o comando de desligamento.

    SQL> desligamento imediato-Database closed.Database dismounted.ORACLE exemplo fechou down.SQL> exit
  • Use SHUTDOWN ABORT somente quando você tem que. É, essencialmente, trava o banco de dados e espera recuperação de instância para pegar as peças. Você pode ter que fazer isso se o sistema está pendurado, mas não deve ser sua primeira escolha (a menos que você quer fazer em algum momento de recuperação do banco de dados real).

    Se você pode emitir comandos na instância do banco de dados, emitir um sistema de comutação LOGFILE ALTER para forçar um ponto de verificação para fechar cabeçalhos de arquivo e lave os logs de redo on-line antes de emitir a abortar o desligamento. Forçando um ponto de verificação permite uma recuperação de instância mais fácil durante a próxima inicialização.

Antes de emitir quaisquer comandos mudando o estado de execução da instância, certifique-se que você está se conectando a instância correta. No Linux, se a instância não foi iniciado ainda, escreva o seguinte na linha de comando:

$ Echo $ ORACLE_SID

Se a instância já está em execução e que pretende encerrá-lo ou restringi-lo, digite o seguinte:

$ Sqlplus / as sysdbaSQL> select instance_name de v $ instance-INSTANCE_NAME ---------------- dev12c

menu