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 modif config oracle (sga) pour un nul (help)


Sujet :

Administration Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut aide modif config oracle (sga) pour un nul (help)
    Bonjour,

    Je suis complètement novice en oracle.
    ça c'est dit.

    Nous possédons sur un serveur W2003 standard sur 1 xeon 3060 (dual-core) 2.4 Ghz avec 4Go de ram
    (c'est un serveur dédié, plus ou moins c'est à dire qu'une petite appli est avec mais non consommatrice de ram)

    une application de consolidation est installé sur oracle 10.2.0.1
    (donc lourd calculs de chiffres)

    l'install à été faite avec 2 Go puis on a ajouté 2Go de ram
    mais la config d'oracle n'a pas été modifiée

    résultat ça rame beaucoup (énormément)

    1 - j'ai testé de modifier le max sga uniquement et j'ai tué oracle, une fois réparé (grâce aux aides sur le net : http://nixforums.org/about53458.html).
    après recherche, je souhaitais modifier le sga_target à 2000 Mo et le pga_aggregate_target à 700 Mo

    mais plutôt que de recasser oracle je viens vers vous

    2 - pouvez vous m'aider à modifier la config pour que ça ne rame plus ?

    je vais essayer de vous donner les infos nécessaires si j'en oublie hésitez pas à me les demander
    voici les param :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    NAME                                                                             VALUE
     
    sga_max_size                                                                     620756992
    pre_page_sga                                                                     FALSE
    lock_sga                                                                         FALSE
    shared_pool_size                                                                 0
    shared_pool_reserved_size                                                        7969177
    sga_target                                                                       620756992
    db_cache_size                                                                    0
    pga_aggregate_target                                                             313515840
    merci de votre aide.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Malheureusement l'optimisation d'une base de données c'est plus compliqué que ça. Tu peux augmenter la SGA tant que tu veux, si tu as des problèmes de locks ou d'accés aux données ça n'aidera en rien

    As-tu lancé la db console et vu les perfs pour voir au moins quels événements d'attentes apparaissent le plus souvent ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    merci de cette réponse super rapide

    non je n'ai pas lancé la DB console (je en sais pas ce que c'est)
    mais je sais que je n'ai pas tout les outils oracle installés
    est ce que je peus voir ça dans les logs system ?

    je sais bien que c'est plus complexe que simplement toucher à la sga,
    mais je cherche a modifier ces paramètres en premier lieu
    puis ensuite me pencher sur les fichiers de logs à agrandir ou non
    je ne pense pas avoir de lock, encore que je ne préfère pas m'avancer sur ce point

    ce que je sais est que un serveur w2003 quad configuré en 4 Go lors de l'install met 1min30 pour effectuer un traitement
    alors que mon serveur met 15 minutes
    et les temps sont rééls

    voilà pourquoi je veux rapidement modifier la SGA et ensuite voir le reste

    merci

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    pour modifier les paramètres il suffit de lancer SQL*Plus connecté à SYS et exécuter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER SYSTEM SET <parametre>=<valeur>;
    Pour la console, si tu n'as pas de raccourci dans le menu démarrer -> Oracle, recherche emca pour la créer. Ca te sera très utile notamment pour changer les paramètres

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci pour le code
    c'est ce que j'avais fait pour le max sga

    désolé d'insister, mais concrètement pour que je ne casse pas oracle cette fois ci,
    ça ira ça dans cet ordre avec redémarrage du serveur ensuite ?

    ALTER SYSTEM SET sga_target = 2100000 ;
    ALTER SYSTEM SET pga_aggregate_target = 700000;

    est ce que je dois modifier le sga_max_size (edit) à 2000000(/edit) ?
    si oui après les deux premières modifs ça ne cassera rien ?

    et est ce que je laisse le db_cache_size et le shared_pool_size à 0 ?

    vraiment merci de l'aide.

  6. #6
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Il n'est pas nécessaire de modifier SGA_MAX_SIZE si vous ne l'avez pas déjà modifié. Si SGA_TARGET est défini, vous pouvez laisser DB_CACHE_SIZE et SHARED_POOL_SIZE à 0 en faisant confiance à Oracle.

    Attention, les valeurs que vont indiquez sont par défaut en octets et sont trop petites.

    En général pour analyser un problème de performances:
    - au niveau global de l'instance, on utilise Statspack (ou AWR avec la licence)
    - au niveau d'une session Oracle pour un scénario identifié, on utilise la trace SQL avec TKPROF.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    merci de la réponse

    j'ai donc fait cette manip mais j'ai eu comme message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ALTER SYSTEM SET sga_target = 2100000000
    *
    ERREUR à la ligne 1 :
    ORA-02097: le paramètre ne peut pas être modifié, car la valeur indiquée n'est pas valide
    ORA-00823: La valeur de sga_target est supérieure à celle de sga_max_size
    alors j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ALTER SYSTEM SET sga_max_size = 2200000000
                     *
    ERREUR à la ligne 1 :
    ORA-02095: Le paramètre d'initialisation indiqué ne peut pas être modifié

    et bien sur le permier coup je ne savais pas pour les octect et maintenant mon sga est à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Total System Global Area  197132288 bytes
    Fixed Size                  1289652 bytes
    Variable Size             150995532 bytes
    Database Buffers           37748736 bytes
    Redo Buffers                7098368 bytes
    il était à 600 Mo environ avant ....
    heuuu
    help ...

  8. #8
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Il faut :
    • d'abord modifier SGA_MAX_SIZE dans le SPFILE
    • redémarrer l'instance
    • modifier SGA_TARGET.


    Exemple avec XE et mes valeurs:

    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
    SQL> show parameter sga_max_size;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_max_size                         big integer 572M
    SQL> alter system set sga_max_size=600m scope=spfile;
     
    Système modifié.
     
    SQL> shutdown immediate
    Base de données fermée.
    Base de données démontée.
    Instance ORACLE arrêtée.
    SQL> startup
    Instance ORACLE lancée.
     
    Total System Global Area  629145600 bytes
    Fixed Size                  1289012 bytes
    Variable Size             197133516 bytes
    Database Buffers          427819008 bytes
    Redo Buffers                2904064 bytes
    Base de données montée.
    Base de données ouverte.
    SQL> show parameter sga_max_size;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_max_size                         big integer 600M
    SQL> show parameter sga_target;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_target                           big integer 572M
    SQL> alter system set sga_target=580M;
     
    Système modifié.
     
    SQL> show parameter sga_target;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    sga_target                           big integer 580M
    SQL>

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    ok
    merci pour le spfile

    donc j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER system SET sga_max_size=2000m scope=spfile;
    puis j'ai redémarré mon oracle et maintenant :
    ORA-27102: out of memory
    OSD-00022: informations suppl¿mentaires sur l'erreur
    O/S-Error: (OS 8) Espace insuffisant pour traiter cette commande.
    ORA-27100: shared memory realm already exists
    il faut que je remonte le spfile de base ?

    est ce que dans ce cas je peux mettre dans le fichier pfile.ora
    les valeurs :
    sga_max_size=2100m;
    sga_target = 2000m ;
    pga_aggregate_target = 700m;

    avant de le remonter

    ou est ce qu'il y a une autre solution ?

  10. #10
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    Essayez la méthode décrite ici: http://www.developpez.net/forums/d42...s-bdd-sous-9i/ en replacement LOCAL_LISTENER par SGA_TARGET et en ajoutant un arrêt/relance de OracleService<SID> avant startup si vous avez l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL> startup
    ORA-27100: shared memory realm already exists

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    merci
    j'ai testé le lien et celà n'a pas marché
    j'ai suivi mon premier lien qui se résume à ça :
    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
     
    ouvrir un cmd
    oradim -shutdown -sid fcrs -shuttype srvc,inst 
     
    arreter tous les services oracle à la main
     
    e: 
    cd \oracle\product\10.2.0\admin\FCRS
    (pour moi aller dans le répertoire de la BDD)
     
    dans : E:\oracle\product\10.2.0\db_2\database
    renommer fichier initpfile.ora en .old
    copier un pfile.ora de E:\oracle\product\10.2.0\admin\FCRS\scripts
    et le re,ommer en initpfile.ora
    renommer le fichier initfcrs.ora en .old
     
    dans le cmd
    oradim -startup -sid FCRS  -starttype srvc -pfile initFCRS.ora
     
    redémarrer les autres services oracles à la main
     
     
    dans sql plus : 
     
    se connecter en fcrs/***** as sysdba
     
    create spfile from pfile;
     
    startup
    et là c'est reparti

    mais j'ai toujours mon soucis de SGA



    la question est :

    est ce que je dois monter de toute petite tranche ?
    comme 10 Mo ?

    est ce que je dois calculer mon pga + sga et augmenter pour rester toujours en max_sga < à pga + sga ?

    merci

  12. #12
    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
    Points : 3 597
    Points
    3 597
    Par défaut
    A part l'utilisation de la vue V$SGA_TARGET_ADVICE avec l'utilisation d'un test de charge, je ne connais pas de méthode particulière pour ajuster SGA_TARGET.

    Les paramètres SGA_xxx et PGA_AGGREGATE_TARGET n'ont rien en commun car dans une instance avec des processus serveurs dédiés (1 connection Oracle = 1 thread sous Windows/1 processus sur Unix) la SGA et la PGA sont deux zones mémoire distinctes.

    Si vous avez des problèmes de performance, il faut utiliser les bons outils pour analyser les problèmes avant de changer un paramètre d'instance. Sinon vous risquez d'être victime du "trouble obsessionnel de tuning" (compulsive tuning disorder) qui consiste à changer aléatoirement des paramètres de l'instance en espérant une amélioration des performances sans pouvoir la justifier.

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    merci pour la réponse

    je suis d'accord pour le symptôme touche à ça et voies si ça marche mieux je
    suis pas pour


    mais comme indiqué plus haut
    on a installé un autre serveur en 4 Go avec SGA à 1600 Mo et là ça roule

    alors que mon premier serveur avec une SGA de 600 Mo de sga ça rame

    et comme je n'y connais rien je supposais que ça venait de là

    et pour le max_sga < sga + pga je le sort d'autres site

    donc est ce que je peux juste augmenter ma sga par palier ?
    ou est ce que réinstaller oracle avec les bons paramètres s'avèrera plus rapide

    merci

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    merci de votre aide

    j'ai passé une après midi à essayer de résoudre ce problème
    temps maximum que je m'étais imparti

    bref je vais demander une réinstall du logiciel et donc d'oracle au fournisseur

    encore merci .

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

Discussions similaires

  1. [Toutes versions] Aide modif code vba pour liaison base
    Par Aladin_23 dans le forum VBA Access
    Réponses: 7
    Dernier message: 20/11/2012, 17h44
  2. [Bénévole] Développeur pour aide modification templat
    Par ctophe33 dans le forum Autres
    Réponses: 0
    Dernier message: 16/02/2009, 00h17
  3. C++ pour les Nuls Aide.
    Par Neferious dans le forum C++
    Réponses: 5
    Dernier message: 02/03/2007, 18h44
  4. [Oracle 9i] aide modification d'une colonne
    Par bubblelicious dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/03/2006, 15h29
  5. Aide pour un nul
    Par maxti dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/12/2005, 17h50

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