Re: [log4plsql] Using Log4plsql with Oracle 9i/10g RAC
Brought to you by:
gmoulard
From: <log...@li...> - 2004-10-06 16:17:43
|
I see a couple of options for you, both of which would require some coding: 1. Since Log4J is thread safe, you could have one Java process that spawns a new Log4Plsql background process for each RAC node. These would all log to the same Log4J logger, which automatically can handle multiple threads logging at the same time. Log messages might be somewhat out of order, however, depending on Oracle pipe read performance and timing. This introduces a single point of logging failure, however - this single Java VM. 2. Log each RAC node with it's own Java process to its own log file, and have other code that searches/consolidates/reports on log data across all nodes. This may be fine, depending on log reporting needs - any single transaction may be limited to a single node, so finding the right log file may be enough. Each node has a single point of logging failure, however, which may not be acceptible. 3. Use a Java App Server cluster to read the Oracle log4Plsql pipe messages using J2EE facilities to manage processes listening to each Oracle RAC node (some custom combination of JMS and JNDI for instance), and passing log messages on to Log4J using it's JMS listener or something. This is obviously the most work, but would be the most fault tolerant. Whichever method is chosen, I would reccommend modifying Log4Plsql background process to read all pieces of the pipe message at once instead of reading each message field in a new JDBC round-trip. I've used a PL/SQL procedure with multiple OUT parameters to do this - make one PL/SQL call, and get back all the message fields in one call.=20 Much more efficient. Greg Woolsey Sabrix inc. On Wed, 6 Oct 2004 10:22:11 +0200, log...@li... <log...@li...> wrote: > Manish, >=20 > I'm sorry, is not possible for me to test in RAC environement. >=20 > I thinck is possible to connect one log4jbackgroud thread by node. I thni= ck > is possible to log en alert or trace file to. If you log in table you wil= l > create some performance problem. >=20 > In every case is necessary to test... >=20 > Regards > Guillaume Moulard >=20 > -----Message d'origine----- > De : log...@li... > [mailto:log...@li...] > Envoy=E9 : mardi 5 octobre 2004 19:35 > =C0 : log...@li... > Objet : [log4plsql] Using Log4plsql with Oracle 9i/10g RAC >=20 >=20 >=20 > Is it possible to use log4plsql utility in a Real > Application Cluster (RAC) environment? We would like > to send log messages to a file using log4jbackgroud > process. > We have a 3 node configuration and Oracle can run the > job on any node based on the load. Your documentation > says that log4jbackgroundprocess will open one thread > per logsource. If the pl/sql job and > log4jbackgroundprocess happen to connect to different > instace, they will not be able to talk to each other. > Oracle metalink note says that DBMS_PIPE is not > cluster aware. > Any comments. I guess we can always store the messages > in the table (even in RAC) but would like to avoid > this because of overhead. > Rgds, > manish >=20 > _______________________________________________ > Log4plsql-all-info mailing list > Log...@li... > https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info > log4plsq : http://log4plsql.sourceforge.net >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out mo= re > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Log4plsql-all-info mailing list > Log...@li... > https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info > log4plsq : http://log4plsql.sourceforge.net > |