DUDE (Database Unloading by Data Extraction) is a database unloader - it's able to bypass Oracle's database engine, extracting data directly at the block level.
This way, the database doesn't have to be up and running to unload data - what's more, DUDE is specifically designed to extract data when the database is down and/or corrupted.
It can be used for data that can not be retrieved any other way (even when you've lost your system tablespace). However, it should not be considered as a replacement for other Oracle utilities like sql*plus or exp/imp. It should be used as a last resort to recover your data, when everything else fails.
DUDE was also known as jDUL. jDUL refers to Oracle DUL (Data Unloader).
DUDE basically offers the same functionality as DUL in a multi-platform java environment.DUDE is a standalone java program - and therefore can be run on every platform supporting java (1.4.x or higher is recommended).
DUDE is available as a service or as a product.
In most cases, loss of service can be fatal for a business - therefore, DUDE is also available as a product. This way, no valuable time is lost getting a consultant on-site, or uploading datafiles. This option can - for example - be used for databases that contain sensitive data (credit card numbers, medical patient files) that should never leave your server.
A limited 'proof of concept' version is available on request.
Get started now !
jDUL/DUDE v 2.8.4 currently supports :
- supports Oracle RDBMS versions 7, 8.0, 8i, 9i,10g and 11g
- creation of blockmap
- recreation of the Oracle dictionary
- autodetection of file number and blocksize of datafiles
- performing a describe of tables
- extracting tables based on object id or tablename
- extratcing tables based on schema name
- extracting entire tablespaces
- extracting partitioned tables (including subpartitions)
- extracting PLSQL code (packages, procedures, functions, triggers, ...)
- generation of table DDL scripts
- generation of index DDL scripts
- generation of constraint DDL scripts
- generation of sequence DDL scripts
- generation of view DDL scripts
- heuristic scanning : in case of missing SYSTEM tablespace - tables, columns, and datatypes are guessed through sampling of datasets
- data can be extracted to :
- sql*loader flatfiles
- includes autogeneration of sql*loader controlfiles
- supports characterset encoding
- Oracle 8.0.5 compatible exp DMP files :
- multiple DMP file support (for filesystems with 2Gb limits)
- DMP files can be compressed on the fly in gzip format
- the 8.0.5 DMP's can be imported in 8.0.x, 8.1.x, 9.x.x, 10.x.x and 11.x.x database using the imp utility
- all major intel & unix platforms are supported : windows, linux, IBM AIX, Sun Solaris/SunOS, HPUX, Tru64, Open VMS (on alpha) , Novell
- datatypes supported : NUMBER, CHAR, VARCHAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, TIMESTAMP (+9i) , BINARY FLOAT, BINARY DOUBLE (+10g)
- LOB support :
- CLOB & BLOB support
- both dumping to DMP format and flatfiles supported
- support for enable storage in row inline LOBs
- support for enable storage in row out-of-line LOBs
- support for disable storage in row LOBs
- support for different chunk versions and sizes
- support for LOB partitions
- LOBs are only supported when SYSTEM is available
- SECUREFILE support :
- normal SECUREFILEs are currently ony supported in flatfile format
- IOT support :
- index only IOT's
- IOT's with overflow segments
- partitioned index only IOT's
- partitioned IOT's with overflow segments
- IOT's are only supported when SYSTEM is available
- supports Oracle RDBMS versions migrated using the mig utility
- supports Oracle 10g BIGFILE tablespaces
- cross-platform unloading : for example unloading AIX based datafiles on a Windows host
- Compressed table blocks 10g and 11g table compression (currently in beta)
- chained & migrated rows, trailing NULL columns, first free row index, intra-block chaining
- detection of physical block corruption and fractured blocks
- possibility to flag the block and/or skip the complete block or skip part of the block
DUDE v2.8.4 currently does not support :
- ASM support
- 11g encrypted/deduplicated/compressed securefiles
- complex datatypes like VARRAY and Nested tables
What can be recovered :
- Inconsistent restores/recoveries or any situation preventing your datase from opening, like missing archivelogs
- mismatch of backups due to faulty tape rotation
- corruption of data dictionary or bootstrap objects
- the loss of system tablespace : in case of a missing data dictionary, a heuristic scanner will examine the data and will try to determine datatypes and columns
- orphaned datafiles : same as the loss of the system tablespace, even if you only have one datafile left - data can be extracted
- dropped tablespaces : if the datafiles still exist, data can be recovered
- dropped tables : freeze the application/database and make a copy of the affected datafile(s) immediately to improve chances of recovery
- truncated tables : is basically the same as dropped tables
- dropped columns
DUDE is not an alternative for Oracle exp or SQL*Plus utilities. You should only use DUDE when :
- you’re unable to open the database using standard restore and recovery techniques
- you're unable to open the database using non-standard recovery techniques (use of hidden parameters - _allow_..._corruption)
- Oracle Support tells you the database is death, gone, kapot, cassé, tod, roto - but data can be recovered using a DUL-like too l
- you accept the fact that there's NO guarantee - there's a reason why the database doesn't open anymore ! (this is true for all DUL-like tools)
How to get started ?