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 :

générer statistique sur une base


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut générer statistique sur une base
    Bonjour, je débute dans l'administration de base et je doisgénérer les statistiques sur une base de développement

    pour information j'ai les connexion DBA.

    quelqu'un pourrait me donner des astuces et comment lancer les stats?

    je suis sur une base oracle 9i

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 115
    Par défaut
    Citation Envoyé par the_youpi
    Bonjour, je débute dans l'administration de base et je doisgénérer les statistiques sur une base de développement

    pour information j'ai les connexion DBA.

    quelqu'un pourrait me donner des astuces et comment lancer les stats?

    je suis sur une base oracle 9i

    set feedback off;
    set heading off;
    spool /tmp/stat_9i.sql
    select 'execute dbms_stats.gather_schema_stats(ownname=>'''||username||
    ''',estimate_percent=>100,cascade=>TRUE);'
    from dba_users
    where username not in ('SYS','SYSTEM','DBSNMP','OUTLN','CTXSYS','WMSYS')
    and exists (select 'X' from dba_tables
    where dba_users.username=dba_tables.owner)
    order by 1;
    spool off;

    set echo on;
    @/tmp/stat_9i.sql
    !rm /tmp/stat_9i.sql


    devrait le faire...

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    désolé mais à quoi sert ces lignes?

    @stat_9i.sql
    !rm stat_9i.sql
    je me suis connecté en tant que sysdba avec sqlplus sur l'invite de commande et je lance


    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
    set feedback off;
    set heading off;
    spool stat_9i.sql
    select 'execute dbms_stats.gather_schema_stats(ownname=>'''||username||
    ''',estimate_percent=>100,cascade=>TRUE);' 
    from dba_users
    where username not in ('SYS','SYSTEM','DBSNMP','OUTLN','CTXSYS','WMSYS')
    and exists (select 'X' from dba_tables
    where dba_users.username=dba_tables.owner)
    order by 1;
    spool off;
     
    set echo on;
    @stat_9i.sql
    !rm stat_9i.sql

    par contre après grande question..........
    pas de fichier stat_9i.sql créé par le spool

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Par défaut
    La commande @ permet d'exécuter un script dans SQL*Plus.

    La commande !
    est un raccourci Unix de la commande HOST (exécuter une commande Unix depuis SQL*Plus); sous Windows il faut utiliser $.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 175
    Par défaut
    une version avec un curseur :
    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
    declare
    	cursor csUtil is 
    	select username from dba_users
    	where username not in ('SYS','SYSTEM','DBSNMP','OUTLN','CTXSYS','WMSYS')
    	rgUtil csUtil%ROWTYPE ;
     
    begin
    open csUtil ;
    loop
    	fetch csUtil into rgUtil ;
    	exit when csUtil%NOTFOUND ;
    	dbms_output.put_line('Utilisateur : '||rgUtil.username) ;
    	dbms_stats.gather_schema_stats(ownname=>rgUtil.username, cascade=>true, estimate_percent=>100);
    end loop ;
    dbms_output.put_line('# Fin de collecte des statistiques #') ;
    close csUtil;
    end;

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    Merci beaucoup pour votre aide.
    je ne dormirai moins " con " ce soir!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/05/2010, 14h54
  2. Quel impacte des statistiques sur une base?
    Par gold15 dans le forum Administration
    Réponses: 7
    Dernier message: 15/01/2009, 11h47
  3. Connexion SYSDBA sur une base ou une autre
    Par jack554 dans le forum Administration
    Réponses: 11
    Dernier message: 20/04/2004, 17h11
  4. Filtre sur une base Paradox
    Par mika dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/03/2004, 11h51
  5. Alter user sur une base distante
    Par bilo2000 dans le forum Administration
    Réponses: 13
    Dernier message: 09/03/2004, 17h18

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