harddisk crashA time ago i was asked to take a look at a not more working PC, there were some hardware issues, and so i began to make a backup on the internal second harddrive.
Guess what happened... The second drive was corrupted, seems that there is a serious problem with the IDE Controller. So what now, two harddrives, two corrupted, backup corrupted (worst case). So i began to look for reocvery software. I googled a bit and there are several products out there, all of them have a "free" trial version, if you want to restore something they tell you, that you have to buy it. To pay for that software would be ok for me, but to pay and not to know if the data could be recovered is not something i like.
Until i came across TestDisk, a program from Christophe Grenier  it is released under GPL, and so i gave it a try.
It has a simple DOS-like interface, and did the recovery out of the box without any problems. That's the way software should work!
Dont forget to donate to Christophe!

Back at Reports Issues!

If you are getting "REP-1352: The fonts specified for this report cannot be found for the character set specified by NLS_LANG." and there seems nothing wrong with your NLS_LANG, take a look at your AFM file, in my case i simply transferred the AFM file by sftp from windows to linux, after applying dos2unix everything was fine.


oas10If you try to use barcodes in Oracle Reports there is a nice tutorial in the docu that can be found here. Basically it works by using a simple (and very old) java-bean (oraclebarcode.jar) that generates that you pass string and it generates the barcode (a graphic) that is displayed in the report.

In one step they tell you to set your REPORTS_CLASSPATH variable, so that Reports can find the java-class. It works fine on the local Reportsserver. What they don't mention, and what every time i am using it takes me hours is that you have to configure your "big" Reportsserver also, and that does not mean to simple set your REPORTS_CLASSPATH, no you have to change the config-file to include the classpath in every engine that is defined there. For example:


<engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1" maxEngine="1" 
minEngine="0" engLife="50" maxIdle="30" callbackTimeOut="90000" classPath="/barcode/oraclebarcode.jar" >

<engine id="rwURLEng" class="oracle.reports.urlengine.URLEngineImpl" initEngine="1" maxEngine="1"
minEngine="0" engLife="50" maxIdle="30" callbackTimeOut="60000" classPath="/barcode/oraclebarcode.jar" />



backupAs you probably know there are some issues with the Enterprise-Manager, today i came around some really ugly things. In my Test-Installation i am using Enterprise-Manager on Windows Server, and tried to write a RMAN-Job. When trying to start these jobs i get: "No rman found in c:\oracle\product\11.1.0/bin". In this error-messages there are several issues there is one slash "/" instead of a backslash "\" and the directory is NOT my Oracle-Home.

I installed the newest version of the agent, but it did not work either. So i tried a workaround. I simply wrote a batch-script that starts RMAN and a RMAN-Script with "rman @testscript.txt" in the script i use connect target to connect to the correct instance (not the best way but it works).

Next Error-Message: "Message file RMAN<>.msb not found". This time the ORACLE_HOME variable was not set. ORACLE_HOME on Windows? Isn't that a linux/unix-thing? YES.... normally in windows just the PATH-Variable is rewritten wenn changing Oracle-Homes, but in this case the management seems to rely that there is such an variable. So i simply added a SET ORACLE_HOME=C:\oracle\product\11.1.0\db_1 in my batch-script.

Now it seems to work properly Laughing, i hope they fixed it in the new Enterprise-Manager version already....

passwordIf you are getting a "ORA-1017: invalid username/password; logon denied" when creating a database link, and you ensured to enter the correct password, you probably try it against a 11g database version. In this version is a new feature the "case sensitivity rules". This statement worked from a 11g db to a 10g database, and threw a exception from 10g to 11g.

create public database link testdblink
connect to TESTUSER identified by 'testpw'
using 'test2db';

After using double-quotes it worked fine in every direction.

create public database link testdblink
connect to TESTUSER identified by "testpw"
using 'test2db';

Seems to be a bug or a feature....

If your resolv.conf gets overwritten in Debian after a reboot, and thats not wanted check if you have accidentially installed the package resolvconf. This package is a framework for exchanging name server information, used by several programs. In my case a simple "apt-get remove resolvconf " resolved Wink the problem.

I am currently testing my Amazon4PHP framework and was trying to analyze what items on Amazon are really worth to buy. You can find the results here. If you have any suggestions for the lists let me know. I am thinking on generating them on a regulary base for all Amazon-Sites. The lists here are from Amazon Germany and the Price is including the Austrian VAT of 20%. I was just able to include some Electronical stuff, i will work on a version for books and others

The framework is written in PHP and i am using the Amazon Web Services to retrieve the product-data. If you have any suggestions what would be a nice feature let me know!

The index-files with the links can also be found here: Index File to Amazon-Bestseller

xen_logoOn one of my xen-guests i got "4gb seg fixup" errors after upgrading from etch to lenny. Reason was that the libc6-xen library was not linked correctly. I fixed it with:

  • apt-get remove libc6-xen
  • reboot
  • apt-get  install libc6-xen
  • reboot

Last week i got the following error on a 10gR2 Database when using Views:

ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [__VInfreq__kxccres+1516] [PC:0x2FB0BE4] [ADDR:0xC] [UNABLE_TO_READ] []
alter system set _optimizer_join_elimination_enabled=false scope=both;

bug I ran into the bug Oracle Bug 5579055, the solution for this is documented in note 370701.1

It is solved when you turn a optimizer feature off with:

alter system set _optimizer_join_elimination_enabled=false scope=both;

debianAs before mentioned i am not a Linux-Pro but try to survive on Debian since a while. This time it took me some time to get a solution to this error message "C compiler cannot create executables."
Reason was that you have to install the build-packages for Debian. This can be done with

apt-get install build-essential make bin86

Last weekend used some Java Procedures in the database to read and parse files. When granting the permissions (done by the dbms_java package)

EXEC DBMS_JAVA.GRANT_PERMISSION( 'testdeveloper', 'SYS:java.io.FilePermission','/mnt/myhome/tesfiles/', 'read' );

I got this error:

ORA-29532: Java call terminated by uncaught Java exception:
oracle.aurora.vm.IdNotFoundException: -1 is not the number of a user or role
ORA-06512: at "SYS.DBMS_JAVA", line 313
ORA-06512: at line 1

Solution for this: just write the schema name in uppercase!Smile

EXEC DBMS_JAVA.GRANT_PERMISSION('TESTDEVELOPER','SYS:java.io.FilePermission','/mnt/myhome/tesfiles/', 'read' )


I was testing around with the Oracle Enterprise Manager, in the Console i found that the listener can't be configured error-message "Compute dynamic property takes too long". Reason was that the TNS_ADMIN (Windows, TWO_TASK Unix/Linux??)was set so that just one specific TNSNAMES.ORA file in "c:\oracle" could be used.

When configuring the listener the  listener.ora file was also placed in "c:\oracle", and EM could not handle the file in another directory than the default home. 

Solution was to delete TNS_ADMIN and put the listener file back to the home-directory, you could also recreate thel listener i think.