Inhaltsverzeichnis
Mit OraDebug die Oracle Datenbank analysieren
11g/12c
Mit dem Oracle Werkzeug OraDebug ( integriert in SQL*Plus ) lassen sich die Oracle Datenbank Speicherstrukturen analysieren, Traces von Sessions und SQL Abfragen erzeugen und teilweise auch Werte in der SGA direkt modifizieren.
Starten / Online Hilfe
Oradebug starten mit SQL*Plus:
sqlplus / AS sysdba # ein Art online hilfe ausgeben: SQL>oradebug doc
Einsatz Zenarien
Was kann man nun dazu anfangen? Außer damit Unfug in der Datenbank anzurichten .-)
SQL Abarbeitung in der eigenen Session tracen
Neben dem dbms_monitor.session_trace_enable oder dbms_session.session_trace_enable kann auch mit oradbug ein Trace aktiviert werden:
sqlplus / AS sysdba -- Oradebug mit der eigenen Session verknüpfen SQL>oradebug setmypid -- Tracefile Größe einstellen SQL>oradebug unlimit -- Name der Trace Datei ermitteln SQL>oradebug tracefile_name -- Trace aktivieren SQL>oradebug event 10046 trace name context forever, level 12 -- ... SQL / PL/SQL ausführen -- -- Trace wieder deaktiveren SQL>oradebug event 10046 trace name context off
Ist die Process ID einer anderen Session bekannt, kann mit „oradebug setorapid <pid>“ auch eine andere Session auf die gleiche Weise analyisert werden.
Um die PID zu ermitteln, kann das folgendes Script verwendet werden: process.sql
oradebug - Meldungen im Alert Log erzeugen
sqlplus / AS sysdba oradebug unit_test dbke_test dde_flow_kge_soft foo bar baz
siehe auch Ora-600 Eintrag für Metrik Test Zwecke im Alert Log erzeugen
Dump IPC Informationen
Hier läßt sich unteranderen die private IP Adresse des Interconnect auslesen, falls RAC im Einsatz
SQL> oradebug setmypid SQL> oradebug ipc SQL> oradebug tracefile_name
IPC Dump alternativ aus dem OS auch mit dem Programm $ORCLE_HOME/bin/sysresv
siehe auch Privat IP Adress vom Interconnect
NLS Trace in einer Session
SQL> oradebug SETOSPID <os_pid>; SQL> oradebug dump modified_parameters 1;
Siehe auch NLS Trace in einer Session