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

Recovery Manager Oracle Discussion :

[RMAN] Script, problème de syntaxe [11gR2]


Sujet :

Recovery Manager Oracle

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut [RMAN] Script, problème de syntaxe
    Bonjour,

    ces derniers jours, après de multiples tests, j'ai réussi à effectuer plusieurs sauvegardes/restaurations et j'ai également compris beaucoup de notions sur RMAN. Il me reste juste encore quelques lacunes au niveau de la syntaxe.
    Ma base cible génère ses archivelogs sur disque mais je sauvegarde mes données sur bande via Time Navigator. Pour effectuer la sauvegarde, pas de problème. En revanche, j'effectue également quelques tâches de maintenance (purge d'archives de mon disque, purge des sauvegardes expirées sur ma bande). Quand je passe tout en ligne de commande, je ne rencontre pas de souci mais à priori dans un script ça ne passe pas. Je voudrais savoir comment faire ça svp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    run {
    backup tag 'BKP_TEST_FULL_OR11' database;
    backup  tag 'BKP_TEST_ARCH_OR11' archivelog all not backed up delete all input;
    allocate channel for maintenance type disk;
    crosscheck archivelog all;
    delete noprompt expired archivelog all;
    release channel;
    allocate channel for maintenance type 'sbt_tape' PARMS  'SBT_LIBRARY=/usr/Atempo/tina/Lib/libtina_rman.so,ENV=(TINA_HOME=/usr/Atempo/tina, TINA_RMAN_CATALOG=tina_cat_2,TINA_RMAN_FOLDER=TINA_RMAN_CLUSTER_6, TINA_RMAN_USER=ora11203, TINA=tina, TINA_SERVICE_NAME=tina)';
    delete noprompt obsolete;
    release channel;
    }
    Je voudrais donc :
    - lancer une sauvegarde full sur bande
    - lance une suavegarde des archivelogs sur bande
    - Effectuer une maintenance sur l'indexation de mes archivelogs dans mon catalogue et supprimer les expirés sachant que les fichiers d'archives de ma base sont sur disque
    - Effectuer une maintenance sur les sauvegardes expirées stockées sur bande

    Ma conf :
    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
    19
    20
    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
    CONFIGURE BACKUP OPTIMIZATION OFF; # default
    CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
    CONFIGURE CONTROLFILE AUTOBACKUP ON;
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT_TAPE' TO 'FULL_OR11_%F';
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
    CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
    CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;
    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
    CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/espacom/exp/or11_df%t_s%s_s%p';
    CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS  'SBT_LIBRARY=/usr/Atempo/tina/Lib/libtina_rman.so,ENV=(TINA_HOME=/usr/Atempo/tina, TINA_RMAN_CATALOG=tina_cat_2, TINA_RMAN_FOLDER=TINA_RMAN_CLUSTER_6, TINA_RMAN_USER=ora11203, TINA=tina, TINA_SERVICE_NAME=tina)';
    CONFIGURE MAXSETSIZE TO UNLIMITED; # default
    CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
    CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
    CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
    CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle113/product/dbs/snapcf_OR11.f'; # default
    Merci.

  2. #2
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Il me reste juste encore quelques lacunes au niveau de la syntaxe.
    Normal. La syntaxe RMAN a une logique assez particulière.

    La bon solution à mon avis, c'est d'avoir une bonne config qui permet d'avoir des commandes simples.

    Par exemple, ici, pas besoin d'allocate channel vu que c'est configuré (CONFIGURE CHANNEL).

    qu'est-ce que ça donne en lancant individuellement les commandes:
    backup tag 'BKP_TEST_FULL_OR11' DATABASE;
    backup tag 'BKP_TEST_ARCH_OR11' archivelog ALL NOT backed up DELETE ALL input;
    crosscheck archivelog ALL;
    DELETE noprompt expired archivelog ALL;
    DELETE noprompt obsolete;

    sans les mettre dans un bloc run (qui devient peut-être inutile du coup)

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    Résultat :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    $ rman
     
    Recovery Manager: Release 11.2.0.3.0 - Production on Thu Apr 18 14:37:28 2013
     
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
     
    RMAN> CONNECT CATALOG rman/rmanadm@RMAN
     
    connected to recovery catalog database
     
    RMAN> connect target /
     
    connected to target database: OR11 (DBID=2430632602)
     
    RMAN> backup tag 'BKP_TEST_FULL_OR11' DATABASE;
     
    Starting backup at 18-APR-13
    allocated channel: ORA_SBT_TAPE_1
    channel ORA_SBT_TAPE_1: SID=150 device type=SBT_TAPE
    channel ORA_SBT_TAPE_1: Time Navigator Media Management (tpl-pc)
    channel ORA_SBT_TAPE_1: starting compressed full datafile backup set
    channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set
    input datafile file number=00001 name=/ora/OR11/dbs/system01.dbf
    input datafile file number=00002 name=/ora/OR11/dbs/sysaux01.dbf
    input datafile file number=00003 name=/ora/OR11/dbs/undotbs01.dbf
    input datafile file number=00004 name=/ora/OR11/dbs/users01.dbf
    channel ORA_SBT_TAPE_1: starting piece 1 at 18-APR-13
    channel ORA_SBT_TAPE_1: finished piece 1 at 18-APR-13
    piece handle=0to7d46s_1_1 tag=BKP_TEST_FULL_OR11 comment=API Version 2.0,MMS Version 4.2.0.0
    channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:02:25
    Finished backup at 18-APR-13
     
    Starting Control File and SPFILE Autobackup at 18-APR-13
    piece handle=FULL_OR11_c-2430632602-20130418-02 comment=API Version 2.0,MMS Version 4.2.0.0
    Finished Control File and SPFILE Autobackup at 18-APR-13
     
    RMAN>  backup tag 'BKP_TEST_ARCH_OR11' archivelog ALL NOT backed up DELETE ALL input;
     
    Starting backup at 18-APR-13
    current log archived
    using channel ORA_SBT_TAPE_1
    channel ORA_SBT_TAPE_1: starting compressed archived log backup set
    channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set
    input archived log thread=1 sequence=95 RECID=72 STAMP=813076912
    channel ORA_SBT_TAPE_1: starting piece 1 at 18-APR-13
    channel ORA_SBT_TAPE_1: finished piece 1 at 18-APR-13
    piece handle=0vo7d4dh_1_1 tag=BKP_TEST_ARCH_OR11 comment=API Version 2.0,MMS Version 4.2.0.0
    channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:01:15
    channel ORA_SBT_TAPE_1: deleting archived log(s)
    archived log file name=/arch/archOR11_1_95_801923162.dbf RECID=72 STAMP=813076912
    Finished backup at 18-APR-13
     
    Starting Control File and SPFILE Autobackup at 18-APR-13
    piece handle=FULL_OR11_c-2430632602-20130418-03 comment=API Version 2.0,MMS Version 4.2.0.0
    Finished Control File and SPFILE Autobackup at 18-APR-13
     
    RMAN> crosscheck archivelog ALL;
     
    released channel: ORA_SBT_TAPE_1
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=150 device type=DISK
    specification does not match any archived log in the repository
     
    RMAN> DELETE noprompt expired archivelog ALL;
     
    released channel: ORA_DISK_1
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=150 device type=DISK
    specification does not match any archived log in the repository
     
    RMAN> DELETE noprompt obsolete;
     
    RMAN retention policy will be applied to the command
    RMAN retention policy is set to redundancy 1
    using channel ORA_DISK_1
    allocated channel: ORA_SBT_TAPE_1
    channel ORA_SBT_TAPE_1: SID=172 device type=SBT_TAPE
    channel ORA_SBT_TAPE_1: Time Navigator Media Management (tpl-pc)
    Deleting the following obsolete backups and copies:
    Type                 Key    Completion Time    Filename/Handle
    -------------------- ------ ------------------ --------------------
    Backup Set           556    18-APR-13
      Backup Piece       559    18-APR-13          0oo7cjoa_1_1
    Backup Set           690    18-APR-13
      Backup Piece       693    18-APR-13          0qo7cm27_1_1
    Backup Set           724    18-APR-13
      Backup Piece       736    18-APR-13          FULL_OR11_c-2430632602-20130418-01
    Backup Set           849    18-APR-13
      Backup Piece       854    18-APR-13          FULL_OR11_c-2430632602-20130418-02
    deleted backup piece
    backup piece handle=0oo7cjoa_1_1 RECID=11 STAMP=813059850
    deleted backup piece
    backup piece handle=0qo7cm27_1_1 RECID=13 STAMP=813062215
    deleted backup piece
    backup piece handle=FULL_OR11_c-2430632602-20130418-01 RECID=14 STAMP=813062271
    deleted backup piece
    backup piece handle=FULL_OR11_c-2430632602-20130418-02 RECID=16 STAMP=813076846
    Deleted 4 objects
    Donc à priori ça passe mais ça me laisse coi. Enfin, j'ai deux questions du coup :
    - Faire un run signifie que l'on va enchainer des commandes en modifiant la configuration par défaut ?
    - Comment RMAN sait-il que pour les archivelogs il doit aller sur le channel DISK et que pour le reste il doit aller sur SBT_TAPE ? C'est dû à la conf des archivelogs dans la base cible à sauvegarder stp ?

    Merci beaucoup. Tout ces tests vont me permettre d'effectuer un choix dans le fonctionnement de mes archivelogs et de mes sauvegardes (méthode, support, rétention ...). Par exemple, je sais déjà qu'il va falloir que j'abandonne le fait de stocker mes archivelogs sur un filesystem tierce propre à chaque nœud de mon cluster (Redhat Cluster). En effet, si la base bascule en milieu de journée, les archivelogs potentielles du matin seront sur le nœud passif et donc non sauvegardées le soir par rman puisque ma base aura changé de nœud. A moins que je bascule mes fichiers d'archives en même temps que la base. Pardon, je réfléchis tout haut...

    EDIT : en fait, je me rends compte que ça passe mais les tags n'ont pas l'air d'être pris en compte comme je le souhaite. En effet, sur ma bande, je dispose de 3 fichiers : 0to7d46s_1_1, 0vo7d4dh_1_1 et FULL_OR11_c-2430632602-20130418-03. A priori le premier correspond au backup database, le second au backup des archivelogs et le 3ème aux sspfile/pfile.
    Encore 2 questions donc :
    - Je pensais qu'en initiant le champ TAG me permettrait d'avoir des noms plus parlant pour les 2 premiers fichiers (par exemple BKP_TEST_FULL_OR11 et BKP_TEST_ARCH_OR11)
    - Je m'aperçois qu'il fait 2 fois la sauvegarde des fichiers spfile/pfile et qu'il supprime la première à la maintenance. Comment n'en faire qu'un dans ce cas svp ?

    Merci

  4. #4
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    - Faire un run signifie que l'on va enchainer des commandes en modifiant la configuration par défaut ?
    Oui, d'une part, et d'autre part si une commande dans le run {} a une erreur, le tout se plante. En tout cas c'est ma compréhension... Je ne l'utilise pas beaucoup. pour moi l'interêt de rman c'est de lancer des commandes synthétiques (genre backup database) et pas de commencer à scripter.

    - Comment RMAN sait-il que pour les archivelogs il doit aller sur le channel DISK et que pour le reste il doit aller sur SBT_TAPE ?
    Ici, la destination des backup (backup database, backup archivelog) va sr tape car CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';

    On peut le préciser aussi avec la clause DEVICE TYPE de la commande backup.

    Les archive logs (ceux générés par l'instance dans archive_log_dest) sont sur disque. C'est l'instance (target) qui sait où ils sont.

    Ce sont eux qui sont vérifées avec CROSSCHECK ARCHIVELOG ALL
    Si tu voulais vérifier leur backup, ce serait CROSSCHECK BACKUP OF ARCHIVELOG ALL;
    Et ceux-là, rman sait où ils sont puisque c'est lui qui les a backupé: il a l'info dans son repository.

    Par exemple, je sais déjà qu'il va falloir que j'abandonne le fait de stocker mes archivelogs sur un filesystem tierce propre à chaque nœud de mon cluster (Redhat Cluster).
    Oui, bien vu. Les archivelogs doivent être accessibles par tous les noeuds.
    En principe, on utilise la FRA qui est sous ASM.

    - Je pensais qu'en initiant le champ TAG me permettrait d'avoir des noms plus parlant pour les 2 premiers fichiers
    Le tag est une notion connue seulement par RMAN, dans son catalogue. Le nom des fichiers vient de la clause 'FORMAT' ou de la config: 'FULL_OR11_%F' 'FULL_OR11_%F' '/espacom/exp/or11_df%t_s%s_s%p'

    - Je m'aperçois qu'il fait 2 fois la sauvegarde des fichiers spfile/pfile et qu'il supprime la première à la maintenance.
    Oui, grâce à CONFIGURE CONTROLFILE AUTOBACKUP ON; il rajoute controlfile/spfile à chaque backup. Et ici il y a 2 commandes de backups: database et archivelog.

    Mieux vaut en avoir plus que pas assez Le but des backups étant de faciliter la restoration plutôt que d'optimiser la taille des backups...

    En fait, c'est surtout important d'avoir toujours le dernier controlfile, puisqu'il contient aussi le repository rman, qui peut être utiliser si on perd le catalogue. D'où l'idée de backuper le controlfile après chaque backup.

    Cordialement,
    Franck.
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  5. #5
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Mars 2005
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2005
    Messages : 363
    Points : 210
    Points
    210
    Par défaut
    Merci beaucoup pour toutes ces précisions, c'est très clair.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 18h07
  2. [RMAN] script de suppression
    Par alxkid dans le forum Oracle
    Réponses: 3
    Dernier message: 01/09/2004, 08h51
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 11h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 15h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 16h10

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