Een traceringsbewerking schrijft specifieke SQL-instructies naar het besturingssysteembestand, evenals de bijbehorende informatie (queryplannen en wachtende gebeurtenissen) die wordt uitgevoerd terwijl het script wordt uitgevoerd. U kunt elke willekeurige sessie in de Oracle-database traceren.
instructies:
Stap 1
Voordat u begint met traceren, moet u het verzamelen van statistieken inschakelen, anders verschijnen er bestanden met nul keer. Om dit te doen, moet u de volgende query uitvoeren: alter system set timed_statistics = true Als u in de huidige sessie moet beginnen met traceren, moet de systeemparameter worden vervangen door session.
Stap 2
Controleer of het kenmerk voor de maximale dumpbestandsgrootte is ingesteld op een voldoende waarde. Voer hiervoor de bijbehorende SQL-query uit: SELECT value FROM v $ param p WHERE name = 'max_dump_file_size' De waarde van $ param kan zowel op databaseniveau (alter system) als op sessieniveau (alter session) worden ingesteld.
Stap 3
Identificeer vervolgens de sessie die moet worden getraceerd. Ontdek hiervoor de primaire waarden van de kolommen: SELECT sid, serial # from v $ system WHERE selection_criteria for_tracing
Stap 4
Om te beginnen met traceren, moet u gebeurtenis 1046 instellen in de bijbehorende sessie. Voer de procedure sys.dbms_system.set_ev uit en geef de verkregen sid- en seriële waarden door als integer-parameters: BEGIN sys.dbms_system.set_ev (sid, serial #, 10046, 8, ''); EINDE
Stap 5
Om tracering uit te schakelen, wijzigt u de waarde van het gebeurtenisniveau 10046 van 8 in 0.
Stap 6
Het traceringsbestand wordt weergegeven in de dumpmap van de Oracle-database (Oracle / admin / databaseSID / udump). De naam van dit bestand bevat de identifier van het OS-proces waarin de bewerking is uitgevoerd, en de extensie is.trc. Om de informatie in een leesbare vorm te verwerken, verwerkt u het traceerbestand in het hulpprogramma tkprof: cd C: ORACLEadmindatabaseSIDudump
tkprof file.trc output = my_file.prf Het verwerkte bestand zal alle commando's weergeven die tijdens de sessie zijn uitgevoerd.