Je ne traiterai que des version 10G et 8i dans cette page car je n’ai pas beaucoup travaillé sur d’autres versions (9i et 11G). De plus, je n’évoque que des paramètres conseillés pour l’OLTP (environnement transactionnel) car je n’ai pas d’expériences en DatawareHouse.
OPTIMIZER_MODE
C’est le mode de fonctionnement de l’Optimizer. 4 valeurs sont possibles : CHOOSE, RULE, ALL_ROWS, FIRST_ROWS. Le premier paramètre laisse l’Optimizer choisir entre le mode RULE et COST BASED. Le deuxième paramètre force le mode RULE . Les deux derniers paramètres forcent le mode COST BASED mais avec deux approches différentes :
-
ALL_ROWS permet de privilégier le débit global
-
FIRST_ROWS permet de privilégier le débit des premiers résultats sortis par une requête
Note : Le mode Rule est devenu obsolète en 10G
Rang de valeurs : RULE, ALL_ROWS, FIRST_ROWS, CHOOSE
Valeur par défaut : ALL_ROWS en 10G, CHOOSE en 8i
Valeur Recommandée pour l’OLTP : CHOOSE
OPTIMIZER_DYNAMIC_SAMPLING
Contrôle le niveau de dynamic sampling, qui permet de calculer les statistiques automatiquement. Plus la valeur est grande, plus le « Dynamic Sampling » est agressif. A 0, le Dynamic Sampling est désactivé.
Note : Existe seulement en 10G
Rang de valeur : 0-10
Valeur par défaut : 2
Valeur recommandée pour l’OLTP : Ca dépend de la quantité de donnée mise à jour/insérées durant une journée. Si vous modifiez/ajoutez plus de 10% de vos données actuelles dans vos tables, Oracle conseille de mettre une valeur grande. Sinon, une valeur de 2 suffira.
OPTIMIZER_INDEX_CACHING
Détermine en pourcentage de nombre de blocs d’index auxquels l’Optimizer peut s’attendre dans le cache.
Rang de valeur : 0 – 100
Valeur par défaut : 0
Valeur recommandée pour l’OLTP : 0
OPTIMIZER_SECURE_VIEW_MERGING
Existe seulement en 10G
Permet d’autoriser ou pas l’Optimizer à vérifier si la vue viole des règles de sécurité.
Rang de valeur : True, False
Valeur par défaut : True
Valeur recommandée pour l’OLTP : False
OPTIMIZER_INDEX_COST_ADJ
Ajuste le coût de parcours d’un index contre un Full Scan. Plus la valeur est petite, plus l’optimiseur est enclin à choisir un index dans le plan d’exécution.
Rang de valeur : 1 – 10 000
Valeur par défaut : 100
Valeur recommandée pour l’OLTP : 100
OPTIMIZER_FEATURES_ENABLE
Permet de forcer l’exécution du noyau comme il était dans une certaine version d’Oracle. Par exemple, si ce paramètre vaut 8.0.6, l’optimizer exécutera la requête comme sur une instance Oracle 8.0.6.
Rang de valeur : Tous les numéros de versions Oracle
Valeur par défaut : Numéro de version d’Oracle
Valeur recommandée pour l’OLTP : Valeur par défaut
OPTIMIZER_PERCENT_PARALLEL
Obsolète en 10G.
Plus la valeur est grande, plus l’Optimizer sera enclin à exécuter en parallèle des requêtes. Ce qui permet d’améliorer significativement les gros traitements, surtout les FULL TABLE SCAN. La valeur de 100 force l’Optimizer à exécuter constamment les requêtes en parallèles. Ce paramètre est surtout utile pour le datawarehousing. Il est plutôt conseillé de passer par des indexs en OLTP.
Rang de valeur : 0 – 100
Valeur par défaut : 0
Valeur recommandée pour l’OLTP : 100 / Nombre d’utilisateurs simultanés
OPTIMIZER_MAX_PERMUTATIONS
Seulement en 8i. Paramètre caché en 10G.
Restreint le nombre de permutations de tables que l’Optimizer va prendre en compte dans les requêtes avec des jointures.
Rang de valeur : 4 – 80 000
Valeur par défaut : 80 000
Valeur recommandée pour l’OLTP : < 1000