IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

ALTER SYSTEM switch logfile


Sujet :

Administration Oracle

  1. #1
    Membre très actif
    Femme Profil pro
    PL/SQL
    Inscrit en
    Septembre 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Arabie Saoudite

    Informations professionnelles :
    Activité : PL/SQL
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 190
    Par défaut ALTER SYSTEM switch logfile
    bonjour a tous

    Dans quel cas un dba peuvent lancer la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM switch logfile;
    si je comprend bien d’après la documentation cette opération est une

    action lancer par le processus LGWR (Log Writer) donc il ne s'agit pas d'une opération manuelle

    merci pour vos explications

  2. #2
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Si tu veux forcer par exemple l'archivage des redo logs. Imaginons que tu aies trois groupes de Redo, alors tu peux lancer trois fois cette commande (sauf erreur de ma part), de la sorte tu es sur que TOUS les groupes sont archivés, y compris le dernier même s'il n'y a plus d'activité sur ta base : ça t'évite d'attendre des heures ou le lendemain pour qu'il soit archivé.

    A des fins de tests aussi, pour vérifier que ton SELECT montrant la fréquence des SWITCH LOG est OK.

    Autre cas : tu veux supprimer un groupe de LOGFILE mais pour cela son statut doit être INACTIVE, donc tu fais un SWITCH LOG pour le forcer à cet état.

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Effectivement, en temps normal, l'opération switch logfile est automatique. Elle a lieu lorsque le groupe de redo log courant (celui qui reçoit actuellement les transactions) est plein, et elle permet de passer au groupe suivant, qui va recevoir les futures transactions.

    Énormément de DBA confondent les commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1) ALTER SYSTEM SWITCH LOGFILE;
    2) ALTER SYSTEM ARCHIVE LOG CURRENT;
    3) ALTER SYSTEM CHECKPOINT;
    La première change juste de groupe courant (celui qui était en statut CURRENT devient ACTIVE, et un autre devient CURRENT) et ne garantit nullement un archivage immédiat.
    La seconde provoque un archivage immédiat du groupe courant.
    La troisième enregistre dans les fichiers DBF les transactions validées, à partir des blocs de données du cache. Tous les groupes qui étaient en statut ACTIVE deviennent INACTIVE.

    Comme disait Ikebukuro, il est fréquent d'utiliser la commande ALTER SYSTEM SWITCH LOGFILE (plusieurs fois) pour vérifier le bon fonctionnement de l'archivage quand on vient de l'activer : on s'assure que des archivelogs sont générés. Mais la bonne façon de faire, c'est ALTER SYSTEM ARCHIVE LOG CURRENT.
    Le SWITCH LOGFILE répété plusieurs fois est un moyen détourné de provoquer un archivage : comme on finit par boucler sur tous les groupes redo logs, Oracle devient obligé d'effectuer un archivage pour ne pas écraser un groupe redo log non archivé.

    Si on a un groupe de redo logs qui est CURRENT, la commande ALTER SYSTEM SWITCH LOGFILE le rend ACTIVE, puis la commande ALTER SYSTEM CHECKPOINT le rend INACTIVE et on peut le supprimer. Il n'y a là encore pas besoin de multiplier les SWITCH LOGFILE.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2011, 16h39
  2. Réponses: 1
    Dernier message: 29/05/2009, 12h01
  3. Archive log current et switch logfile
    Par dct0219 dans le forum Administration
    Réponses: 1
    Dernier message: 22/09/2008, 17h53
  4. RMAN se bloque sur alter system switch logfile;
    Par big1 dans le forum Recovery Manager
    Réponses: 19
    Dernier message: 28/08/2007, 14h20
  5. Erreur interne ora-01041 suite à un Alter System
    Par matana dans le forum Oracle
    Réponses: 19
    Dernier message: 10/11/2005, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo