4
Fwd: Re: Where are entries tracked in the DB for web connections From: "Barbara Waddoups" <[email protected]> To: "Mike" <[email protected]> Cc: Subject: Fwd: Re: Where are entries tracked in the DB for web connections Sent Date: Sep 10, 2008 3:13 PM Received Date: Sep 10, 2008 3:13 PM Priority: Normal Attachments: FYI Barbara Waddoups, Practice Delivery Manager Hyperion/BI, Oracle University Arizona, USA Office: 602.333.9023 Cell: 816.210.2967 pidgen: barbara.waddoups email: [email protected] --- Original Message --- Gustavo Jimenez wrote: Mario, I guess the problem is that the customer assumes that each user that logs in to the application has a dedicated connection. This is not the case. Forms on the other hand, is a "stateful" application. Each forms session has a dedicated form process in the server with a dedicated connection with the database. In web applications, it's the opposite. JDBC connections are stored in a "pool" (refer customer to metalink Note 278868.1) and the same connection can be used across multiple sessions, depending on load and configuration. Browsers don't have a constant open connection against the middle tier. Once the server transferred the information (web page) back to the browser, the socket connection is closed. One of the problems presented by this model is that if users (as they normally do) close the browser window, the browser itself does not close any socket (was closed already) and it doesn't send any information back to the server to notify that the window was closed so the server is unable to capture this event and time-out or release any resource taken by the session. This static association of resources is not the best approach because the resources in the middle tier will be in a state where they are not really being used but cannot be used within other sessions, so architecturally, web applications share resources between sessions. If a user closes the browser window, then, no resources will be detached from the session until session timeout. Now, this brings us to a second problem. Perhaps a valid question for customers is "how many users are logged to the system at a particular moment in time?". You can run queries against table ICX_SESSIONS (see attached for an example), but the info is an approximation rather than an exact science because sessions can be abandoned and we can't determine that until the session expires. A good practice for customers that want to have the most accurate information in terms of active users, is to run ICXDLTMP or FNDDLTMP (based on the release your customer is on) to clean up old data from ICX_SESSIONS and ICX_SESSION_ATTRIBUTES in a regular basis to get a better picture. If a user closes the browser window instead of logging off as expected (well, a client PC can also 'hang' which requires a reboot), the row in ICX_SESSIONS will remain Page 1 of 4 Oracle Collaboration Suite 10/6/2008 https://ocsglobal.oracle.com/um/templates/message_view.uix?state=message_view&cActi...

Connect Pool & Users

Embed Size (px)

DESCRIPTION

Connect Pool & Users

Citation preview

  • Fwd: Re: Where are entries tracked in the DB for web connections From: "Barbara Waddoups"

    To: "Mike"

    Cc:

    Subject: Fwd: Re: Where are entries tracked in the DB for web connections

    Sent Date: Sep 10, 2008 3:13 PM

    Received Date: Sep 10, 2008 3:13 PM

    Priority: Normal

    Attachments:

    FYI

    Barbara Waddoups, Practice Delivery Manager Hyperion/BI, Oracle University Arizona, USA Office: 602.333.9023 Cell: 816.210.2967 pidgen: barbara.waddoups email: [email protected] --- Original Message ---

    Gustavo Jimenez wrote:

    Mario,

    I guess the problem is that the customer assumes that each user that logs in to the application has a dedicated connection. This is not the case. Forms on the other hand, is a "stateful" application. Each forms session has a dedicated form process in the server with a dedicated connection with the database.

    In web applications, it's the opposite. JDBC connections are stored in a "pool" (refer customer to metalink Note 278868.1) and the same connection can be used across multiple sessions, depending on load and configuration. Browsers don't have a constant open connection against the middle tier. Once the server transferred the information (web page) back to the browser, the socket connection is closed. One of the problems presented by this model is that if users (as they normally do) close the browser window, the browser itself does not close any socket (was closed already) and it doesn't send any information back to the server to notify that the window was closed so the server is unable to capture this event and time-out or release any resource taken by the session. This static association of resources is not the best approach because the resources in the middle tier will be in a state where they are not really being used but cannot be used within other sessions, so architecturally, web applications share resources between sessions. If a user closes the browser window, then, no resources will be detached from the session until session timeout.

    Now, this brings us to a second problem. Perhaps a valid question for customers is "how many users are logged to the system at a particular moment in time?". You can run queries against table ICX_SESSIONS (see attached for an example), but the info is an approximation rather than an exact science because sessions can be abandoned and we can't determine that until the session expires. A good practice for customers that want to have the most accurate information in terms of active users, is to run ICXDLTMP or FNDDLTMP (based on the release your customer is on) to clean up old data from ICX_SESSIONS and ICX_SESSION_ATTRIBUTES in a regular basis to get a better picture. If a user closes the browser window instead of logging off as expected (well, a client PC can also 'hang' which requires a reboot), the row in ICX_SESSIONS will remain

    Page 1 of 4Oracle Collaboration Suite

    10/6/2008https://ocsglobal.oracle.com/um/templates/message_view.uix?state=message_view&cActi...

  • active unless purged by the previously mentioned concurrent programs.

    Hopefully this will help you explain to your customer. Let me know if any question. Regards Gustavo

    Gustavo Jimenez | Applications Development Manager | +1.407.458.2697

    Oracle Applications Technology Group

    5955 T.G. Lee Blvd. Orlando, FL 32822, USA

    From: Mario Bagnara [mailto:[email protected]]

    Sent: Friday, August 29, 2008 2:10 PM

    To: [email protected]; [email protected];

    [email protected]

    Subject: RE: Where are entries tracked in the DB for web connections

    Gustavo,

    My customer wants to capture the "real" user that attempted to connect to the database, i.e. iSupplier - not to the FORMS server....

    Regards! Mario

    -----Original Message-----

    From: Gustavo Jimenez [mailto:[email protected]]

    Sent: Friday, August 29, 2008 12:42 PM

    To: [email protected]; [email protected];

    [email protected]; [email protected]

    Subject: RE: Where are entries tracked in the DB for web connections

    Mario,

    Complimenting my previous email: There is no possibility to map a web session to a database connection. Basically, a JDBC connection used by any user is very short lived. A JDBC connection is taken out of the JDBC connection pool, it's used by the container to perform the queries and then the connection is sent back to the pool. In general, the time a user holds on to a connection is the time that the page rendering cycle takes to complete. After a connection is returned to the pool, this same connection that was used by, let's say, user "A", can later on be assigned to user "B". So, in short, there is no one-to-one mapping between a web session and a database connection.

    Is this the question you're asking?

    Thanks Gustavo

    Page 2 of 4Oracle Collaboration Suite

    10/6/2008https://ocsglobal.oracle.com/um/templates/message_view.uix?state=message_view&cActi...

  • Gustavo Jimenez | Applications Development Manager |

    +1.407.458.2697

    Oracle Applications Technology Group

    5955 T.G. Lee Blvd. Orlando, FL 32822, USA

    From: Gustavo Jimenez [mailto:[email protected]]

    Sent: Friday, August 29, 2008 12:37 PM

    To: [email protected]; [email protected];

    [email protected]

    Subject: RE: Where are entries tracked in the DB for web connections

    Mario,

    Can you please clarify on your customer's requirements? He wants to map web sessions to the database?

    Thanks Gustavo

    Gustavo Jimenez | Applications Development Manager |

    +1.407.458.2697

    Oracle Applications Technology Group

    5955 T.G. Lee Blvd. Orlando, FL 32822, USA

    From: Mario Bagnara [mailto:[email protected]]

    Sent: Friday, August 29, 2008 11:00 AM

    To: [email protected]; [email protected]

    Subject: Where are entries tracked in the DB for web connections

    Hi All,

    IHAC stating the following:

    We are unable to find when a connection to oracle apps begins IF the user logs on and then ONLY brings up a web page (i.e. xml publisher admininistrator) then logs off. We could find no entry in the SYS.AUD$ table that indicated that the user logged on. If the user logs onto oracle apps and open a FORM, i.e. Define Users, then we have entries in the SYS.AUD$ table. Where are entries tracked in the database for web connections?

    Any help would be greatly appreciated!

    Mario Bagnara | ATG Support Engineer | Phone: 562 6632674

    Oracle Support

    Page 3 of 4Oracle Collaboration Suite

    10/6/2008https://ocsglobal.oracle.com/um/templates/message_view.uix?state=message_view&cActi...

  • ORACLE Chile

    "Please consider your environmental responsibility before printing this e-mail"

    --

    E. Leta Davis | Sr Principal Instructor

    Phone: 609-888-1202 | Mobile: 609-841-9741

    Oracle Oracle University

    ORACLE United States | 719 Arena Drive | Hamilton, New Jersey 08610

    "Please consider your environmental responsibility before printing this e-mail"

    Page 4 of 4Oracle Collaboration Suite

    10/6/2008https://ocsglobal.oracle.com/um/templates/message_view.uix?state=message_view&cActi...