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

Oracle Discussion :

[9i] coldbackup sur AIX


Sujet :

Oracle

  1. #1
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut [9i] coldbackup sur AIX
    Bonjour,

    Je viens de prendre la fonction de DBA. Mon prédecesseur est parti à la retraite.
    Autant vous dire qu'il n'en avait plus rien à foutre. Aussi je passe en revu les stratégies de sauvegarde.

    Je suis devant les scripts de sauvegarde à froid et je les trouve passablement compliqués.
    Je suis dans un environement AIX 5.2L avec une base oracle 9.2.0.4.
    Pouvez-vous me donner votre avis ?

    1° script ferm_base.sh

    1-Arret du listener si pas déjà arreté
    2-Test base déjà fermée (ps -ef|grep $ORACLE_SID).
    3-Recherche du process SMON. Si pas de SMON -> Exit
    Pourquoi cette étape ?
    4-Lancement de dix requêtes permettant de faire un topo sur les process/session/rollback segment...
    5-Kill des process ORACLE non sys% et adm% (alter system kill session)
    6-kill des process UNIX (ps -ef|grep oracle$ORACLE_SID, pour tous kill -9)
    7-Recherche du process SMON. Si pas de SMON -> Exit
    Et oui encore ! Pourquoi cette étape ?
    SINON ENFIN shutdown immediate !
    8-Verification qu'aucun process USER ne subsiste sur le serveur
    9-Verification qu'aucun process BACKGROUND ne subsistent
    10-Recherche si on a une erreur dans les tous les log que nous venons de générer (grep "ORA-" et grep "TNS-")

    Au bout de 10 minutes, si ce script n'est pas terminé, lancement de ferm_base_ABORT.sh :
    1-Arret du listener si pas déjà arreté
    2-Test base déjà fermée (ps -ef|grep $ORACLE_SID).
    3-Recherche du process SMON. Si pas de SMON -> Exit
    4-Recherche du process SMON. Si pas de SMON -> Exit SINON ENFIN shutdown abort !
    5-Verification qu'aucun process USER ne subsiste sur le serveur
    6-Verification qu'aucun process BACKGROUND ne subsistent
    7-Recherche si on a une erreur dans les tous les log que nous venons de générer (grep "ORA-" et grep "TNS-")


    2° script Copy_files_base.sh
    Je resume, copy des fichiers ORACLE. La liste des fichiers à copier est dans un fichier !

    Moi je me demande si un shutdown immediate puis un shutdown abort au bout de 10 minutes ne reviendraient pas au même.

    Merci

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Auh tout ca ne peut pas être simplifié par un shutdown immediate

  3. #3
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Effectivement !

    SHUTDOWN IMMEDIATE


    Immediate database shutdown proceeds with the following conditions:

    No new connections are allowed, nor are new transactions allowed to be started, after the statement is issued.
    Any uncommitted transactions are rolled back. (If long uncommitted transactions exist, this method of shutdown might not complete quickly, despite its name.)
    Oracle does not wait for users currently connected to the database to disconnect. Oracle implicitly rolls back active transactions and disconnects all connected users.
    Autrement dit, à quoi cela sert de killer les sessions et process si ORACLE le fait dans le shutdown immediate.

    Qu'est ce qui peut alors coincer un shutdown immediate ?

    Merci,

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Rien un shutdown immediate arrete tout les process immadiatement contrairement àç un shutdown transactionnel ou normal et arrête la base proprement ( Rollback , REDO , synchro des SCN ... )

    Je ne comprend pas du tout sa démarche et pourquoi tant de démarche

    En tout cas félicitation pour le post
    C'est ton premier post de DBA ?

  5. #5
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    Et oui ! Faut bien commencer !

    J'ai 40 bases de production à administrer plus les bases de developpement et recette (environ 60 au total).

    Pour revenir à mon sujet, tu sais ou je pourrais trouver un exemple de script unix pour un cold backup ?

    Merci,

  6. #6
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    N'est-il pas envisageable que ce script soit hérité de vieilles versions qui ne possédaient pas le shutdown immediate (ou qui avait du mal à le faire sans ces étapes) et qu'il n'ait fait que l'adapter au fur et à mesure, sans jamais le reprendre à 0 ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    et ca sert à quoi de DUCROT il se décarcasse :
    Sauvegarde et restauration

    Pour une Cold backup c 'est assez simple quand même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    arrêt de la base 
    copie des fichiers De données et Oracle 
    redemarrage
    Si tu es sous la norme OFA tu ne devrait copîer qu'un ou deux répertoires

  8. #8
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    N'est-il pas envisageable que ce script soit hérité de vieilles versions qui ne possédaient pas le shutdown immediate (ou qui avait du mal à le faire sans ces étapes) et qu'il n'ait fait que l'adapter au fur et à mesure, sans jamais le reprendre à 0 ?
    Je pense que tu es en plein dedans !

  9. #9
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    7-Recherche du process SMON. Si pas de SMON -> Exit
    Et oui encore ! Pourquoi cette étape ?
    Ici il vérifie si l'instance est demarré.

    le DBA retraité voulait être sûre qu'un shutdown immediate arrête la base et l'instance, des fois ca peut rester 3h ou plus pour que la base s'arrête.

    c'est pour cela il attend 10 mn pour lancer shutdown abort.

  10. #10
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    le DBA retraité voulait être sûre qu'un shutdown immediate arrête la base et l'instance, des fois ca peut rester 3h ou plus pour que la base s'arrête.
    il le fait avant le shutdown immediate !
    En plus, il verifie déjà qu'il y a des process ORACLE de la base (ps -ef|grep $ORACLE_SID). Cela voudrait dire qu'il y a des process PMON, DBW, RECO... et pas de SMON !

    Comment est-ce possible ?

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Ce n'est pas possible !!!!

    La personne que tu remplace a, comme le dit Nuke une habitude du passé.
    Ici aussi nous avons un probléme avec le shutdown immediate sur certaines versions.

    En tout cas il vaut mieux proscrire cela si ce n'est pas réellement utile.

    Pour un arrêt de la base trop long verifie le volume dans les RBS lors de l'arrêt et bien sur la fréquence de checkpoint

  12. #12
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Comme a dit Nuke et Jaouad c'est les anciens habitudes

  13. #13
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    juste un bémol, la tempo pour forcer un shutdown abort n'est pas forcément inutile. En effet, il est très possible qu'un immediate soit très long ce qui peut poser des problèmes à la suite du processus (imaginons des traitements de nuit indispensables après le backup).

    Donc, le supprimer n'est pas forcément une bonne idée, donc on peut imaginer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    shutdown immediate
    attend shutdown
    si shutdown KO après 10 min -> shutdown abort
    copie tout
    startup

  14. #14
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par PhPeltier
    il le fait avant le shutdown immediate !
    En plus, il verifie déjà qu'il y a des process ORACLE de la base (ps -ef|grep $ORACLE_SID). Cela voudrait dire qu'il y a des process PMON, DBW, RECO... et pas de SMON !

    Comment est-ce possible ?
    Je pense que c'est plus subtil

    grep SMON recherche si la base est démarrée
    grep $ORACLE_SID recherche les process qui utilise la base (la ligne SMON ne doit pas contenir ORACLE_SID si je ne m'abuse )

  15. #15
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut
    (la ligne SMON ne doit pas contenir ORACLE_SID si je ne m'abuse )
    C'est un truc comme ça je pense aussi mais il le fait quand même avec le oracle_sid :

    1 ° test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TEST_BASE=`ps -ef|grep "$ORACLE_SID"|grep -v "grep"|grep -v "$NOM_SCRIPT"|wc -l`
    if [ "$TEST_BASE" -eq 0 ]
      then
        echo "******************************************"
        echo "***** BASE DEJA FERMEE (??????) *****"
        echo "******************************************"
    2° test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TEST_SMON=`ps -ef|grep "ora_smon_$ORACLE_SID"|grep -v "grep"|wc -l`
    if [ "$TEST_SMON" -eq 0 ]
      then
        echo "******************************************"
        echo "***** PAS DE PROCESS SMON (??????) *****"
        echo "******************************************"

  16. #16
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par orafrance
    Citation Envoyé par PhPeltier
    il le fait avant le shutdown immediate !
    En plus, il verifie déjà qu'il y a des process ORACLE de la base (ps -ef|grep $ORACLE_SID). Cela voudrait dire qu'il y a des process PMON, DBW, RECO... et pas de SMON !

    Comment est-ce possible ?
    Je pense que c'est plus subtil

    grep SMON recherche si la base est démarrée
    grep $ORACLE_SID recherche les process qui utilise la base (la ligne SMON ne doit pas contenir ORACLE_SID si je ne m'abuse )
    Si
    ora_smon_SID

  17. #17
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    mouais... faudrait voir la liste des process ORACLE_SID lorsque tout fonctionne pour essayer de trouver une raison... s'il n'y en a pas, tu peux t'en passer

  18. #18
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Citation Envoyé par Jaouad
    Si
    ora_smon_SID
    Au temps pour moi

    C'est probablement inutile alors... ou alors il faut le faire APRES l'arrêt de la base pour être sûr que tout ce qui en dépend est arrêté (genre le listener même si c'est pas nécessaire )

  19. #19
    Membre actif
    Inscrit en
    Décembre 2002
    Messages
    438
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 438
    Points : 218
    Points
    218
    Par défaut pour conclure
    Bon ! il faut que je revois cela !

    En plus, les codes de retour ne sont pas bien gérés dans les scripts !

    Merci à tous pour votre collaboration.

Discussions similaires

  1. [AIX] Cours d'administration sur AIX
    Par kodo dans le forum AIX
    Réponses: 8
    Dernier message: 13/08/2010, 08h49
  2. Double LISTENER sur AIX
    Par Wurlitzer dans le forum Oracle
    Réponses: 3
    Dernier message: 21/12/2006, 13h20
  3. Problème de config SAMBA/DB2 sur AIX
    Par ALHER dans le forum DB2
    Réponses: 1
    Dernier message: 23/08/2006, 15h54
  4. [AIX] Mouchard sur AIX
    Par karimspace dans le forum AIX
    Réponses: 14
    Dernier message: 24/05/2006, 09h06
  5. Oracle 9.2 sur AIX 4.3.3
    Par ducho dans le forum Oracle
    Réponses: 3
    Dernier message: 25/03/2004, 16h59

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