Sunday, April 13, 2008

Troubleshooting the 404-not found error on XE

A few weeks ago, Patrick Wolf, Denes Kubicek and me held an advanced APEX training in Bensheim.

After the training, I helped someone from the class troubleshoot an APEX issue. He received a 404 error sporadically.

How do you find the database error which caused the Apache to show the 404-error?

Usually the error is found in the Apache error log. But you can also configure the mod_plsql to show more detailed information in the browser. This is very useful but should only used in development environments due to security reasons. Patrick wrote a nice blog posting about it.

But using Oracle Express Edition (XE) you don't have an Apache / mod_plsql configuration.
How do you find the errors here?

Since Oracle XE uses the http listener of the XMLDB, it needs to be configured through the DBMS_EPG interface. The documentation can be found here.

To see the error log similar to Apache, logon as SYSTEM via SQL*Plus and execute:

SQL>execute dbms_epg.set_global_attribute('log-level', 3);
The error log will go to the database trace file app/oracle/admin/XE/bdump/xe_s00?_????.trc.
Please ignore the bogus error message "Embedded PL/SQL Gateway: Unknown attribute 3" in the error log.

The log levels are:
0 - LOG_EMERG
1 - LOG_ALERT
2 - LOG_CRIT
3 - LOG_ERR
4 - LOG_WARNING
5 - LOG_NOTICE
6 - LOG_INFO
7 - LOG_DEBUG
To turn off the error logging, execute the following as SYSTEM:
SQL>execute dbms_epg.set_global_attribute('log-level', 0);
In order to show the error messages in the browser, you would configure parameter error-style using the DBMS_EPG.

Almost all parameters of the mod_plsql are configurable in the DBMS_EPG, too. They are just named differently (why?). You can find the mapping in the Oracle documentation.

So, how can we enable the debug style messages in XE. It is easy, just connect as SYSTEM to the database and issue the following command:
SQL>exec dbms_epg.set_dad_attribute('APEX', 'error-style', 'DebugStyle');
In order to revert to the standard message format, issue:
SQL>exec dbms_epg.delete_dad_attribute('APEX', 'error-style');
Then your browser will show the following error message instead of the standard 404-error page:


That's it.

Now I have shown how to configure the DAD for XE, but how can you see the current configuration? My next post will cover these instructions.

Regards,
~Dietmar.

Wednesday, April 09, 2008

APEX Advanced Training in Munich (02.06.2008 - 04.06.2008)

After the successful first training event in March we (Denes Kubicek, Patrick Wolf and Dietmar Aust) are happy to announce the second APEX Advanced Training in Munich. The class three day training (02.06.2008 - 04.06.2008) will be held in the Arabella Sheraton Westpark Hotel.

More detailed information follows in German:

Wir freuen uns, folgende Oracle Application Express (APEX) Schulung für Fortgeschrittene bekanntgeben zu können:

Oracle APEX: Fortgeschrittene Techniken aus der Praxis

Nutzen Sie das Wissen und die Erfahrung von
  • Patrick Wolf, langjähriger Oracle Veteran und Senior Solution Architect bei einer Wiener IT Firma, wurde erst kürzlich vom Oracle Magazin zum „Oracle APEX Developer of the year 2007“ ausgezeichnet. Er ist weiterhin ein Oracle ACE und Betreiber des bekannten Blogs Inside Oracle APEX

  • Dietmar Aust, erfahrener Oracle Consultant mit Spezialisierung auf Oracle Apex, aktiv in den OTN Foren zu Apex und Oracle XE, mit Präsentationen auf den letzten DOAG Veranstaltungen,

  • Denes Kubicek, langjährige Projekterfahrung in den Bereichen Oracle und ApEx mit multisite Applikationen und sehr bekannt im Oracle APEX OTN Forum für seine Beispielapplikation und

, um fortgeschrittene Techniken und Best Practice Vorgehensweisen aus vielen erfolgreichen Apex Projekten zu lernen.

Neben einer Fülle an Informationen, die wir in vielen erfolgreichen APEX Projekten erarbeitet haben, sind insbesondere die abendlichen Sessions (von 19:00-21:00) als Highlight zu nennen.

Dort stehen wir Ihnen für zusätzliche Hands-On Sessions zur Verfügung, um die Beispiele des Tages durchzuarbeiten oder auch, um konkrete Fragestellungen in Ihren aktuellen Projekten zu diskutieren.

Weitere Details zum Kurs sowie die Anmeldung finden Sie hier.

~Dietmar.