Roads ? - where we're going, we don't need roads ...
Frequently Asked Questions - troubleshooting | ORA600
ORA600 content Content RSS
Oracle ORA600 News RRSS Oracle News RSS
ORA600 blog Blog RSS
ORA600 blog Blog Atom

User login

Frequently Asked Questions - troubleshooting


 

If you are getting the following errorstack :

Error reading from command line...java.lang.NullPointerException
java.lang.NullPointerException
        at java.lang.Throwable.printStackTrace(Throwable.java:508)

...

logWriter : I/O error closing file

Check your dude.cfg file and make sure that the parameter LOG_FILE only specifies a filename. The full path is defined by LOG_DIR/LOG_FILE.

Example :

LOG_FILE = "/mnt/u03/orarestore/dude.log"

should be

LOG_FILE="dude.log"

Increase the sqlldr readsize parameter - default  readsize=1048576

 

 

When you encounter the following error while import using imp :

IMP-00020: long column too large for column buffer size (22)

IMP-00028: partial import of previous table rolled back: 36972 rows rolled back

Import terminated successfully with warnings.

 

Check the dude.log for this table - check if there were 'Fractured block' warnings while dump the table.

If so, the block is corrupted - either :

- dump to flatfile - load using sqlldr. sqlldr will skip the corrupted rows and load the rest of the data

- set SKIP_FRACTURED_BLOCK="true" - and redump to dmp. This will skip the complete block, losing more data, but resulting in a correct DMP file

 

 

 

set NLS_LANG=American_America. (for example export NLS_LANG=American_America.WE8ISO8859P1 ) or set NLS_LANGUAGE=American before loading.
When you are in the situation where you've lost your system tablespace, you need scan for table segments. This is based on sampling data and as such we need specify the SAMPLE_LIMIT and SAMPLE_SIZE parameters in the tablespace section of dude.cfg. Add : SAMPLE_SIZE="100" ; SAMPLE_LIMIT="100" ;

This is most probably due because you're using a java vm which version is lower than the java compiler used to compile the java source. As of DUDE version 2.8.x, you'll need a java 1.4.x (or higher) environment.

 

 

Be sure you are not using gnu java. Typically, when you type 'java' at the prompt and you get the following response :

>java
Usage: gij [OPTION] ... CLASS [ARGS] ...
          to invoke CLASS.main, or
       gij -jar [OPTION] ... JARFILE [ARGS] ...
          to execute a jar file
Try `gij --help' for more information.

then you're using gnu java.

DUDE is not supported with gnu java ( http://gcc.gnu.org/java/ ) - please use a jre or jdk from Sun.

Toggle the ASSM parameter in the tablespace clause.

Most probably you defined your tablespace as ASSM=”true” but it was not created with “automatic segment space management”. (or vice versa)

Some tips : -

  • ASSM was introduced in 9i – so if you’re on 7,8.0 or 8i, always set ASSM=”false” (default)
  • SYSTEM never uses ASSM 
  • It’s not necessary to drop and recreate the blockmap of a tablespace after you've toggled ASSM

 

 

There can be many reasons for this of course.

  • ASCII mode FTP

Many people ftp their datafiles of their server to another machine. Make sure you use binary mode ftp.

In case of ASCII mode you see the following symptoms while blockmapping :

04-07-2007 13:50 : DUDE> Datafile C:\ORCL\system01.dbf : start reading blocks

...

04-07-2007 13:50 : DUDE> Datafile C:\ORCL\system01.dbf : reading blocks done !

04-07-2007 13:50 : DUDE> Block type 0 : 38230 blocks -> 305840Kb -> 54%

04-07-2007 13:50 : DUDE> Block type 1 : 1474 blocks -> 11792Kb -> 2%

04-07-2007 13:50 : DUDE> Block type 2 : 1709 blocks -> 13672Kb -> 2%

04-07-2007 13:50 : DUDE> Block type 3 : 760 blocks -> 6080Kb -> 1%

04-07-2007 13:50 : DUDE> Block type 4 : 912 blocks -> 7296Kb -> 1%

04-07-2007 13:50 : DUDE> Block type 5 : 369 blocks -> 2952Kb -> 1%

04-07-2007 13:50 : DUDE> Block type 6 : 612 blocks -> 4896Kb -> 1%

04-07-2007 13:50 : DUDE> Block type 7 : 352 blocks -> 2816Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 8 : 242 blocks -> 1936Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 9 : 218 blocks -> 1744Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 10 : 267 blocks -> 2136Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 11 : 147 blocks -> 1176Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 12 : 167 blocks -> 1336Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 13 : 383 blocks -> 3064Kb -> 1%

04-07-2007 13:50 : DUDE> Block type 14 : 133 blocks -> 1064Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 15 : 109 blocks -> 872Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 16 : 191 blocks -> 1528Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 17 : 159 blocks -> 1272Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 18 : 131 blocks -> 1048Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 19 : 105 blocks -> 840Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 20 : 204 blocks -> 1632Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 21 : 126 blocks -> 1008Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 22 : 124 blocks -> 992Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 23 : 105 blocks -> 840Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 24 : 117 blocks -> 936Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 25 : 154 blocks -> 1232Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 26 : 94 blocks -> 752Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 27 : 96 blocks -> 768Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 28 : 123 blocks -> 984Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 29 : 103 blocks -> 824Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 30 : 215 blocks -> 1720Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 31 : 126 blocks -> 1008Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 32 : 979 blocks -> 7832Kb -> 1%

04-07-2007 13:50 : DUDE> Block type 33 : 84 blocks -> 672Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 34 : 91 blocks -> 728Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 35 : 68 blocks -> 544Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 36 : 101 blocks -> 808Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 37 : 75 blocks -> 600Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 38 : 73 blocks -> 584Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 39 : 99 blocks -> 792Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 40 : 117 blocks -> 936Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 41 : 117 blocks -> 936Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 42 : 146 blocks -> 1168Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 43 : 116 blocks -> 928Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 44 : 248 blocks -> 1984Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 45 : 218 blocks -> 1744Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 46 : 109 blocks -> 872Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 47 : 328 blocks -> 2624Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 48 : 204 blocks -> 1632Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 49 : 132 blocks -> 1056Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 50 : 129 blocks -> 1032Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 51 : 97 blocks -> 776Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 52 : 102 blocks -> 816Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 53 : 101 blocks -> 808Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 54 : 106 blocks -> 848Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 55 : 96 blocks -> 768Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 56 : 112 blocks -> 896Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 57 : 97 blocks -> 776Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 58 : 70 blocks -> 560Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 59 : 90 blocks -> 720Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 60 : 71 blocks -> 568Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 61 : 111 blocks -> 888Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 62 : 59 blocks -> 472Kb -> 0%

04-07-2007 13:50 : DUDE> Block type 63 : 17874 blocks -> 142992Kb -> 25%

04-07-2007 13:50 : DUDE> Total Blocks scanned = 70677

04-07-2007 13:50 : DUDE> Please wait for output stream to finish ...

04-07-2007 13:50 : DUDE> Done !

What’s wrong with this picture ?

Well, normally you shouldn’t have 64 different blocktypes in a datafile. And you should have a reasonable amount of blocktype 0x06 blocks (which is the data you want). So if you see this while blockmapping … you’ve used ASCII mode ftp on your datafiles.

 

  • Not using Sun's JVM will also lead to symptoms as shown above - do not use gnu java (standard linux) or openjdk !!!

java --version

java version "1.4.2"

gij (GNU libgcj) version 4.1.2 20071124 (Red Hat 4.1.2-42) --->do not use gnu java !

 

  • Wrong PLATFORM parameter

If you’re lucky you’ll pick this one up while starting up DUDE as the file numbers resolve to something ridicules.

For example, the first datafile of SYSTEM has normally file# =1 (unless it’s an Oracle7 or migrated Oracle7). If this is not the case then maybe you have your PLATFORM set to a wrong value. Remember, it should be the platform where the database ran on – not where DUDE is currently running on. Now, if you continue blockmapping and then run the ‘dump dictionary’ command, a lot of errors will be spawned.

 

 

If DUDE still runs out of memory after setting the heapsize to 2Gb (maxium), then most probably you are dumping large LOB columns.  We define a large LOB as a LOB segment

larger then 1Gb.

If this is the case, you should switch on the parameter HUGE_LOB_SUPPORT.

Setting HUGE_LOB_SUPPORT=”true” in dude.cfg will turn on an on-disk-hashing algorithm for unloading lobs (as opposed to in-memory hashing).

The HUGE_LOB_SUPPORT was introduced after a case where DNA strands stored in LOBs had to be unloaded. The table contained - among others - 2 CLOBs columns, each being over 1Gb large.

 

 

This is a typical java exception when a program runs out of heap space.

Startup DUDE with a higher maximum heap size.

 

Example – startup with heapsize of 512Mb

Java –Xmx512m dude

 

 




Howto's
See DUDE primer for info

Get Support

Europe

Belgium :
Kurt Van Meerbeeck
ORA600 bvba
E-mail
dude@ora600.be
Cell : +32 495 580714

Denmark :
Michael Môller
Service & Support Manager
Miracle AS
E-mail :
hra@miracleas.dk
Cell: +45 53 74 71 27


North America

USA :
Tim Gorman
Evdbt Inc
E-mail
tim@evdbt.com
Cell : +1 303 885 4526

Canada :
Pythian
E-mail
dude@pythian.com
Contact


Latin America

Brazil :
HBtec
E-mail
dude@hbtec.com.br
Cell : +55 47 88497639
Contact


Africa

South Africa :
Kugendran Naidoo
NRG Consulting
E-mail
k@nrgc.co.za
Cell : +27 82 7799275


East Asia Pacific

Australia
Andre Araujo
Pythian Australia
E-mail
dude@pythian.com
Cell : +61 2 9191 7427 ext. 1270