xppSome years ago a colleague introduced a tool named XPLanner in our project. I was a little bit sceptic, because it's originally designed for agile develoment, not exactly i was used to. But after some days i noticed that it is a really good tool to keep an eye of your own tasks, and also to the tasks of your colleagues, that is for example important if you wait for some feature to finish to complete your own work.
I really liked it! But a while ago development stopped completely. A lot of people were waiting for a new version, there seem to be a lot of installations still out there. I also tried some other tools for XP or agile development, but i could not find anything comparable.
XPLanner is simple and fast. You need about ten  mins to explain somebody else how to use it.

Some weeks ago i came upon XPlanner+ that is a continuation of XPlanner. Maxim Chirkov seems to be the lead developer, and is doing a good job. I currently am trying to make it run on Debian, that is not that easy mainly because of my (the lack of) Tomcat-skills.
This project is really worth to keep an eye on!


And again a tomcat issue! If you ever get over


Cannot configure CacheManager: 
Could not set attribute "path"


in your logfiles, you have a permission problem on your tomcat-application-server. If you are in debian go to the directory /etc/tomcat5.5/policy.d/ choose the right file (system/debian/webapps/catalina/admin policy) and add following permission

permission java.util.PropertyPermission "java.io.tmpdir", "read";


After restarting your tomcat (/etc/init.d/tomcat5.5 restart on debian) this config issue should be gone.


I am trying to get an webapplication run on Debian. This application needs the sun-jdk not the GNU-jdk. Following is reproducable at will:

apt-get install sun-java6-jdk sun-java6-plugin
apt-get install tomcat5.5 tomcat5.5-admin

apt-get install tomcat5.5 tomcat5.5-admin
apt-get install sun-java6-jdk sun-java6-plugin

A does not install the gcj VM, B does install gcj + sun (that's fine)

i tried to make B choosing the sun-jdk by
update-alternatives --config java
update-alternatives --config javac
update-java-alternatives --set java-6-sun

when starting the tomcat-manager always java 1.5 is displayed
when removing apt-get remove java-gcj-compat
the manager is not able to run anymore

There seems to be an issue, when installing the tomcat without a sun-java-jdk (or jre) is present. I am investigating further.

patchToday i was looking for about an hour for the patch to upgrade my newly installed Oracle Developer Suite to It was hard to find, because Oracle renamed the product on the update page to "Oracle Fusion Middleware Family". Yell

If you wanna get it, here is the Patchset Number: 5983622.

LevienFontsAfter installing the new font (see previous post) we had another problem. It was a font that was not commonly used, so most of the clients did not have it installed on their PCs.
That means Adobe Reader tries to simulate the font by using MM fonts (see wikipedia for that). The result is awesome, almost the same without installing a font. But it's just almost the same. The customer wanted to have exactly the same one. So we had to decide if we want to use embedding or subsetting (differences are listed here).

We decided for the commonly used subsetting. Subsetting is easy in Oracle reports... most times.... You simply look for your uifont.ali file, edit it and put for example "testfont" = "testfont.ttf" in the [PDF:Subset] section. You can check if the font is embedded by looking in the properties of the generated pdf file.
In my case it did not work.

Reason was, that i took the entry "FontName" from afm file and not the "FamilyName" entry. That means not "testfont" = "testfont.ttf" its "testfontfamily" = "testfont.ttf"
Worked perfectly after reports server restart.

AmharicSampleShort time ago a customer wanted a "corporate identity" font in his report output files (pdf). Installing a new Font in Windows is easy, just copy the .TTF file to c:\windows\fonts and windows will take care of the rest. It's not so easy in Linux/Unix, the Oracle documentation is .... a lot, i counted 5 different sections in the documentation where they were talking about almost the same and there was no short howto. Here is a small cooking-recipe how to install a font on a Linux Reports-Server, i hope i did not forget anything, comments welcome.
  • Download a converter that is able to convert TTF files to Adope Type 1. I did it with ttf2pt1 for windows that can be downloaded here.
  • create the afm file for your font (f.e. c:\program......\gnuwin32\bin\ttf2pt1.exe .\testfont.ttf)
  • create a new directory on the linux reports-server.
  • copy your ttf and afm file in there.
  • change the file $ORACLE_HOME/bin/reports.sh so that it includes the new created directory with the font files
  • ! use dos2unix on the AFM file (f.e. dos2unix testfont.afm) so you can ensure your ftp did not change anything, this step costed me several hours.
  • copy the AFM file to $ORACLE_HOME/guicommon/tk/admin/AFM.
  • edit the printer file (in most circumstanceds screenprinter.ppd) $ORACLE_HOME/guicommon/tk/admin/PPD and add the new font in the *Font section for example: *Font testfont Standard '(00.1001)" Standard ROM !ensure that the font name is the same as the one of the FontName entry in the AFM-file.
  • restart the reports server (by using "opmnctl stopall" and "opmnctl startall"
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.