Image Image Image Image Image Image Image Image Image

2011 October



October 18, 2011

Introducing jiTree

October 18, 2011 | By | No Comments

I originally started work on jiTree as a way to improve my understanding of Oracle Indexes. Being a visual person, I often find that more complicated concepts are easier to master when I can see them visualised. So at it’s heart this is intended as an educational tool, to make understanding Oracle indexes more accessible.

A long term goal of the project is to improve the speed and accuracy of the visualisation to a degree where it can be used as a general purpose tool for investigating indexes, but whether this is practical (or can be accomplished in a browser) is not clear yet.
The key to jiTree
Using jiTree is simple. All you have to do is paste an Oracle Index Treedump into the box provided and hit the “Draw Index” button. Once drawn you can view and save an image of the visualisation by clicking the “View as Image” button at the bottom of the page.

Use jiTree



October 4, 2011

Oracle Index Tree Dump Visualisation

October 4, 2011 | By | No Comments

 Update: JiTree is an online tool for visualising your indexes.

I’ve been working on a Processing project to visualise Oracle Index Tree Dumps. This is a quick example of the progress. It’s still very much a work in progress, so there are problems to address.

For the test table I’m just copying the dba_objects view into a table.

SQL> select count(*) from dba_objects;


SQL> create table test_o as select * from dba_objects;

Table created.

SQL> create index test_o_idx on test_o(object_id);

Index created.

Next I get the treedump as follows:

SQL> select object_id
2 from dba_objects
3 where object_name = 'TEST_O_IDX';


SQL> alter session set events 'immediate trace name treedump level 71227';

Session altered.

Plugging the treedump into my visualisation tool (as I said, it’s a work in progress) gives this view. A very simple tree consisting of only a root node (red) and leaf nodes (clustered around the yellow core).

Now I delete 20000 rows from the test_o table:

SQL> delete from test_o where object_id between 40000 and 60000;

19565 rows deleted.

SQL> alter session set events 'immediate trace name treedump level 71227';

Loading the new treedump shows us where leaf nodes have been deleted.