ORADEBUG – Oracle Utility

 oradebug iutility s especially useful when  things go very bad for example Database hangs,Due to ORA-00600 error your database is crashing frequently, Database just not responding (stop). With oradebug you can see very close view database engine. Oracle Customer support use the utility mainly to debug these issues. You should have sysdba privilege to run this utility.

 Main usage of this utility’s are :

– Suspension of intensive processes

– To find out information of shared memory and semaphores

– Wake up processeses

– enable or disable the SQL traces for another user’s session

–  closing of trace file to allow new one can be genrated

– Interanal structure manipulation and dumping

 oradebug commands:

 1) oradebug help

oradebug help <command name>

without command name argument all commands will be displayed

2)  Debug current process

oradebug setmypid

 3) Set OS process id of process  to debug

oradebug setospid <ospid>

4)  Set Oracle pid of process to debug:

 oradebug setorapid <orapid> [‘force’]

Force :Force process

5) For Various Dumps

 oradebug dump

 6) Set trace event in process

oradebug event <text>

text => event name

7) Set trace event in session

 oradebug session_event <text>

text => event_name

8) Print/Dump a fixed PGA/SGA/UGA variable

oradebug dumpvar <pls|uga> <name> [level]

plsuga => PGA/SGA/UGA

name=> variable name

level=> Level

9) Modify a fixed PGA/SGA/UGA variable

 oradebug setvar <pls|uga> <name> <value>

 pls|uga => PGA/SGA/UGA

name=> variable name

value => Variable’s new value

 10) Memory address to a trace file  will be dump by this command which can be found in user dump destination.

oradebug peek <addr> <len> [level]

addr=>memory address

len=> length

level=>level

11) Modify memory

oradebug poke <addr> <len> <value>

addr=> memory address

len=> length

value=> value

12) Wake up Process

oradebug wakeup <orapid>

orapid=>oracle PID

13) oradebug command allows you to suspend a process. first you need to identify  the shadow process that you want to suspend. Then set your debugs session to point  to that process.

oradebug suspend

14) Resume Suspended process..

oradebug resume

15) Flush pending writes to trace file.

oradebug flush

16) Close the Trace file

oradebug close_trace

17) Get name of the Trace file

oradebug tracefile-name

18) The lkdebug and nsdbx are utilities within the oradebug utlity. They are intented for OPS/RAC.

SQL>oradebug lkdebug help

SQL>oradebug nsdbx help

19) Parallel oradebug command prefix

a) oradebug -G <inst-List|def |all>

Inst-List=> Instance List

def=> Default

all=> All instances

b) oradebug -R <inst-List | def|all>

Parameters discussed above are same in this command too.

20) Set Instance/instances

oradebug setinst

21) Dump SGA to file

oradebug  sgatofile <SGA dump dir>

SGA dump dir=>SGA Directory name in double quotes

22) Dump and map SGA as COW (Copy On Write)

oradebug dmpcowsga <SGA dump dir>

SGA dump dir=>SGA Directory name in double quotes

23) Dump and map SGA as COW (Copy On Write). Shared (cow) where cow stand for ‘Copy On Write’ is memory that will

write through  the cache into real memory.

oradebug mappcowsga <SGA dump dir>

SGA dump dir=>SGA Directory name in double quotes

24) Analyze System hang

oradebug hanganalyze <level>

25) Flash Freeze  the Instance

oradebug ffbegin

26) Flash Freeze deregister instance from cluster

oradebug ffderegister

27) Call exit and terminate instance

oradebug ffterminst

28) Resume the flash frozen instance

oradebug ffresumeinst

 29)  Flash Freeze  status of instance

oradebug ffstatus

30) Help translate PCs to names

oradebug skdsttpcs <ifname>  <ofname>

ifname=> File name

31) Watch a region of memory

oradebug watch <address> <len> <self|exist|all|target>

32) Delete a watchpoint

oradebug delete <local|global|target> watchpoint <id>

33) Show watchpoints

oradebug show <local| global|target> watchpoints

34) Dump core without crashing process

oradebug core

35)  List semaphores and shared memory segments in use. Set process id  before using it. Also this option shows which network is oracle using for RAC traffic.

oradebug ipc

36)Remove the file size limit. Useful when need  trace file larger  then size specified by max_dump_size parameter.

oradebug unlimit

37) Dump process statistics

oradebug procstat

38) Invoke function with arguments

 ordebug call <func> [arg1]…[argn]

func=> function name

[arg1]…[argn]=> Function Arugment[s]

39) Invoke named dump

oradebug dump <dump_name> <level> <addr>

40) Dump of all state objects  for all processes  on the system

oradebug dump systemstate

41) Dump of all state objects for process

 oradebug  dump processstate

42) Dump of the process call stack and other information

oradebug dump errorstack  <level>

43) The contents  of the current controlfile  can be dumped  in text  form to a process trace file  in the usre_dump_dest directory using the CONTROLF dump

oradebug dump controlf <level>

44) Dump datafile headers

oradebug dump file_hdrs  <level>

 45)  To dump one block

alter system dump datafile  <file_number> block <block_id>;

To dump one or more data blocks

alter system dump datafile<file_number>  block min<first block> block max <last block>;

46) Dump redo headers

oradebug dump redohdr <level>

47) Dump of buffer cache

oradebug dump buffers <level>

48) Dump library cache statistics

 oradebug dump  library_cache <level>

49)  Dump strucutre of memory heap

oradebug dump headdump_addr<level> <address>

address=> Descriptor address

50) Dump the strucutre of index tree. The dump file contains one line for each block in the tree, indented  to show its level,

together with a count of the number of index entries in the block.

oradebug dump treedump <object_id>

or

alter sesion set events ‘immediate  trace name treedump level n’;

This utlitiy is mainly use for resolving the database issues and give more information to a DBA.

Note: Please do not use these command without knowledge or consultationation with oracle support.

51)

About the Author Masroof Ahmad

Leave a Comment:

7 comments
Add Your Reply