Email: service@parnassusdata.com 7 x 24 online support!

DUL an Oracle database scavenger tool

DUL an Oracle database scavenger tool

DUL an Oracle database scavenger tool

 

 

 

Sometimes something goes really wrong with a database or a filesystem, and suddenly the precious data can no longer be found, it looks gone. In most cases standard recovery procedures will solve the problem. In rare cases recovery also fails and all that is left are the broken damaged pieces. What most people do not realize is that the database or the filesystem is typically not wiped out, it is inaccessible, but most data is unharmed. DUL is a tool that is able to retrieve the remaining data from the smallest snippets that are still available. The smallest element accepted is an Oracle database block. It can work with corrupted files systems, ASM disk groups, parts of datafiles, it will use the dictionary if usable for DUL (even an older backup of the dictionary works most data is relative static). Most Oracle features supported. There is also functionality to mine damaged exp and expdp dumpfiles.

 

 

Help Needed or Questions?

 

Unsure how to proceed? Questions? Or do you have the feeling that not all data was recovered? That data was

missed out somehow? Feel free to ask and we will see what can be done.

There are various ways to get help:

 

service@parnassusdata.com

 

Most important features

RDBMS versions supported from as early as 6.0.34 up to the latest production software

Standalone program written in C

Platform independent, cross platform unloading fully supported

Output in SQL*Loader (stream or fixed record) or export format

DUL will not dump or crash however bad its input is

All normal datatypes including adt's, varrays and clobs, blobs, cfiles and bfiles

Direct reads of datafiles on asm, no asm instance needed

Unexp and unpump commands to recover data from corrupted dump files

Retrieve data from corrupt not mounted filesystems (scan device, create block index)

Parts of data files as small as a single block

Easy of configuration through datafile/disk header inspection

Recover data from an accidentally truncated table

 

 

Restrictions

11g secure file lobs are not supported yet.

Label security

Encryption

11g ASM with variable extent sizes and ASM striping support is available on request in a beta

Asm disks on exadata cells (no idea how to read those efficiently yet)

Complex types not supported in export_mode

The generated dump file in export_mode=true contains minimal create and insert statement to allow the

table to load, metadata not included.

 

 

Rdbms Internals Knowledge

For best results it is advised you have a good understanding of some rdbms internals. For instance rdbms

bootstrap process, dictionary contents, object id vs data object id, absolute and relative file numbers, extent maps in

segment headers, datafile headers, data block layout, kcbh header and trailer, table and row directory, row header.

DUL is only a tool, you will provide the solution. Any references to training material or source code will be listed on

the internals page .

Dumping and Patching

As DUL needs a very good understanding of block layout, it was a small step to add dumping (originally for

debugging), and from there it was easy to add data block patching. If you are going to patch you must realize that its

typically much harder in reality than you think it will be before you start. If you do not know how it should look like, if

you do not really understand what you are changing, do not even think about trying, but ask for assistance. Please do

not gamble with a customer database. You must never try to patch, do it in full confidence or not at all. If you still

want to know how to do it, read the dumping and patching page for tips.

 

 

Constant Improvement

Team Collaboration

DUL

As each new version of the rdbms brings tons of new feature, DUL is behind by nature. Some features are so

important that they will be added automatically, sometimes they are added on demand. Feel free to ask.

 

 

Other Wiki pages

my DUL ToDo List.

The WIKI suggests to have a shortcuts/links page.

Unloading a truncated table has a description of a complex unload of a truncated table.

unpump an expdp dump file

A block index is a feature to work with data on corrupted file systems or disk groups.

Operating System Dependent Parameters

newlines in SQL*Ldr mode and other loading issues

asm example tips and tricks

 

 

Change Log

 

DUL 10.2.0.5.3 fixed overflow in row count > 4G

DUL 10.2.0.5.2 improvements in unpump, salvage data from a problematic datapump dump file.

 

Trivia

The first versions only generated SQL*Loader output. Originally DUL meant Direct UnLoader as a counterpart of

SQL*Loader's direct load capability. But this name made the false impression of a tool designed for speed, and as

a result it was used in benchmarks against competitors, to show how quick we could unload data from a database.

As this was not in line with the intentions, the name was changed to Data recovery UnLoader. Today that has been shortened to Data UnLoader.

The name DUL is to be pronounced as dull, and yes that means boring. It is a kind of a twist, see it as a nom deguerre, a war name, a name taken in a dangerous situation.