Comment arrêter une base de données Oracle 12c

Tout comme il ya un ordre des événements à partir d'une instance de base de données Oracle 12c, il ya aussi une commande pour la façon dont une instance de base de données est arrêté. Idéalement, cela est ce qui se passe lors d'un arrêt de la base de données:

Sommaire

  • Nouvelles connexions à la base de données sont refusées.

  • Les transactions existantes sont soit validée ou annulée avec les mises à jour appropriées aux fichiers de journalisation en ligne.

  • Les sessions utilisateur sont terminées.

  • Têtes de fichier de base de données sont mises à jour et les fichiers sont fermés.

  • SGA est arrêté.

  • Processus Arrière Plan sont terminées.

Il est préférable que toutes les étapes se produisent naturellement au cours de l'arrêt, ce qui assure que

  • Toutes les transactions sont soigneusement validées ou annulées.

  • Fichiers de journalisation en ligne sont correctement mis à jour.

  • Tous les fichiers sont fermés correctement sans corruption.

Si les étapes précédentes ne pas se produire lors de l'arrêt à cause d'une panne de serveur ou de l'instance de base de données ou SHUTDOWN ABORT, les opérations de nettoyage doivent se produire lors du démarrage d'une phase dite la reprise de l'instance.

Lors de la récupération d'exemple, Oracle ne sera pas ouvrir une instance de base de données jusqu'à ce qu'il soit convaincu que toutes les opérations sont comptabilisées et tous les fichiers de données sont ouvertes. Si elle ne peut pas accomplir ces tâches, des messages d'erreur apparaissent et le DBA doivent faire face. Récupération d'instance est réussi la plupart du temps, mais cela peut prendre plusieurs minutes pour traiter le nettoyage.

Types d'arrêt dans Oracle 12c

Lorsqu'une base de données doit être arrêté, plusieurs méthodes existent pour le faire avec des effets variables sur les utilisateurs actuels et leurs transactions.

ARRET [NORMAL]

  • Nouvelles connexions à la base de données sont refusées.

  • Les transactions existantes continuent normalement jusqu'à ce que soit ils roulent en arrière ou commettent.

  • Les utilisateurs se connectent sur normalement sur leur propre.

  • Après le dernier utilisateur se déconnecte, les en-têtes de fichier de base de données sont mises à jour et les fichiers sont fermés.




  • SGA est arrêté.

  • Processus Arrière Plan sont terminées.

  • Spécifié par la fermeture ou la commande shutdown NORMAL.

ARRÊT DE TRANSACTION

  • Nouvelles connexions à la base de données sont refusées.

  • Les transactions existantes continuent normalement jusqu'à ce qu'ils roulent en arrière ou commettent.

  • Après une transaction existante est terminée, les sessions utilisateur sont terminées.

  • Têtes de fichier de base de données sont mises à jour et les fichiers sont fermés.

  • SGA est arrêté.

  • Processus Arrière Plan sont terminées.

  • Spécifié par la commande shutdown transactionnel.

ARRÊT IMMÉDIAT

  • Nouvelles connexions à la base de données sont refusées.

  • Les transactions existantes sont annulées.

  • Les sessions utilisateur sont terminées.

  • Têtes de fichier de base de données sont mis à jour, et les fichiers sont fermés.

  • SGA est arrêté.

  • Processus Arrière Plan sont terminées.

  • Spécifié par la commande IMMÉDIATE d'arrêt.

ARRÊT ABORT

  • Nouvelles connexions à la base de données sont refusées.

  • Les transactions existantes ne sont pas annulées.

  • Les sessions utilisateur sont terminées.

  • SGA est arrêté.

  • Processus Arrière Plan sont terminées.

  • Spécifié par la commande SHUTDOWN ABORT.

  • Récupération d'instance est nécessaire au démarrage.

Décisions d'arrêt dans Oracle 12c

Quand pensez-vous utiliser chaque type d'arrêt?

  • Généralement, l'arrêt immédiat est ce que vous voulez, car il commet proprement ou annule les transactions existantes, termine les sessions des utilisateurs quand ils sont complets, puis ferme la base de données d'une manière propre.

  • Ne pas utiliser arrêt normal, très souvent parce que même un utilisateur encore connecté (après qu'il a quitté pour la journée) peut accrocher l'arrêt.

  • ARRÊT TRANSACTIONAL ne vous achetez pas beaucoup car il vous oblige à attendre sur les utilisateurs pour terminer leurs transactions. Si vous voulez attendre, vous pouvez entrer simplement un arrêt normal. Toutefois, si vous voulez les forcer à quitter l'instance de base de données, vous utilisez une coupure immédiate. Il ya des moments ARRÊT transactionnel est utile, mais il est pas aussi commun que vous pourriez penser. Cette méthode est plus couramment utilisé dans les environnements en cluster.

    Voilà comment un arrêt typique exécute PRIMAIRES. Gardez à l'esprit que vous devez être connecté en tant que SYSDBA pour exécuter la commande shutdown.

    SQL> arrêt immédiat-base de données exemple closed.Database dismounted.ORACLE fermé down.SQL> exit
  • Utilisez SHUTDOWN ABORT uniquement lorsque vous devez. Il bloque essentiellement la base de données et attend la reprise d'instance pour ramasser les morceaux. Vous pourriez avoir à faire que si le système est bloqué, mais il ne devrait pas être votre premier choix (sauf si vous voulez faire la base de données réelle reprise parfois).

    Si vous pouvez exécuter des commandes sur l'instance de base de données, émettre un ALTER commutateur SYSTEM LOGFILE pour forcer un point de contrôle pour fermer têtes de fichier et rincer les redo logs en ligne avant d'émettre la ABORT d'arrêt. Forcer un point de contrôle permet une récupération par exemple plus facile lors de la prochaine mise en service.

Avant d'exécuter des commandes changeantes l'état de fonctionnement de l'instance, assurez-vous que vous vous connectez à l'instance correcte. Sous Linux, si l'instance n'a pas encore démarré, tapez la commande suivante à la ligne de commande:

$ Echo $ ORACLE_SID

Si l'instance est déjà en cours et que vous voulez l'arrêter ou de la limiter, tapez ceci:

$ Sqlplus / as sysdbaSQL> sélectionnez instance_name de v $ instance INSTANCE_NAME ---------------- dev12c

» » » Comment arrêter une base de données Oracle 12c