19 janvier 2019

Générer la trace 10053 du CBO : quelques pièges à éviter - Generate trace 10053 of the CBO: some pitfalls to avoid

  IntroductionCet article ne décrit pas comment lire la trace 10053, d'autres sites ont déjà traité le sujet. En revanche la génération de cette trace révèle quelques pièges et c'est de cela dont je veux parler puisque ces sites font en général l'impasse dessus.  Points d'attentionAucun. Base de testsN'importe quelle base Oracle. Exemples============================================================================================Générer la trace : rôle DBA suffisant ou user SYS... [Lire la suite]
Posté par David DBA à 11:08 - - Permalien [#]
Tags : , ,

17 février 2018

Trace 10046 et base 12c CDB : ordres exécutés par Oracle lors d'un CREATE TABLE ? - Executed commands during a CREATE TABLE

IntroductionDans cet article "Quels sont les ordres exécutés par Oracle lors d'un CREATE TABLE ? Trace 10046 et base 12c non CDB", nous avons regardé quels ordres SQL Oracle exécutait lors d'un CREATE TABLE dans une base 12c non CDB. Maintenant, nous allons voir la même chose mais pour une base CDB. Je mettrais beaucoup moins de commentaires car ces ordres sont bien plus nombreux, certaines sont assez explicites (notamment quand Oracle donne le type des opérations) alors que d'autres restent totalement obscurs. Points... [Lire la suite]
Posté par David DBA à 22:36 - - Permalien [#]
Tags : ,
11 février 2018

Quels sont les ordres exécutés lors d'un CREATE TABLE ? Trace 10046 base 12c non CDB - Orders executed during a CREATE TABLE

IntroductionEst-ce que vous vous êtes déjà demandé ce que faisait réellement Oracle lors d'un ordre SQL? Quels sont les tests et contrôles internes qu'il effectue? Nous avons à notre disposition un très bon outil, la trace 10046, qui permet justement de voir ce travail effectué sous le capot. Dans cet article je vais examiner un ordre très basique, un CREATE TABLE d'une table avec une colonne, sans contrainte d'intégrité ni index, et en plus sur l'ancienne architecture Oracle, celle non PDB, pour avoir une trace plus simple. Points... [Lire la suite]
Posté par David DBA à 12:09 - - Permalien [#]
Tags : ,
03 février 2018

Plan d'exécution : utiliser une trace pour voir les sous-ordres SQL absents du plan - Use a trace to see the SQL sub-orders

IntroductionLorsqu'on doit optimiser une requête SQL, il arrive parfois qu'on ne comprenne absolument pas comment elle est exécutée par Oracle. Une requête qui devrait se dérouler en une seconde prend en réalité trente minutes sans que le plan d'exécution ne nous renseigne sur ce qui se passe. Dans ce cas là, pas d'hésitation, il faut impérativement utiliser une trace pour, comme son nom l'indique, tracer ce qui se passe réellement dans la base.L'objectif de cet article est donc de bien vous faire prendre conscience de ce phénomène :... [Lire la suite]
Posté par David DBA à 17:56 - - Permalien [#]
Tags : , , ,