Des rapports avec des PLX attachés provoquent des blocages ou plantages intermittents du Reports Server ou les erreurs REP-770 / REP-736 ..
S'applique à
Oracle Reports Developer - Version 10.1.2.0.2 à 11.1 [Release Oracle10g à 11g]
Les informations de ce document s'appliquent à toutes les plateformes.
Pertinence vérifiée le "03-mars-2013"
Symptômes
Par intermittence, des rapports se bloquent et restent en file d'attente. Si l'utilisateur les relance, ils fonctionnent parfois de nouveau. Le problème ne suit aucun schéma précis permettant de le reproduire. L'URL showjobs affiche simplement, dans "current jobs", le statut "Opening report". D'autres rapports échouent par intermittence avec l'erreur :
REP-770: One or more PL/SQL libraries have been modified since the report was saved.
The PL/SQL will be recompiled.
REP-0736: There exist uncompiled program unit(s).
REP-1247: Report contains uncompiled PL/SQL.
"Terminated with error: <br>REP-770: 'beforepform': Fatal PL/SQL error occurred. ORA-06508: PL/SQL: could not find program unit being called"
REP-770: There exist uncompiled program unit(s).
Soumettre de nouveau le même rapport avec les mêmes paramètres fonctionne parfois. Sinon, il faut arrêter et redémarrer le serveur de rapports.
Le problème n'est reproductible que dans l'environnement de production, où davantage de rapports sont exécutés par minute.
Cause
Actuellement, Reports 10g /11g ne prend pas en charge l'utilisation des fichiers .PLX, comme l'indique :
l'aide en ligne de Reports Builder. Par exemple, extrait de Reports 11g :
"PL/SQL conversion utility: Converting PL/SQL libraries attached to a report":
Note: This feature is included in the Report Compiler to create .PLX files for use with Forms. Currently, Reports does not support the use of .PLX files..."
Tous les rapports qui échouaient par intermittence utilisaient des bibliothèques attachées. Les fichiers PLL et PLX étaient TOUS DEUX accessibles dans la variable d'environnement REPORTS_PATH.
Si seul le PLX est accessible, les rapports devraient échouer systématiquement.
Solution
PLX NON pris en charge par Oracle Reports. Utilisez toujours les PLL.
1. Repérez les chemins déjà définis dans REPORTS_PATH.
a) La valeur attribuée à REPORTS_PATH peut être vérifiée en exécutant l'URL showenv :
http://host:port/reports/rwservlet/showenv?server=reports_server_name
b) Recherchez REPORTS_PATH dans les fichiers de configuration et le paramétrage. Les variables d'environnement sont généralement enregistrées dans les fichiers et emplacements suivants :
Unix 10gR2 :
Reports 10gR2:
$ORACLE_HOME/bin/reports.sh
or
$ORACLE_HOME/opmn/conf/opmn.xml
Reports 11g:
$ORACLE_INSTANCE/config/reports/bin/reports.sh
or
$ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml
Windows :
Specific for Reports 10gR2:
%ORACLE_HOME%\opmn\conf\opmn.xml
Specific for Reports 11g:
%ORACLE_INSTANCE%\bin\reports.bat
%ORACLE_INSTANCE%\config\OPMN\opmn\opmn.xml
For both releases:
Control Panel --> System --> Advanced --> Environment Variables
In regedit -> HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> <ORACLE_HOME>