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 :

Aide RMAN ORACLE [12c]


Sujet :

Administration Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Points : 53
    Points
    53
    Par défaut Aide RMAN ORACLE
    Bonjour,

    J'essaie de créer un script .sh et une partie de script rman pour pouvoir faire mes sauvegardes dans un premier temps.
    Je ne connais pas donc je découvre soyez indulgent
    J'ai rajouté plein d'écho et je vois qu'il n'arrive pas à rentré dans mon case ou je fait l'appel à toute mes fonctions

    Malheureusement je n'arrive pas à le faire tourner
    Script sh
    Code bash : 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
    function get_oracle_sids ()
    {
    local spfiles=("$ORACLE_HOME"/dbs/spfile*.ora)
    echo "Récupération des spfiles: $spfiles"
    local filename=""
    for file in "${spfiles[@]}"
    do
      filename="${file##*/}"
      echo "Filename de la fonction get_oracle_sids : $filename"
      oracle_sids+=( $(basename "${filename#spfile}" ".ora") )
      echo "Oracle_sids fonciton get_oracle: ${!oracle_sids[*]} "
    done
    }
     
    function get_status ()
    {
    for sid in "${oracle_sids[@]}"
    do
    echo "Oracle_sid fonction get_status: ${oracle_sids[@]}"
      export ORACLE_SID="$sid"
      $ORACLE_HOME/bin/sqlplus -s -L '/ as sysdba' << EOF
    PROMPT ================= Statut de la base $sid ==================
    SELECT INSTANCE_NAME, STATUS, DATABASE_STATUS FROM V\$INSTANCE;
    PROMPT      Statut des PDBs de la base $sid
    show pdbs;
    PROMPT _______________________________________________________________
    EOF
    done
    }
     
    function startup ()
    ....
     
     
    function shutdown ()
    ...
     
    function backup ()
    .....
     
    function main ()
    {
    # chargement de la configuration
    CONFIG_FILE=/monappli/$(basename "$0" ".sh").conf
    echo "Fichier de configuration :  $CONFIG_FILE"
    [[ -f "$CONFIG_FILE" ]] && source "$CONFIG_FILE" || {
      echo "Fichier de configuration introuvable"
      exit 1
    }
     
    # récupération des ORACLE_SID
    oracle_sids=()
    echo "oracle_sid $oracle_sids"
    get_oracle_sids
    echo "Lancement fonction get_oracle_sids"
    [[ -z $oracle_sids ]] && {
      echo "Oracle SIDS dans la condition pour la fonction statut $oracle_sids"
      echo "Impossible de déterminer un ORACLE_SID"
      exit 1
    }
     
    while :
    do
    echo "On rentre dans l'exécution de toutes les fonctions"
      case "$1" in
         status)
          echo "On est dans la fonciton statut"
          get_status
          ;;
        start)
          echo "On est dans la fonction startup"
          startup
          ;;
        stop)
          echo "On est dans la fonction stop"
          shutdown
    ....

    Script RMAN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    connect target /
    set echo on;
    crosscheck backup;
    crosscheck archivelog all;
    configure default device type to disk;
    configure device type disk backup type to compressed backupset;
    configure controlfile autobackup off;
    backup spfile tag &1;
    backup database include current controlfile tag &1 plus archivelog tag &1;
    backup backupset from tag &1 to destination '&2';
    delete noprompt archivelog until time 'sysdate-2';
    delete noprompt backup completed before 'sysdate-2';
    exit;
    Script conf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ORACLE_HOME=/exec/oracle/product/12.2.0.1/db
    APPLI="MONAPPLI"
    RECIPIENTS="toto@gmail.com"
    UTC_DATE=$(date -u +%Y_%m_%d)
    TAG="daily_full_${UTC_DATE}"
     
    # Petit obligation pour utiliser la partie rman cf forum internet
    NLS_LANG=American_America.UTF8
    En sorti d'écran :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ./sauvegarde_bdd_oracle.sh
    On est sorti du main
    Fichier de configuration :  /mon appli_conf/sauvegarde_bdd_oracle.conf
    oracle_sid
    Récupération des spfiles: /exec/oracle/product/12.2.0.1/db/dbs/spfileXXXXX.ora
    Filename de la fonction get_oracle_sids : spfileXXXXX.ora
    Oracle_sids fonciton get_oracle: 0
    Filename de la fonction get_oracle_sids : spfileXXXXX.ora
    Oracle_sids fonciton get_oracle: 0 1
    Filename de la fonction get_oracle_sids : spfileXXXXX.ora
    Oracle_sids fonciton get_oracle: 0 1 2
    Lancement fonction get_oracle_sids
    On rentre dans l'exécution de toutes les fonctions
    Quand je regarde en BDD la table pdbs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SQL> show pdbs
     
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 MONAPPLI                       READ WRITE NO
    SQL>

    Quelqu'un aurait une idée car je ne comprend pas

    merci à tous par avance

  2. #2
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    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 : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    De ce que je comprends en regardant la sortie écran, la dernière ligne affichée est "On rentre dans l'exécution de toutes les fonctions".
    Donc ton pb est dans Script.sh et plus précisément sur la valeur de $1.
    Sauf erreur de ma part, $1 est sous Linux l'argument numéro 1 de ton script; tu peux afficher sa valeur avec un echo $1?

    Je lis que tu lances ./sauvegarde_bdd_oracle.sh
    Est-ce que ce que tu appelles "Script.sh" est en réalité "sauvegarde_bdd_oracle.sh"?
    Si oui, il n'y a pas d'argument à ./sauvegarde_bdd_oracle.sh, il ne faudrait pas faire ./sauvegarde_bdd_oracle.sh Status ou ./sauvegarde_bdd_oracle.sh Stop?
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Points : 53
    Points
    53
    Par défaut
    Bonjour Ikebukuro,

    Justement j'ai essayé d'afficher la valeur de mon case $1 et celui-ci est vide, je ne comprend pas trop pourquoi.

    Script.sh = sauvegarde_bdd_oracle.sh
    Mon script ce lance sans argument malheureusement

    Merci de ton aide.

  4. #4
    Membre émérite
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    1 993
    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 : 1 993
    Points : 2 499
    Points
    2 499
    Par défaut
    Euh, comment dire... si ton script se lance SANS argument, il est normal que $1 soit vide
    Désolé pour le mais là on n'est plus dans un pb Oracle mais dans un pb Linux.

    Je laisse les pros Linux/Unix te répondre mais a priori tu es mal partie dans la conception de tes scripts.

    Bonne chance pour la suite
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 73
    Points : 160
    Points
    160
    Par défaut A tester avec un argument
    Citation Envoyé par Hyena77 Voir le message
    Bonjour Ikebukuro,

    Justement j'ai essayé d'afficher la valeur de mon case $1 et celui-ci est vide, je ne comprend pas trop pourquoi.

    Script.sh = sauvegarde_bdd_oracle.sh
    Mon script ce lance sans argument malheureusement

    Merci de ton aide.

    Pourquoi ne pas tester avec un argument prédéfini ou à l'intérieur, du script bash; définir la valeur de l'argument juste après l'appel du script :

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./sauvegarde_bdd_oracle.sh  val1
    val1 étant la valeur de l'argument

  6. #6
    Membre du Club
    Femme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Octobre 2017
    Messages : 53
    Points : 53
    Points
    53
    Par défaut
    Merci à vous deux pour vos réponses et en effet Ikebukuro tu as raison je lance mon script avec 1 argument
    J'avais besoin de sommeil ce qui choses faites maintenant, la prochainement fois j'irais me coucher pour réfléchir cela évitera de dire de grosses connerie soyons honnête

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

Discussions similaires

  1. problème avec RMAN ( duplicate )
    Par aba_dana dans le forum Administration
    Réponses: 9
    Dernier message: 26/10/2009, 16h34
  2. Problème de date avec RMAN
    Par glmrenard dans le forum Recovery Manager
    Réponses: 1
    Dernier message: 16/05/2008, 17h28
  3. Problème de restauration avec RMAN
    Par bambi98 dans le forum Recovery Manager
    Réponses: 3
    Dernier message: 12/05/2008, 22h01
  4. [10.1g/Solaris 10] Problème avec RMAN
    Par segphault dans le forum Recovery Manager
    Réponses: 1
    Dernier message: 29/03/2006, 17h37
  5. problème de backup des archivelogs avec RMAN
    Par 79Charles dans le forum Recovery Manager
    Réponses: 14
    Dernier message: 24/05/2005, 18h33

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