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 :

Vos trucs&astuces pour vous prémunir de vos propres erreurs


Sujet :

Administration Oracle

  1. #1
    Membre averti Avatar de macben
    Inscrit en
    Mars 2004
    Messages
    546
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2004
    Messages : 546
    Points : 433
    Points
    433
    Par défaut Vos trucs&astuces pour vous prémunir de vos propres erreurs
    Bonjour,

    J'aurai put mettre ce post un peu partout, mais faisant de l'administration de bases Oracle de prod, les réponses d'ici m'intéressent.

    Suite à mauvaise manipulation de ma part, je me dis que mes propres garde-fous ne sont pas suffisants pour me prémunir d'une erreur humaine sur mes bases. Quels sont les votres ?

    Voici les miens :

    • Ne jamais avoir un mot de passe identique entre 2 environnements.
    • Différencier par une couleur si possible les environnements.
    • Ne jamais utiliser le TWO_TASK.
    • Quand on inclus un "truncate" dans un script shell toujours tester que le nom de l'instance ne contient pas le "p" (souvent mis pour production) et demander confirmation avant le truncate !
    • Prévoir ses sauvegardes pour se prémunir des crash disks mais aussi des erreurs humaines (ne pas avoir un dataguard avec application immédiate par exemple).
    • Avoir l'habitude dans le rm de mettre le -R en fin de ligne de commande quand le serveur l'accepte afin d'éviter le "Enter" intempestif en milieu de chemin.
    • Activer le log sous putty pour retrouver les mauvaises commandes passées et savoir ce qu'il s'est passé.


    Je pense que j'en ai d'autres, mais ce sont surtout les votres qui m'intéressent.


  2. #2
    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
    Points : 8 079
    Points
    8 079
    Par défaut
    Pour moi il y a une grande règle générale, c'est de vérifier où on est avant de faire une action.
    Au niveau de l'OS, on vérifie ORACLE_SID.
    Une fois dans la base, on vérifie HOST_NAME et INSTANCE_NAME dans V$INSTANCE.

    Et avant de faire le copier coller de quelque chose d'exécutable, on colle d'abord la chose dans un éditeur de texte pour vérifier que c'est bien ce qu'on veut.

    A propos de copier coller, il faut faire très attention lorsqu'on a, dans un script SQL, des variables de substitution (commençant par &) à valoriser interactivement par l'utilisateur. On risque fort, lors du collage, d'intégrer involontairement un saut de ligne, ce qui fait que l'exécution se poursuit sans qu'on ait réellement fourni la valeur souhaitée. La suite peut être catastrophique !
    Par précaution, dès qu'il y a un & dans un script, il faudrait l'exécuter par @, ce qui assure qu'il fera les pauses aux bons endroits, et jamais par copier coller.

    Une autre précaution générale : s'assurer que l'on est capable de restaurer !

  3. #3
    Membre actif

    Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2008
    Messages : 169
    Points : 267
    Points
    267
    Par défaut
    - dans le prompt je met toujours le ORACLE_SID et je ne le pre rempli jamais
    - mot de passe differents sur toutes les bases pour eviter les erreurs de cible mais facile a deviné pour ne pas avoir a retenir 50 mot de passe.
    ex : system/motdepassesecret_ORACLE_SID
    - pas de mot de passe dans les scripts. pour pouvoir facilement changer les mots de passe
    - ma solution qui n'est pas terrible et de mettre le mot de passe dans une variable system qui est utilisé dans les scripts ou utilisation des connection / as sysdba quand c'est possible
    je cherche une bonne solution de stockage de mot de passe utilisable dans les batchs Donc si vous connaissez je suis preneur
    genre une fonction getPass(user,instance) retourne le pass qui est stocker de maniére sécurisé quelque part.

  4. #4
    Membre éprouvé Avatar de 13thFloor
    Homme Profil pro
    DBA Oracle freelance
    Inscrit en
    Janvier 2005
    Messages
    670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : DBA Oracle freelance

    Informations forums :
    Inscription : Janvier 2005
    Messages : 670
    Points : 945
    Points
    945
    Par défaut
    Allez, je me lance :
    - en cas de modification de tnsnames.ora, je set le variable TNS_ADMIN dans un répertoire différent
    - ORACLE_HOME et ORACLE_SID dans le $PS1
    - éviter le rappel de commandes pour ne pas récupérer la commande d'autre autre session

Discussions similaires

  1. 21 trucs et astuces pour vous aider à rester anonymes en ligne
    Par Stéphane le calme dans le forum Actualités
    Réponses: 23
    Dernier message: 27/03/2015, 10h12
  2. Réponses: 27
    Dernier message: 04/07/2011, 15h57

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