Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1904 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment garder une SHARED_POOL "propre" ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment garder une SHARED_POOL "propre" ?

n°1249635
Apsolu
Posté le 21-11-2005 à 11:01:41  profilanswer
 

Bonjour :)
 
Je suis développeur d'une application qui permet de consulter une table contenant beaucoup de données via une IHM qui ressemble à un tableau Excel.
Sur chaque colonne du tableau (c'est à dire de la table) l'utilisateur peut appliquer un tri et/ou un filtre sur une valeur donnée (ex. : n'afficher que les lignes pour lesquelles le montant vaut 100).
L'utilisateur peut créer des tris et des filtres sur autant de colonnes qu'il le désire (au plus 1 critère de filtre et un critère de tri sur une colonne donnée).
De plus, les colonnes affichées ou non sont également au bon vouloir de l'utilisateur.
 
La requête sous-jacente est donc complètement dynamique et n'a rien de fixé : ni la liste des colonnes du SELECT, ni la clause WHERE ni la clause ORDER BY ! :ouch:
 
Du coup, je ne sais pas comment je pourrais optimiser quoi que ce soit et surtout éviter que ces requêtes (toujours différentes de l'une à l'autre) s'accumulent dans la SHARED_POOL, ce qui produit très rapidement un message du style
 
ORA-04031 : unable to allocate 8716 bytes of shared memory ("large pool", "unknown object","cursor work he","kllqas:kllsltba" )
 
N'étant pas un spécialiste Oracle, pardon par avance si mon exposé n'est pas très clair ou qu'il y a confusion de plusieurs notions.
 
Votre aide me serait infiniment précieuse !
Merci d'avance ! :jap:
 
PS
La version d'Oracle est la 8i, attaquée depuis une couche ADO.

mood
Publicité
Posté le 21-11-2005 à 11:01:41  profilanswer
 

n°1249670
thecoin
Chasseur de chasseur de canard
Posté le 21-11-2005 à 11:29:18  profilanswer
 

Il existe une Bug oracle concernant "ORA-04031 : unable to allocate 8716 bytes of shared memory ("large pool", "unknown object","cursor work he","kllqas:kllsltba" )", sinon il est possible que la share pool soit fragmenté. Dans les deux cas, tu ne peut rien faire c'est au DBA d'intervenir.

n°1249731
sircam
I Like Trains
Posté le 21-11-2005 à 12:32:00  profilanswer
 

Il te faut un vrai DBA pour ce genre de pb.
 
Tu peux essayer d'augmenter le shared_pool_size, mais je ne serais pas étonné que cette erreur en cache une autre, genre ORA-00600. Des erreurs connexes ou source du pb ne sont pas forcément directement visibles (entends pas là : tu ne te les prends pas forcément en pleine poire; tu te ramasses un 04031 mais ce n'est que la partie visible de l'iceberg).
 
Tu as vérifié alert.log et les dumps Oracle ? Appliqué un patch ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1250447
leflos5
On est ou on est pas :)
Posté le 22-11-2005 à 02:09:48  profilanswer
 

sircam a écrit :

Il te faut un vrai DBA pour ce genre de pb.
 
Tu peux essayer d'augmenter le shared_pool_size, mais je ne serais pas étonné que cette erreur en cache une autre, genre ORA-00600. Des erreurs connexes ou source du pb ne sont pas forcément directement visibles (entends pas là : tu ne te les prends pas forcément en pleine poire; tu te ramasses un 04031 mais ce n'est que la partie visible de l'iceberg).
 
Tu as vérifié alert.log et les dumps Oracle ? Appliqué un patch ?


Faut se méfier des 04 ou 00 parfois si tu te trompe t'appeles pas le bon destinataire :D
 
La confiture, la confiture ... (c)

n°1251372
Apsolu
Posté le 23-11-2005 à 12:03:04  profilanswer
 

"Alert.log et les dumps Oracle" ?
Qu'est-ce que c'est ?

n°1251455
sircam
I Like Trains
Posté le 23-11-2005 à 13:35:09  profilanswer
 

Apsolu a écrit :

"Alert.log et les dumps Oracle" ?
Qu'est-ce que c'est ?


Mais... Mes connaissances en Oracle s'arrêtent là, j'étalais simplement le peu que je possède.
 
[:alph-one]
 
Non, sérieux, si tu n'es pas DBA Oracle - et on est pas DBA parce qu'on a installé le bousin et qu'on utilise OEM, soyons clairs - laisse tomber. Avec Oracle, la profession de DBA prend tout son sens. Il est vain de tenter de s'y attaquer comme on le ferait sur un SQL Server ou un MySQL.
 
Fais appel à un vrai DBA.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Comment garder une SHARED_POOL "propre" ?

 

Sujets relatifs
Singleton dans une DLL et espace mémoire propre[mysql] Réorganiser id pour garder continuité ?
Créer mon propre serveur avec hmailserverGarder les droits d'accès sur un répertoire
Equivalent du I-frame mais en plus propre?Comment garder le retour à la ligne d'un TEXTAREA ??
Comment créer une architecture propre et fonctionelle...Garder en memoire les champs d'un formulaire...
[J2EE] Le NPE est en fait une SQLException (pool exhausted)Garder la position des composants après redimensionnement
Plus de sujets relatifs à : Comment garder une SHARED_POOL "propre" ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)