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 :

le blues de l'administrateur ; alertes Oracle


Sujet :

Administration Oracle

  1. #1
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut le blues de l'administrateur ; alertes Oracle
    bonjour,

    Voilà mon problème ; je suis responsable de l'admin de plusieurs bases 9ir2 & 10g sous windows, que se partagent une bande de jeunes développeurs.

    Sauf que j'ai du mal à suivre toutes les modifications qu'ils font, et des erreurs qu'ils laissent.

    Du coup, je me suis dit "fais toi des procédures de tout ce qui peut foirer, être modifié, et lance les régulièrement". J'ai donc une procédure pour tester les contraintes d'intégrité désactivées, et autres...

    Sauf que j'ai autre chose à faire que de lancer tout çà manuellement, et j'aimerai bien que ma base me maile dans la soirée tout çà...

    Comment faire ?

    J'ai commencé en copiant des scripts trouvés içi & là; mais ils sont tous très limités, et comme je ne suis pas une pointure en PL/SQl, j'ai besoin d'aide...

    Ma petite idée fonctionne pour tester l'état des jobs par exemple, sauf la partie qui ramène la liste des contraintes désactivées ; la requete est bonne, je suppose donc que c'est ma variable qui ne l'est pas..

    A l'aide....


    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
     
    CREATE OR REPLACE PROCEDURE sys_control 
    IS
    -- Procédure controle BASE , envoi par mail--
     
    jobs81 varchar2(70);
    jobs42 varchar2(70);
    jobs2 varchar2(70);
    log varchar2(1000);
    corps varchar2(2000);
    objet varchar2(20) := 'controle BD PROD';
    mail1 varchar2(40) := '<moi@chezmoi.com>';
    de varchar2(40) := '<moi@chezmoi.com>';
     
     
    BEGIN
     
     
    select decode(broken,'N','okay' || ' [ ' || next_date || ' ]','planté !!!!!') 
    into jobs81 from DBA_JOBS where job = 81; 
     
    select decode(broken,'N','okay' || ' [ ' || next_date || ' ]','planté !!!!!') 
    into jobs42 from DBA_JOBS where job = 42; 
     
    select decode(broken,'N','okay' || ' [ ' || next_date || ' ]','planté !!!!!') 
    into jobs2 from DBA_JOBS where job = 2; 
     
    select constraint_name || '/ ' || table_name "contraintes_desactivees"--, status, last_change
    into log from user_constraints  where status like 'DISABLED';
     
    corps := '<?xml version="1.0" encoding="iso-8859-15"?>' 
    	  	 || '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'
    		 || '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">'
    	  	 || '<head>'
    		 || '</head>'
    		 || '<body>'
    	  	 || sysdate || '<br/>'
    		 || 'compte-rendu PROD' || '<br/>' 
    		 || '<br/>'
    		 || 'INFORMATIQUE <br/>'
    		 || 'JOBS (N°) : état & prochaine exécution ' || '<br/>'
    		 || 'DBMS_STATS_GATHER_SCHEMA_STATS(USRIHF)   (2) : ' || jobs2 || '<br/>'
    		 || 'mise à jour des FOREIGN KEYS (42) : ' || jobs42 || '<br/>'
    		 || 'mise à jour des comptes de gestion midi (81) : ' || jobs81 || '<br/>'
    		 || '<br/>'
    		 || 'CONTRAINTES DESACTIVEES ' || log || '<br/>'
    		 || '<br/>'
    		 || '</body>'
    		 || '</html>' ;
     
     	   send_mail_4(de,mail1,objet,corps);
     
     
     
     
    EXCEPTION
       WHEN OTHERS
       THEN
          RAISE;
     
     
    END sys_control;
    /

  2. #2
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    il faut faire une boucle
    car c'est plusieurs lignes qui peuvent etre renvoyés

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    declare
    log varchar2(32000);
    begin
    for x in (SELECT constraint_name ||'/'||table_name "CONTRAINTE DESACTIVE"
     FROM user_constraints where status='DISABLED') LOOP
    dbms_output.put_line(x."CONTRAINTE DESACTIVE");
    end loop;
    end;
    /

  3. #3
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    Merci ! T'es un boss.

    Mais j'avais prévenu, je suis pas une lumière ; ton code, je le mets où ???
    (après le BEGIN, okay, mais ensuite ? Si je le mes avant le corps du message, cela ne marchera pas !)

    RESOLU ds le sous-forum PL/SQL

  4. #4
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    En même temps la fait que les contraintes soient activées ou non, ou que les objets PL/SQL soient à l'état VALID ou pas, c'est la responsabilité du développeur et de l'application généralement non ?
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par scheu Voir le message
    En même temps la fait que les contraintes soient activées ou non, ou que les objets PL/SQL soient à l'état VALID ou pas, c'est la responsabilité du développeur et de l'application généralement non ?
    Ça dépend des tâches assignées au DBA.

    Par exemple, dans mon cas, je suis responsable de tous ce qui ne marchent pas : les requêtes bancales développées des années avant moi, les scripts et codes mal ficelés dont j'ai hérités, etc... C'est moi le responsable...
    Quel bonheur de collaborer avec mon client !
    Dernière modification par Invité ; 05/12/2008 à 19h56.

  6. #6
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Citation Envoyé par Jerome_Mtl Voir le message
    je suis responsable de tous ce qui ne marchent pas : les requêtes bancales développées des années avant moi, les scripts et codes mal ficelés dont j'ai hérités
    C'est un peu un cadeau empoisonné ça ? Bon courage en tout cas !
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par scheu Voir le message
    C'est un peu un cadeau empoisonné ça ? Bon courage en tout cas !
    Disons que ça va pas trop fort chez ce client, alors tout bouc émissaire est bon à prendre !
    Ce qui est bien c'est que je rencontre tout ce qu'il ne faut pas faire dans leurs BDs, un pur cas d'école !
    C'est donc très formateur pour moi !!

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

Discussions similaires

  1. Vider le fichier alert (oracle 8)
    Par Thomf dans le forum Administration
    Réponses: 2
    Dernier message: 11/09/2008, 11h19
  2. Récupération des alertes Oracle d'un serveur Win par e-mail
    Par mboubidi dans le forum Administration
    Réponses: 10
    Dernier message: 06/08/2008, 16h34
  3. [Forms]alerte oracle forms
    Par med_anis_dk dans le forum Forms
    Réponses: 1
    Dernier message: 17/05/2006, 08h18

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