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

SQL Oracle Discussion :

Shell


Sujet :

SQL Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1
    Par défaut Shell
    comment recevoir par mail le résultat d'un script ?

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    le plus simple c'est encore de créer une table dans le même genre que ce que fait statpacks et qui est rempli à intervalle régulier (via les jobs).

    Tu crées une sequence snapshot_id. Et toutes les 5 minutes tu exécutes :
    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
    SELECT snapshot_id.nextval FROM dual;
     
    INSERT INTO lock_objects_hist
    SELECT   snapshot_id.currval,bs.username "Blocking User", bs.username "DB User",
             ws.username "Waiting User", bs.SID "SID", ws.SID "WSID",
             bs.sql_address "address", bs.sql_hash_value "Sql hash",
             bs.program "Blocking App", ws.program "Waiting App",
             bs.machine "Blocking Machine", ws.machine "Waiting Machine",
             bs.osuser "Blocking OS User", ws.osuser "Waiting OS User",
             bs.serial# "Serial#",
             DECODE (wk.TYPE,
                     'MR', 'Media Recovery',
                     'RT', 'Redo Thread',
                     'UN', 'USER Name',
                     'TX', 'Transaction',
                     'TM', 'DML',
                     'UL', 'PL/SQL USER LOCK',
                     'DX', 'Distributed Xaction',
                     'CF', 'Control FILE',
                     'IS', 'Instance State',
                     'FS', 'FILE SET',
                     'IR', 'Instance Recovery',
                     'ST', 'Disk SPACE Transaction',
                     'TS', 'Temp Segment',
                     'IV', 'Library Cache Invalidation',
                     'LS', 'LOG START OR Switch',
                     'RW', 'ROW Wait',
                     'SQ', 'Sequence Number',
                     'TE', 'Extend TABLE',
                     'TT', 'Temp TABLE',
                     wk.TYPE
                    ) lock_type,
             DECODE (hk.lmode,
                     0, 'None',
                     1, 'NULL',
                     2, 'ROW-S (SS)',
                     3, 'ROW-X (SX)',
                     4, 'SHARE',
                     5, 'S/ROW-X (SSX)',
                     6, 'EXCLUSIVE',
                     TO_CHAR (hk.lmode)
                    ) mode_held,
             DECODE (wk.request,
                     0, 'None',
                     1, 'NULL',
                     2, 'ROW-S (SS)',
                     3, 'ROW-X (SX)',
                     4, 'SHARE',
                     5, 'S/ROW-X (SSX)',
                     6, 'EXCLUSIVE',
                     TO_CHAR (wk.request)
                    ) mode_requested,
             TO_CHAR (hk.id1) lock_id1, TO_CHAR (hk.id2) lock_id2
        FROM v$lock hk, v$session bs, v$lock wk, v$session ws
       WHERE hk.BLOCK = 1
         AND hk.lmode != 0
         AND hk.lmode != 1
         AND wk.request != 0
         AND wk.TYPE(+) = hk.TYPE
         AND wk.id1(+) = hk.id1
         AND wk.id2(+) = hk.id2
         AND hk.SID = bs.SID(+)
         AND wk.SID = ws.SID(+);
    Après t'a plus qu'à comparer le MAX(snapshot_id) avec MAX(snapshot_id) - 1

  3. #3
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    quel est le rapport entre la reponse et la question

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par gizmo30 Voir le message
    comment recevoir par mail le résultat d'un script ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    script|mail gimzo30@dvp.net

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par boussafi Voir le message
    quel est le rapport entre la reponse et la question
    plutôt que de créer une nouvelle discussion il a édité la question originale

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par orafrance Voir le message
    plutôt que de créer une nouvelle discussion il a édité la question originale
    assez subtile en effet

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

Discussions similaires

  1. aides pour script en shell
    Par komatek dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 12/08/2003, 15h36
  2. [VB6] comment savoir si la commande shell est terminée ?
    Par ghyscharlotte dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/07/2003, 19h12
  3. Retour de requete postgresql / Shell Script
    Par doohan dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/06/2003, 18h07
  4. [SHELL] Icônes associées à des fichiers
    Par agh dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 09/04/2003, 17h04
  5. [Kylix] probleme pour lancer le shell
    Par miky dans le forum EDI
    Réponses: 5
    Dernier message: 13/08/2002, 09h39

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