""  
     
    ""
"" "" ""
  ""  
  ""  
  ""  
  ""  
  ""  
  ""  
  ""  
  ""  
  ""  

Find belastende SQL - også selv om der ikke er brugt bindvariable
(script: highload.sql)

Det er ganske simpelt at søge i library cachen (V$SQL) efter de SQL-sætninger, der udgør den største belastning af databasen.
Imidlertid forudsætter den simple anvendelse af V$SQL, at de
SQL-sætninger, som gentages mange gange, er lexikalsk identiske.

I fald en applikation ikke anvender bind-variable til de SQL-sætninger, som udføres ofte vil resultatet derfor normalt være, at disse sætninger ikke erkendes som betydende for databasens belastning.
Man kan derfor komme til at drage fejlagtige konklusioner om
belastningen på databasen og derfor komme til at tune “det forkerte”.

Siden Oracle9i har det været muligt at se de enkelte SQL-sætningers eksekveringsplan i V$SQL_PLAN.
Da Oracle endvidere beregner en hash værdi for eksekveringsplanen, kan de belastende SQL-sætninger findes, selv om applikationerne ikke anvender bind-variable.

highload scriptet udnytter denne facilitet (kolonnen “plan_hash_value” i V$SQL), således, at der kan fås et billede af databasens belastning – også selv om applikationerne ikke anvender bind-variable.

Anvendelse fra SQL*Plus:

SQL> start highload

Kopier eller arkiver filen fra dette link highload.sql

    ""
   
   
     
""  
""    
   
Valid HTML 4.01 Transitional