FAQ
OC4J Process Architecture

1 year ago, management of the company I am working for decided to switch
all development projects to J2EE architecture (OC4J).

Within the year, we have running in many technical problems connected to
OC4J (stability hanging, java deadlocks, performance problems etc). We
have logged many (~10) long (100KB of text, 2-4 mount) TARs to Oracle
support. Generally there no many help from Oracle side. I have filling
there no strong competence from Oracle analyst�s side;(

We have learned a lot about OC4J architecture, parameters etc. during this
time (see information below). But at the moment I still have filling that
we are working in the dark, using black box method.

I will try to explain that I mean, by comparing Oracle Database & Oracle
OC4J.
There excellent documentation regarding Oracle Database architecture
(Oracle Concepts). There is good description about each Database process
PMON, SMON, etc, there is one process per connection (in dedicated
configuration), there is many diagnostic possibilities etc. If I have
performance issue with Oracle Database, first of all I will take a look on
TOP CPU consumers from OS respective, then I�ll go forward to Oracle
statistics or switching 10046 event etc.

As opposite, take a look on OC4J. There is no any information like
mentioned above regarding OC4J, not in Oracle documentation, not in the
Web;(. There is just one process, which represent OC4J from OS. If there
is performance issue with OC4J, we can�t say a lot regarding which
process/activity/piece of code takes CPU etc.

My question is:
- Do you know any good information source about OC4J architecture; there
will be described internals (processes, communications flows etc);

- Do you know good courses regarding this theme?
- Information about any related book is welcomed?
- Can you share you experience working on OC4J problems?

Thank you in advance,
Jurijs

I would like to share information that we have regarding OC4J architecture
(see below).

I.
Processes/Threads
As I mentioned above OC4J from OS looks like one process, which consume HW
resources. OC4J use threads architecture for endow concurrency. You can
see threads dump in the Java output (in $OH opmn/logs/.default_island.1 log file by default) by running
a)
kill �3
command (this is any java process behavior, I believe).
From dump we can see main threads list, as well as information about java
deadlocks if any.
b) Below is thread types list you can see in the java output by running
kill �3 command:
===
AJPConnectionListener [0.0.0.0/0.0.0.0:3001]
ApplicationServerThread-0
Finalizer
JMSServer
OC4JMonitorThread
Reference Handler
RMIServer [0.0.0.0/0.0.0.0:3101] count:2
Signal Dispatcher
Suspend Checker Thread
TaskManager
Thread
VM Periodic Task Thread
VM Thread
===
Unfortunately I don�t have information about algorithms of work and what
is responsibility of each type of thread, at the moment.
c) In addition there is garbage collector process.
There is many information in the Web regarding this type of process.
For example

http://java.sun.com/docs/hotspot/gc1.4.2
http://java.sun.com/docs/hotspot/gc1.4.2/faq.html
http://www.cons.org/cmucl/doc/gc-tuning.html

etc.
-verbose:gc parameter usage is helpful in diagnostic process.

II. The TOP parameters you need to look on is:
a)
File $OH/opmn/conf/opmn.xml
numProcs="1"

b)
File $OH/j2ee//config/server.xml

taskmanager-granularity="9000000"
transaction-config timeout="500000"
c)
File $OH/j2ee//config/oc4j.properties
If you use BC4J.

jbo.pers.max.active.nodes=1000
jbo.pers.max.rows.per.node=1000
jbo.doconnectionpooling=true
jbo.initpoolsize=1
jbo.maxpoolsize=550
jbo.poolminavailablesize=0
jbo.poolmaxavailablesize=600
jbo.poolmonitorsleepinterval=600000
jbo.poolmaxinactiveage=600000
jbo.ampool.initpoolsize=1
jbo.ampool.maxpoolsize=550
jbo.ampool.minavailablesize=0
jbo.ampool.maxavailablesize=100
jbo.ampool.monitorsleepinterval=600000
jbo.ampool.maxinactiveage=600000

Hope this information will help you.

Please see the official ORACLE-L FAQ: http://www.orafaq.com

To unsubscribe send email to: oracle-l-request_at_freelists.org
put 'unsubscribe' in the subject line.

--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Search Discussions

  • Nuno Souto at Jun 14, 2004 at 5:54 am
    Original Message --------
    Subject: Re: OC4J Process Architecture
    J.Velikanovs_at_alise.lv apparently said,on my timestamp of 14/06/2004 3:05 AM:
    Hope this information will help you.
    Yes it does. Thanks a lot for posting it, there is
    very little information about this library.

    There is a book out from Oracle Press, I think, that
    deals with JDeveloper in detail. Maybe you'd find some
    additional info there?
    http://tinyurl.com/234c6
    will take you to it.
    HTH.

    --
    Cheers
    Nuno Souto
    in sunny Sydney, Australia
    dbvision_at_optusnet.com.au
    ----------------------------------------------------------------
    Please see the official ORACLE-L FAQ: http://www.orafaq.com
    ----------------------------------------------------------------
    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.
    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------
  • Leslie Tierstein at Jun 14, 2004 at 8:43 am
    The tinyurl included points to the 9i JDeveloper Handbook, which is for the
    last version of the product. The JDeveloper 10g Handbook is also listed on
    Amazon, but isn't published yet. The publication date is early this fall,
    say, September.

    However, the 10g book doesn't contain much information about the internals
    of OC4J. (I'm one of the technical editors.) But the authors, I know, have
    encountered similar problems. You might try contacting Paul Dorsey directly
    (see his company's web site at http://www.dulcian.com) with specific
    questions. He is usually more than willing to offer advice.

    There is another book on Amazon about JDeveloper:
    Oracle JDeveloper 10G: Empowering J2EE Development

    One of the co-authors is Roel Stallman, who is the major Oracle evangelist
    (that may be his official job title) for JDeveloper. This book may contain
    more on the internals and architecture, although I haven't looked at it.

    Leslie
    Leslie Tierstein
    Senior Consultant
    Vision Chain, Inc.
    The first software to power the demand data network
    phone: 202-261-3549

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org
    On Behalf Of Nuno Souto
    Sent: Monday, June 14, 2004 6:58 AM
    To: oracle-l_at_freelists.org
    Subject: Re: OC4J Process Architecture

    Original Message --------
    Subject: Re: OC4J Process Architecture
    J.Velikanovs_at_alise.lv apparently said,on my timestamp of 14/06/2004 3:05 AM:
    Hope this information will help you.
    Yes it does. Thanks a lot for posting it, there is
    very little information about this library.

    There is a book out from Oracle Press, I think, that
    deals with JDeveloper in detail. Maybe you'd find some
    additional info there?
    http://tinyurl.com/234c6
    will take you to it.
    HTH.

    --
    Cheers
    Nuno Souto
    in sunny Sydney, Australia
    dbvision_at_optusnet.com.au

    ----------------------------------------------------------------
    Please see the official ORACLE-L FAQ: http://www.orafaq.com
    ----------------------------------------------------------------
    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.
    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------
  • J.Velikanovs_at_alise.lv at Jun 14, 2004 at 9:08 am
    Tank you for responce,

    Unfortunately I already have book you mention (9i JDeveloper Handbook);(
    There a little bit more information, but not so match, as I would like to;(.
    As I wrote, I will be indefinitely happy if it will be the information
    about OC4J like about RDBMS.
    Cary Millsap and others Oracle experts have written excellent books about
    Oracle wait interface and how to face performance issues. Unfortunately as
    far as I know, there no possibility to use R-Method or other response-time
    based performance-tuning method without written own code for debugging
    purposes.
    I am just DBA and you know, I have no big expense with Java programming.
    At the moment it looks like the good OC4J administrator will be Java top
    developer who perfectly know Java world.;(

    By my expense Looks like traditional DBA is unpowerful in many OC4J
    performance tuning situations.

    Jurijs
    9268222

    http://otn.oracle.com/ocm/jvelikanovs.html

    "Leslie Tierstein"
    14.06.2004 16:14


    To:
    cc:,
    Subject: RE: OC4J Process Architecture

    The tinyurl included points to the 9i JDeveloper Handbook, which is for
    the
    last version of the product. The JDeveloper 10g Handbook is also listed on
    Amazon, but isn't published yet. The publication date is early this fall,
    say, September.

    However, the 10g book doesn't contain much information about the internals
    of OC4J. (I'm one of the technical editors.) But the authors, I know, have
    encountered similar problems. You might try contacting Paul Dorsey
    directly
    (see his company's web site at http://www.dulcian.com) with specific
    questions. He is usually more than willing to offer advice.

    There is another book on Amazon about JDeveloper:
    Oracle JDeveloper 10G: Empowering J2EE Development

    One of the co-authors is Roel Stallman, who is the major Oracle evangelist
    (that may be his official job title) for JDeveloper. This book may contain
    more on the internals and architecture, although I haven't looked at it.

    Leslie
    Leslie Tierstein
    Senior Consultant
    Vision Chain, Inc.
    The first software to power the demand data network
    phone: 202-261-3549

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org
    On Behalf Of Nuno Souto
    Sent: Monday, June 14, 2004 6:58 AM
    To: oracle-l_at_freelists.org
    Subject: Re: OC4J Process Architecture

    Original Message --------
    Subject: Re: OC4J Process Architecture
    J.Velikanovs_at_alise.lv apparently said,on my timestamp of 14/06/2004 3:05
    AM:
    Hope this information will help you.
    Yes it does. Thanks a lot for posting it, there is
    very little information about this library.

    There is a book out from Oracle Press, I think, that
    deals with JDeveloper in detail. Maybe you'd find some
    additional info there?
    http://tinyurl.com/234c6
    will take you to it.
    HTH.

    --
    Cheers
    Nuno Souto
    in sunny Sydney, Australia
    dbvision_at_optusnet.com.au

    ----------------------------------------------------------------
    Please see the official ORACLE-L FAQ: http://www.orafaq.com
    ----------------------------------------------------------------
    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.
    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------
  • DENNIS WILLIAMS at Jun 14, 2004 at 9:31 am
    Jurijs

    You are correct that it would be great if someone documented everything
    you could ever want to know about OC4J. Since you don't seem to have that,
    there are a couple of other approaches you can take. Here are some ideas for
    you:

    You can execute your Java programs on a test system without other users
    and get some good traces to use with Cary's methods. If that doesn't expose
    the problems sufficiently, then you at least have gained some experience
    with the types of traces you will see so that if you decide you must turn on
    tracing on the production system you won't be totally bewildered.
    While it is nice to have the "heavy artillery" for solving problems,
    bear in mind that most problems are of a simpler nature and can be resolved
    without the more in-depth methods. Just keep in mind that if the problems
    don't seem to go away when you apply simple solutions, then you need to use
    more in-depth methods, rather than persisting in simplistic solutions.
    In my experience, few Java programmers are concerned with database
    issues. Usually their approach is to tell the DBA to "fix that". I think the
    DBA needs to learn something about Java and how it tends to interact with
    the database. Particularly if you use an Oracle product like OC4J, this will
    be viewed as a DBA issue.

    The key point is that in the end the performance problems must be understood
    so the organization can take steps to correct them. How to find the problems
    may require some study and ingenuity on your part. Don't give up!

    Dennis Williams
    DBA

    Lifetouch, Inc.
    dwilliams_at_lifetouch.com

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org On
    Behalf Of J.Velikanovs_at_alise.lv
    Sent: Monday, June 14, 2004 9:04 AM
    To: Leslie Tierstein
    Cc: dbvision_at_optusnet.com.au; oracle-l_at_freelists.org
    Subject: RE: OC4J Process Architecture

    Tank you for responce,

    Unfortunately I already have book you mention (9i JDeveloper Handbook);(
    There a little bit more information, but not so match, as I would like to;(.
    As I wrote, I will be indefinitely happy if it will be the information about
    OC4J like about RDBMS.
    Cary Millsap and others Oracle experts have written excellent books about
    Oracle wait interface and how to face performance issues. Unfortunately as
    far as I know, there no possibility to use R-Method or other response-time
    based performance-tuning method without written own code for debugging
    purposes.
    I am just DBA and you know, I have no big expense with Java programming.
    At the moment it looks like the good OC4J administrator will be Java top
    developer who perfectly know Java world.;(

    By my expense Looks like traditional DBA is unpowerful in many OC4J
    performance tuning situations.

    Jurijs
    9268222

    http://otn.oracle.com/ocm/jvelikanovs.html

    "Leslie Tierstein"

    14.06.2004 16:14

    To:
    cc:,
    Subject: RE: OC4J Process Architecture

    The tinyurl included points to the 9i JDeveloper Handbook, which is for the
    last version of the product. The JDeveloper 10g Handbook is also listed on
    Amazon, but isn't published yet. The publication date is early this fall,
    say, September.

    However, the 10g book doesn't contain much information about the internals
    of OC4J. (I'm one of the technical editors.) But the authors, I know, have
    encountered similar problems. You might try contacting Paul Dorsey directly
    (see his company's web site at http://www.dulcian.com) with specific
    questions. He is usually more than willing to offer advice.

    There is another book on Amazon about JDeveloper:
    Oracle JDeveloper 10G: Empowering J2EE Development

    One of the co-authors is Roel Stallman, who is the major Oracle evangelist
    (that may be his official job title) for JDeveloper. This book may contain
    more on the internals and architecture, although I haven't looked at it.

    Leslie
    Leslie Tierstein
    Senior Consultant
    Vision Chain, Inc.
    The first software to power the demand data network
    phone: 202-261-3549

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org
    On Behalf Of Nuno Souto
    Sent: Monday, June 14, 2004 6:58 AM
    To: oracle-l_at_freelists.org
    Subject: Re: OC4J Process Architecture

    Original Message --------
    Subject: Re: OC4J Process Architecture
    J.Velikanovs_at_alise.lv apparently said,on my timestamp of 14/06/2004 3:05 AM:
    Hope this information will help you.
    Yes it does. Thanks a lot for posting it, there is
    very little information about this library.

    There is a book out from Oracle Press, I think, that
    deals with JDeveloper in detail. Maybe you'd find some
    additional info there?
    http://tinyurl.com/234c6
    will take you to it.
    HTH.

    --
    Cheers
    Nuno Souto
    in sunny Sydney, Australia
    dbvision_at_optusnet.com.au

    ----------------------------------------------------------------
    Please see the official ORACLE-L FAQ: http://www.orafaq.com
    ----------------------------------------------------------------
    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.
    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------
  • J.Velikanovs_at_alise.lv at Jun 14, 2004 at 10:29 am
    DENNIS,

    Thank you for good words.
    I’ll take them in mind.
    execute your Java programs on a test system
    then you need to use more in-depth methods, rather than persisting in
    simplistic solutions
    Usually their approach is to tell the DBA to "fix that"
    We have here, just finished J2EE application in production.
    ~20-40 modules. Application written by 60-100 developers during 1 year.
    There are ~100 concurrent users works with different applications modules
    during working day.
    Quite difficult to emulate situations we have in productions (performance,
    deadlock etc.) in test environment using one user connection;). We are
    using Rational Robot for stress testing. But there still situations in
    productions that we are not able to reproduce in test environment.
    then you need to use more in-depth methods, rather than persisting in
    simplistic solutions
    I wouldn’t say we are fear from depth methods. I am ready to. But it seams
    the problem solver need to have dip knowledge about application code for
    successfully fighting with problems. DBA nowadays have many
    responsibilities and looks like dipper methods will take more time from
    daily duties.
    Usually their approach is to tell the DBA to "fix that"
    It look like you confirm my words.
    DBA need to work with OC4J as with BLACK BOX.
    “Developers telling to fix” and DBA fixing
    if “if the problems don't to go away “
    then call Developers for next loop and wait for next solution, without
    knowledge that happening inside of OC4J.

    Jurijs
    9268222

    http://otn.oracle.com/ocm/jvelikanovs.html

    DENNIS WILLIAMS
    Sent by: oracle-l-bounce_at_freelists.org
    14.06.2004 17:30
    Please respond to oracle-l


    To: "'oracle-l_at_freelists.org'"
    cc:
    Subject: RE: OC4J Process Architecture

    Jurijs
    You are correct that it would be great if someone documented

    everything
    you could ever want to know about OC4J. Since you don't seem to have that,
    there are a couple of other approaches you can take. Here are some ideas
    for
    you:

    You can execute your Java programs on a test system without other
    users
    and get some good traces to use with Cary's methods. If that doesn't
    expose
    the problems sufficiently, then you at least have gained some experience
    with the types of traces you will see so that if you decide you must turn
    on
    tracing on the production system you won't be totally bewildered.
    While it is nice to have the "heavy artillery" for solving problems,
    bear in mind that most problems are of a simpler nature and can be
    resolved
    without the more in-depth methods. Just keep in mind that if the problems
    don't seem to go away when you apply simple solutions, then you need to
    use
    more in-depth methods, rather than persisting in simplistic solutions.
    In my experience, few Java programmers are concerned with database
    issues. Usually their approach is to tell the DBA to "fix that". I think
    the
    DBA needs to learn something about Java and how it tends to interact with
    the database. Particularly if you use an Oracle product like OC4J, this
    will
    be viewed as a DBA issue.

    The key point is that in the end the performance problems must be
    understood
    so the organization can take steps to correct them. How to find the
    problems
    may require some study and ingenuity on your part. Don't give up!

    Dennis Williams
    DBA

    Lifetouch, Inc.
    dwilliams_at_lifetouch.com

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org
    On
    Behalf Of J.Velikanovs_at_alise.lv
    Sent: Monday, June 14, 2004 9:04 AM
    To: Leslie Tierstein
    Cc: dbvision_at_optusnet.com.au; oracle-l_at_freelists.org
    Subject: RE: OC4J Process Architecture

    Tank you for responce,

    Unfortunately I already have book you mention (9i JDeveloper Handbook);(

    There a little bit more information, but not so match, as I would like to;(.
    As I wrote, I will be indefinitely happy if it will be the information
    about
    OC4J like about RDBMS.
    Cary Millsap and others Oracle experts have written excellent books about
    Oracle wait interface and how to face performance issues. Unfortunately as
    far as I know, there no possibility to use R-Method or other response-time
    based performance-tuning method without written own code for debugging
    purposes.
    I am just DBA and you know, I have no big expense with Java programming.
    At the moment it looks like the good OC4J administrator will be Java top
    developer who perfectly know Java world.;(

    By my expense Looks like traditional DBA is unpowerful in many OC4J
    performance tuning situations.

    Jurijs
    9268222

    http://otn.oracle.com/ocm/jvelikanovs.html

    "Leslie Tierstein"

    14.06.2004 16:14



    To:
    cc:,
    Subject: RE: OC4J Process Architecture

    The tinyurl included points to the 9i JDeveloper Handbook, which is for
    the
    last version of the product. The JDeveloper 10g Handbook is also listed on
    Amazon, but isn't published yet. The publication date is early this fall,
    say, September.

    However, the 10g book doesn't contain much information about the internals
    of OC4J. (I'm one of the technical editors.) But the authors, I know, have
    encountered similar problems. You might try contacting Paul Dorsey
    directly
    (see his company's web site at http://www.dulcian.com) with specific
    questions. He is usually more than willing to offer advice.

    There is another book on Amazon about JDeveloper:
    Oracle JDeveloper 10G: Empowering J2EE Development

    One of the co-authors is Roel Stallman, who is the major Oracle evangelist
    (that may be his official job title) for JDeveloper. This book may contain
    more on the internals and architecture, although I haven't looked at it.

    Leslie
    Leslie Tierstein
    Senior Consultant
    Vision Chain, Inc.
    The first software to power the demand data network
    phone: 202-261-3549

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org
    On Behalf Of Nuno Souto
    Sent: Monday, June 14, 2004 6:58 AM
    To: oracle-l_at_freelists.org
    Subject: Re: OC4J Process Architecture

    Original Message --------
    Subject: Re: OC4J Process Architecture
    J.Velikanovs_at_alise.lv apparently said,on my timestamp of 14/06/2004 3:05
    AM:
    Hope this information will help you.
    Yes it does. Thanks a lot for posting it, there is
    very little information about this library.

    There is a book out from Oracle Press, I think, that
    deals with JDeveloper in detail. Maybe you'd find some
    additional info there?
    http://tinyurl.com/234c6
    will take you to it.
    HTH.

    --
    Cheers
    Nuno Souto
    in sunny Sydney, Australia
    dbvision_at_optusnet.com.au

    ----------------------------------------------------------------
    Please see the official ORACLE-L FAQ: http://www.orafaq.com
    ----------------------------------------------------------------
    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.
    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------

    ----------------------------------------------------------------
    Please see the official ORACLE-L FAQ: http://www.orafaq.com
    ----------------------------------------------------------------
    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.
    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------
  • Adrian Turner at Jun 14, 2004 at 2:32 pm
    Hi Jurijs,

    OC4J started out life as the Orion Application Server. Check out
    http://www.orionserver.com/ as there is a doc library there which is likely
    still valid.

    A good approach seems to be to build a repeatable install process using the
    automation tools (dcmctl and admin.jar). If you get a problem take a
    slash/burn/rebuild approach to the whole installation; this seems to solve a
    lot of corruption issues.

    After that, if you still get problems, do what we have and pay to have a
    technically current Oracle Corporation consultant onsite. A good one can
    pretty much spot a bug 50 hours before support will. His approach is
    normally to reverse engineer the code from the JAR files (actually anyone
    can), check the problem out himself and then tell support what needs fixing.
    At least you will know what you are dealing with if you can see the code.

    Kind Regards,
    Adrian

    -----Original Message-----
    From: oracle-l-bounce_at_freelists.org
    On Behalf Of J.Velikanovs_at_alise.lv
    Sent: 13 June 2004 18:05
    To: oracle-l_at_freelists.org
    Subject: OC4J Process Architecture

    OC4J Process Architecture

    1 year ago, management of the company I am working for decided to switch
    all development projects to J2EE architecture (OC4J).

    Within the year, we have running in many technical problems connected to
    OC4J (stability hanging, java deadlocks, performance problems etc). We have
    logged many (~10) long (100KB of text, 2-4 mount) TARs to Oracle support.
    Generally there no many help from Oracle side. I have filling there no
    strong competence from Oracle analyst’s side;(

    We have learned a lot about OC4J architecture, parameters etc. during this
    time (see information below). But at the moment I still have filling that we
    are working in the dark, using black box method.

    I will try to explain that I mean, by comparing Oracle Database & Oracle
    OC4J.
    There excellent documentation regarding Oracle Database architecture
    (Oracle Concepts). There is good description about each Database process
    PMON, SMON, etc, there is one process per connection (in dedicated
    configuration), there is many diagnostic possibilities etc. If I have
    performance issue with Oracle Database, first of all I will take a look on
    TOP CPU consumers from OS respective, then I’ll go forward to Oracle
    statistics or switching 10046 event etc.

    As opposite, take a look on OC4J. There is no any information like
    mentioned above regarding OC4J, not in Oracle documentation, not in the Web;(. There is just one process, which represent OC4J from OS. If there is
    performance issue with OC4J, we can’t say a lot regarding which
    process/activity/piece of code takes CPU etc.

    My question is:

    Do you know any good information source about OC4J architecture; there
    will be described internals (processes, communications flows etc);
    Do you know good courses regarding this theme?
    Information about any related book is welcomed?
    Can you share you experience working on OC4J problems?

    Thank you in advance,
    Jurijs

    I would like to share information that we have regarding OC4J architecture
    (see below).

    I.
    Processes/Threads
    As I mentioned above OC4J from OS looks like one process, which consume HW
    resources. OC4J use threads architecture for endow concurrency. You can see
    threads dump in the Java output (in $OH opmn/logs/.default_island.1 log file by default) by running
    a)
    kill –3
    command (this is any java process behavior, I believe).
    From dump we can see main threads list, as well as information about java
    deadlocks if any.
    b) Below is thread types list you can see in the java output by running
    kill –3 command:
    ===
    AJPConnectionListener [0.0.0.0/0.0.0.0:3001]
    ApplicationServerThread-0
    Finalizer
    JMSServer
    OC4JMonitorThread
    Reference Handler
    RMIServer [0.0.0.0/0.0.0.0:3101] count:2
    Signal Dispatcher
    Suspend Checker Thread
    TaskManager
    Thread
    VM Periodic Task Thread
    VM Thread
    ===
    Unfortunately I don’t have information about algorithms of work and what
    is responsibility of each type of thread, at the moment.
    c) In addition there is garbage collector process.
    There is many information in the Web regarding this type of process.
    For example

    http://java.sun.com/docs/hotspot/gc1.4.2
    http://java.sun.com/docs/hotspot/gc1.4.2/faq.html
    http://www.cons.org/cmucl/doc/gc-tuning.html

    etc.
    -verbose:gc parameter usage is helpful in diagnostic process.

    II. The TOP parameters you need to look on is:
    a)
    File $OH/opmn/conf/opmn.xml
    numProcs="1"

    b)
    File $OH/j2ee//config/server.xml

    taskmanager-granularity="9000000"
    transaction-config timeout="500000"
    c)
    File $OH/j2ee//config/oc4j.properties
    If you use BC4J.

    jbo.pers.max.active.nodes=1000
    jbo.pers.max.rows.per.node=1000
    jbo.doconnectionpooling=true
    jbo.initpoolsize=1
    jbo.maxpoolsize=550
    jbo.poolminavailablesize=0
    jbo.poolmaxavailablesize=600
    jbo.poolmonitorsleepinterval=600000
    jbo.poolmaxinactiveage=600000
    jbo.ampool.initpoolsize=1
    jbo.ampool.maxpoolsize=550
    jbo.ampool.minavailablesize=0
    jbo.ampool.maxavailablesize=100
    jbo.ampool.monitorsleepinterval=600000
    jbo.ampool.maxinactiveage=600000

    Hope this information will help you.

    Please see the official ORACLE-L FAQ: http://www.orafaq.com

    To unsubscribe send email to: oracle-l-request_at_freelists.org
    put 'unsubscribe' in the subject line.

    --
    Archives are at http://www.freelists.org/archives/oracle-l/
    FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
    -----------------------------------------------------------------

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouporacle-l @
categoriesoracle
postedJun 13, '04 at 12:09p
activeJun 14, '04 at 2:32p
posts7
users5
websiteoracle.com

People

Translate

site design / logo © 2023 Grokbase