===== 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 " auch eine andere Session auf die gleiche Weise analyisert werden. Um die PID zu ermitteln, kann das folgendes Script verwendet werden: [[http://orapowershell.codeplex.com/SourceControl/latest#sql/process.sql|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 [[dba:oracle_ora_600_im_log_erzeugen|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 [[dba:rac_internals#privat_ip_adress_vom_interconnect|Privat IP Adress vom Interconnect]] ---- ===NLS Trace in einer Session=== SQL> oradebug SETOSPID ; SQL> oradebug dump modified_parameters 1; Siehe auch [[dba:sqlnet_session_settings#trace_mit_ora_debug|NLS Trace in einer Session]] ---- ===Auditing in der DB mit OraDebug ausschalten=== * http://www.petefinnigan.com/weblog/archives/00001352.htm * http://www.soonerorlater.hu/download/hacktivity_lt_2011_en.pdf ---- ==== Quellen und weitere Informationen==== Allgemein: * http://tech.e2sn.com/oracle/troubleshooting/oradebug-doc * http://www.morganslibrary.org/reference/oradebug.html * http://www.orafaq.com/papers/oradebug.pdf