====== PL/SQL Debugging im ORDS ====== Manchmal ist es erforderlich den PL/SQL-Code samt Bind-Variablen zu sehen, der vom ORDS erzeugt wird, um einem Fehler auf die Spur zu kommen. Der ORDS bietet in seinen Einstellungen zwar eine DEBUG-Möglichkeit, diese schreibt aber nicht den PL/SQL-Code oder die Bind-Variablen in eine Protokolldatei. Diese Informationen bekommt man jedoch mit einer eigenen Logging-Konfiguration. # Log messages to file only handlers=java.util.logging.FileHandler # specify the log file name java.util.logging.FileHandler.pattern=/listener.log # Ensure the log file uses UTF-8 java.util.logging.FileHandler.encoding=UTF-8 # Log messages as plain text, rather than XML java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter # Set non Listener code to log errors only .level=SEVERE # Tell the File Handler to log ALL messages java.util.logging.FileHandler.level=ALL # Set Listener code to log all messages oracle.dbtools.level=FINEST Nun muss der ORDS noch die Information bekommen, dass es eine Konfiguraitonsdatei für das Logging gibt: java -Djava.util.logging.config.file=/logging.properties -jar ords.war Wird der ORDS innerhalb des Oracle WLS betrieben, so ist der Parameter in die Serverstart-Argumente einzutragen. Nach einem Neustart des ORDS werden alle Zugriffe und die generierten PL/SQL-Blöcke sowie die Übergabeparameter in das neue Log geschrieben. **Achtung!** Dieses Log wird sehr schnell sehr groß und darf daher nicht im regulären Betrieb geschrieben werden. Anderenfalls muss man sich nicht wundern, wenn die Platte sehr schnell voll ist. Das Log wird bei jedem Neustart des ORDS überschrieben!