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 :

sauvegarde à froid et à chaud


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut sauvegarde à froid et à chaud
    Bonsoir,

    J'aurai besoin des deux scripts pour faire la sauvegarde physique avec Oracle10g.

    Voilà le script à froid (mais il me donne beaucoup d'erreurs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Set feedback off 
    Set Linesize 200
    Set Heading off 
    Set Pagesize 0
    Set Trimspool off 
    Set Verify off
    define folder ='\save'  
    define file_control='\save\backup.sql' 
    spool &file_control
    select 'host cp '|| name|| ' &folder' from v$datafile order by 1; 
    select 'host cp '|| member || ' &folder' from v$logfile order by 1; 
    select 'host cp '|| name || ' &folder' from v$controlfile order by 1; 
    select 'host cp '|| name || ' &folder' from v$tempfile order by 1;
    host cp /u01/admin/lab/pfile/initlab.ora '&folder' ;
    spool off 
    shutdown immediate 
    @&file_control
    startup
    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de Kazevil
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Par défaut
    Bonjour,

    je ne comprend pas vraiment le principe de passer par un script sql.
    Pour ma part je ferais plutôt un script ksh.

    Les data files sont normalement dans un sous-répertoire du nom de la base, donc une command du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp /*/oradata/<SID>/*.* /save
    devrait déjà presque suffire. Il te reste à récupérer le pfile et le password file (si tu en utilise un).

    Pour le script à "chaud" il te faut faire ça avec RMAN. L'idéal est de faire un script .rcv avec les commandes rman puis de le lancer via un script ksh.

    Un exemple rapide de script rcv:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run{
    allocate channel d1 type disk;
    backup incremental level 0 format '/save/bck_%d_%T_%t_s%s_p%p.bck' database;
    sql 'alter system archive log current';
    backup archivelog all format '/save/arc_%d_%T_%t_s%s_p%p.bck' delete input;
    backup format '/save/ctl_%d_%T_%t_s%s_p%p.bck' current controlfile;
    release channel c1;
    }
    Pour le lancer depuis la ligne de commande ou un script ksh utilise:

    sans catalog:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rman target / cmdfile='/xxx/yyy/zzz/script.rcv' log=/xxx/yyy/zzz/log.log
    En espèrant t'avoir aidé

    Kaz

  3. #3
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    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 462
    Par défaut
    Citation Envoyé par Kazevil Voir le message
    je ne comprend pas vraiment le principe de passer par un script sql.
    Pour ma part je ferais plutôt un script ksh.

    Les data files sont normalement dans un sous-répertoire du nom de la base, donc une command du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp /*/oradata/<SID>/*.* /save
    devrait déjà presque suffire.
    Aïe aïe aïe, ça c'est franchement un mauvais conseil !
    On ne peut pas se permettre de supposer que tous les fichiers se trouvent au même endroit. La seule façon de connaître leur emplacement, c'est d'interroger les vues de la base.
    Par ailleurs, toute base peut évoluer, et un fichier est toujours susceptible d'être ajouté ou déplacé à tout moment.
    Moralité, le script de sauvegarde doit forcément être généré de manière dynamique (recréé à chaque exécution) par un script statique contenant des commandes SQL qui interrogent la base, et prennent donc en compte les dernières évolutions de structure de la base.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Citation Envoyé par Kazevil Voir le message
    Bonjour,

    je ne comprend pas vraiment le principe de passer par un script sql.
    Pour ma part je ferais plutôt un script ksh.

    Les data files sont normalement dans un sous-répertoire du nom de la base, donc une command du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cp /*/oradata/<SID>/*.* /save
    devrait déjà presque suffire. Il te reste à récupérer le pfile et le password file (si tu en utilise un).

    Pour le script à "chaud" il te faut faire ça avec RMAN. L'idéal est de faire un script .rcv avec les commandes rman puis de le lancer via un script ksh.

    Un exemple rapide de script rcv:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    run{
    allocate channel d1 type disk;
    backup incremental level 0 format '/save/bck_%d_%T_%t_s%s_p%p.bck' database;
    sql 'alter system archive log current';
    backup archivelog all format '/save/arc_%d_%T_%t_s%s_p%p.bck' delete input;
    backup format '/save/ctl_%d_%T_%t_s%s_p%p.bck' current controlfile;
    release channel c1;
    }
    Pour le lancer depuis la ligne de commande ou un script ksh utilise:

    sans catalog:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rman target / cmdfile='/xxx/yyy/zzz/script.rcv' log=/xxx/yyy/zzz/log.log
    En espèrant t'avoir aidé

    Kaz


    merci bcp mais j'ai aucune idée sur ce outil ( je suis debutant ) .
    j'ai esseyé avec ce script :
    Set feedback off
    Set Linesize 200
    Set Heading off
    Set Pagesize 0
    Set Trimspool off
    Set Verify off
    define repertoire ='d:\save\froid'
    define fichier_control='d:\save\froid\backup_froid.sql'
    spool &fichier_control
    select 'host copy ' || name || ' &repertoire ' from v$datafile
    order by 1 ;
    select 'host copy ' || member || ' &repertoire ' from v$logfile
    order by 1 ;
    select 'host copy ' || name || ' &repertoire ' from v$controlfile
    order by 1 ;
    select 'host copy ' || name || ' &repertoire ' from v$tempfile
    order by 1 ;
    spool off
    shutdown immediate
    @&fichier_control
    Startup
    mais il me manque d'autres commandes !

  5. #5
    Membre éprouvé Avatar de Kazevil
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2006
    Messages : 105
    Par défaut
    Aïe aïe aïe, ça c'est franchement un mauvais conseil !
    On ne peut pas se permettre de supposer que tous les fichiers se trouvent au même endroit. La seule façon de connaître leur emplacement, c'est d'interroger les vues de la base.
    Par ailleurs, toute base peut évoluer, et un fichier est toujours susceptible d'être ajouté ou déplacé à tout moment.
    Moralité, le script de sauvegarde doit forcément être généré de manière dynamique (recréé à chaque exécution) par un script statique contenant des commandes SQL qui interrogent la base, et prennent donc en compte les dernières évolutions de structure de la base.
    Effectivement Pomalaix, tu as raison je n'avais pas pensé à ce cas. Maintenant avec une structure OFA et des système type des LVM, il risque est quand même très limité. Mais effectivement la génération via sql est la plus dynamique et élégante.

    Kaz

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    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 462
    Par défaut
    Citation Envoyé par pedroamigo Voir le message
    Bonsoir,

    J'aurai besoin des deux scripts pour faire la sauvegarde physique avec Oracle10g.

    Voilà le script à froid (mais il me donne beaucoup d'erreurs) ...
    Oui, lesquelles précisément ? (On n'a pas forcément envie ou la possibilité d'exécuter votre script pour le savoir).

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 6
    Par défaut
    Citation Envoyé par Pomalaix Voir le message
    Oui, lesquelles précisément ? (On n'a pas forcément envie ou la possibilité d'exécuter votre script pour le savoir).
    salut
    merci à vous , sayé l'execution est terminé ac succes et voilà les fichiers que j'ai trouvé dans le répertoire de destination pour les fichiers sauvegardés :

    control.dbf , sysaux.dbf , temp.dbf ,undo.dbf , users.dbf , system.dbf , O1_MF_1_607GOMPY_.txt ,O1_MF_2_607GOOD6_.txt .

    mais je crois qu'il me manque d'autres fichiers (init.ora...)

    svp si est possible de me passer les commandes sql pour les autres fichiers necessaires et le script à chaud .
    merci bcp .

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/05/2008, 11h34
  2. Sauvegarde à froid
    Par pierrro dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 20/05/2008, 10h41
  3. SAuvegarde à froid Postgresql 8.2
    Par bensra dans le forum PostgreSQL
    Réponses: 12
    Dernier message: 02/11/2007, 18h13
  4. Sauvegardes à froid et sauvegardes à chaud
    Par dcollart dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 26/07/2005, 07h57

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