Note de référence : comment diagnostiquer les erreurs FRM-41213 / REP-51002 / REP-178 avec Oracle Reports 10gR2 / 11g
S'APPLIQUE À : Oracle Reports Developer
Oracle Reports Developer - versions 10.1.2.0.2 à 11.1.2.2.0 [versions Oracle10g à 11g]
Les informations de ce document s'appliquent à toutes les plateformes.
OBJET : Oracle Reports 10.1.2.x ou Reports 11.1.1.x
Ce document explique comment diagnostiquer les erreurs FRM-41213 / REP-51002 / REP-178 avec Oracle Reports 10.1.2.x ou Reports 11.1.1.x
ÉTAPES DE DÉPANNAGE des erreurs FRM-41213 / REP-51002 / REP-178
Ces étapes s'appliquent à Oracle Reports 10.1.2.x ou Reports 11.1.1.x.
1. Vérifications de base
1.1 Le serveur Reports est-il démarré?
Pour les tests, démarrez le serveur Reports avec la fenêtre de console du serveur Reports (Reports Console Window) :
Un DISPLAY est nécessaire sous UNIX
N'indiquez pas le paramètre batch, ou indiquez batch=no dans la ligne de commande :
Système d'exploitation : Windows
Ligne de commande : rwserver server=repserver [batch=no]
Système d'exploitation : UNIX
Ligne de commande : rwserver.sh server=repserver [batch=no] &
La fenêtre de console du serveur Reports se présente ainsi :
Lorsque le serveur Reports autonome est configuré au moyen d'OPMN, vous pouvez vérifier son état avec la commande :
opmnctl status
Si le serveur Reports ne peut pas être démarré, activez sa trace :
Note 237301.1 Logging and Tracing in Reports 9.0.x / 10.1.2.x
Note 856664.1 Logging and Tracing in Reports 11g. A Quick Reference Guide
1.2 Les "Reports Clients" et le "Reports Server" utilisent-ils les mêmes caractéristiques de "Reports Discovery Service"?
Les "Reports Clients" peuvent être :
rwclient
rwservlet (la servlet Reports)
RUN_REPORT_OBJECT (la fonction intégrée d'Oracle Forms)
- Vérifiez que le même "Discovery Service" est utilisé : multicast ou namingservice
- Vérifiez que les mêmes canal / hôte et numéro de port sont utilisés
En 10.1.2.x , par défaut, le serveur Reports et les clients Reports utilisent le fichier ORACLE_HOME\reports\conf\rwnetwork.conf.
En 11g, l'emplacement de rwnetwork.conf a changé :
· Note 1083666.1 Location Of Different Reports Configuration Files in Fusion Middleware Forms and Reports 11.1.1.1 and 11.1.1.2 Installations
· Oracle Fusion Middleware Publishing Reports to the Web with Oracle Reports Services
11g Release 1 (11.1.1)
8.1 Oracle Reports Services Configuration Files
Il est possible d'utiliser un autre fichier de configuration du service de découverte ("Discovery Service Configuration File") :
Serveur Reports : balise networkConfig dans le fichier de configuration du serveur Reports ("Reports Server Configuration File") :
Servlet Reports : attribut REPORTS_NETWORK_CONFIG dans le fichier de configuration de la servlet Reports ("Reports Servlet Configuration file", rwservlet.properties) :
REPORTS_NETWORK_CONFIG=rwnetwork2.conf
Clients Reports (rwclient / RUN_REPORT_OBJECT) : variable d'environnement REPORTS_NETWORK_CONFIG :
Exemple sous Windows :
set REPORTS_NETWORK_CONFIG=rwnetwork2.conf
rwclient server=repserver report=test destype=cache desformat=HTML
Exemple sous UNIX :
export REPORTS_NETWORK_CONFIG=rwnetwork2.conf
rwclient.sh server=repserver report=test destype=cache desformat=HTML
Étape 1 : trouvez le "Discovery Service Configuration File" utilisé par le serveur Reports / le client Reports
Étape 2 : comparez les caractéristiques du service de découverte configuré dans le "Discovery Service Configuration File"
Si vous voulez copier le fichier rwnetwork.conf pour être certain d'utiliser la même configuration sur les "clients" et le "serveur", prenez soin de mettre à jour le chemin du fichier rwserverconf.dtd :
Note 458347.1 Reports Server Configuration File Changes Are Not Taken Into Account The File Is Overwritten Silently:
1.3 Le fichier rwnetwork.conf est-il correct?
Si le fichier rwnetwork.conf contient une erreur, un journal est généré dans ORACLE_HOME\reports\log\rwnetwork.log
=> Vérifiez si un fichier rwnetwork.log existe dans ORACLE_HOME\reports\log
S'il existe, examinez l'erreur et corrigez le fichier rwnetwork.conf.
Exemple d'erreur signalée dans rwnetwork.conf :
Exception logged at :Tue Oct 02 13:17:34 CEST 2007
XML Parse exception :End tag does not match start tag 'multicast'.
At Line :6 :Column :19
XML Parse exception :Unexpected EOF.
At Line :7 :Column :1
---------- End Of message -----------
Note 369557.1 How to resolve java exceptions when using "rwdiag" with COS naming service?
L'utilitaire rwdiag permet de vérifier la validité du fichier rwnetwork.conf. Une exception est renvoyée si le fichier rwnetwork.conf n'est pas correct.
Exemple :
D:\oracle\ods1012\BIN>rwdiag -findall
Exception in thread "main" oracle.reports.RWException: IDL:oracle/reports/RWException:1.0
at oracle.reports.utility.Utility.newRWException(Utility.java:758)
at oracle.reports.utility.Utility.newRWException(Utility.java:771)
at oracle.reports.comm.NetworkConfig.open(NetworkConfig.java:168)
at oracle.reports.utility.DiagServerLocator.readConfigFile(DiagServerLocator.java:97)
at oracle.reports.utility.DiagServerLocator.init(DiagServerLocator.java:90)
at oracle.reports.utility.DiagServerLocator.locateServer(DiagServerLocator.java:154)
at oracle.reports.utility.DiagServerLocator.handleRequest(DiagServerLocator.java:546)
at oracle.reports.utility.DiagServerLocator.main(DiagServerLocator.java:566)
D:\oracle\ods1012\BIN>
Lorsque le fichier rwnetwork.conf est correct, rwdiag affiche :
le "Discovery Service" utilisé : multicast (mécanisme de diffusion) ou namingservice
les caractéristiques du "Discovery Service"
Exemples :
Multicast :
D:\oracle\ods1012\BIN>rwdiag -findall
Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port = 14022
REP-50503 No server found in the network
D:\oracle\ods1012\BIN>
NamingService :
D:\oracle\ods1012\BIN>rwdiag -findall
Naming service used to locate servers
-------------------------------------
Naming Server host = 10.133.215.69
Naming Server port = 14022
REP-50503 No server found in the network
D:\oracle\ods1012\BIN>
2. Le problème est-il permanent ou intermittent?
2.1 Problème permanent
Le problème se produit-il pour TOUS les clients Reports (rwclient, rwservlet et RUN_REPORT_OBJECT) ou pour un seul (RUN_REPORT_OBJECT, par exemple)?
2.1.1 Le problème se produit pour tous les "Reports Clients"
Vérifiez si le problème se produit avec les deux "Discovery Service" (Multicast et Namingservice)
Note 337619.1 How to Switch Between Multicast and NamingService in Reports 10.1.2
2.1.2 Le problème ne se produit que pour certains "Reports Clients"
Utilisez les notes suivantes pour générer une trace :
RUN_REPORT_OBJECT
Note 291955.1 Diagnosis Test Form For Easy Debugging of FRM-41213 Error (9.0.x - 10.1.2)
Note 880823.1 Diagnosis Test Form for Easy Debugging of FRM-41213 Error (11g)
rwclient / rwservlet
Note non publiée 456859.1 : Interactions Between Report Server/Clients and NamingService How to Generate a trace.
La note ci-dessus a une diffusion restreinte, car elle porte sur du traçage de bas niveau. Son contenu n'est accessible que sur demande au support Oracle
2.1.3 Le serveur Reports est "trouvé" par rwdiag, mais pas par les "Reports Clients"
Note 436465.1 rwclient fails with REP-178 even if the Reports server is found by rwdiag -findall
2.1.4 Un pare-feu est-il configuré?
Note 415407.1 REP-51002 when Accessing Reports Server, but it is up and Ready per Trace Files
2.1.5 Sous UNIX, vérifiez le chemin des bibliothèques (Library PATH)
Le répertoire $ORACLE_HOME/lib32 doit figurer avant $ORACLE_HOME/lib dans le "Library PATH"
SE : AIX
Variable d'environnement : LIBPATH
SE : HP-UX
Variable d'environnement : SHLIB_PATH
SE : Linux, Solaris et Tru64 UNIX
Variable d'environnement : LD_LIBRARY_PATH
2.1.6 Réglez la propriété JVM "java.net.preferIPv4Stack" à "true" pour la JVM du client Reports ("Reports Client JVM")
Cette propriété JVM peut être définie au moyen de la variable d'environnement _JAVA_OPTIONS (Sun , Linux, Windows) ou IBM_JAVA_OPTIONS (AIX)
Exemples (Sun , Linux, Windows) :
export _JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true
Exemple (AIX)
export IBM_JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true
Pour Oracle Forms / la fonction intégrée RUN_REPORT_OBJECT, définissez cette variable dans l'envFile.
2.2 Problème intermittent
2.2.1- Multicast
Un problème intermittent avec multicast peut être lié à la valeur de délai d'expiration (timeout) définie dans le "Discovery Service Configuration File"
- Utilisez rwdiag avec l'option monitor pour journaliser tous les paquets envoyés sur le canal multicast ("Multicast channel")
D:\oracle\ods1012\BIN>rwdiag -monitor
Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port = 14022
Request Packet -
ServerName = repserver
CorrelationID = 1191838995183
SenderID = client
Duplicate = false
Type = FULL
------------- **** ---------------
Response Packet -
ServerName = repserver
CorrelationID = 1191838995183
SenderID = ServerName: repserverVMID: 121bbbd17e7cfe80:19d75ee:1157ef932d7:
-8000
Duplicate = false
Type = FULL
Add. Info = Type = server : Host = localhost.fr.oracle.com
------------- **** ---------------
Vérifiez si un "Response Packet" est renvoyé après le "Request Packet"
- Augmentez la valeur du délai d'expiration
2.2.2 Naming Service
Si le namingservice est utilisé, vérifiez qu'il ne plante pas de temps à autre
(En cas de plantage, il est redémarré automatiquement, mais pendant un court moment,
les erreurs FRM-41213 / REP-51002 / REP-178 peuvent être renvoyées)
- Le namingservice peut être "intégré" à opmn . Il sera alors redémarré automatiquement en cas de plantage.
Note 367567.1 How To Integrate Naming Service With OPMN?
Qui contacter pour plus d'information?
Pour plus d'information, communiquez avec la gestion de produits (Product Management) ou avec le support Oracle.