Multiple database sessions

Not sure if this is an expected behavior or not. But while navigating through the Apex, clicking a tab creates a new database session(APEX PUBLIC USER) every time and does not get closed after user logout.
If I log in to Apex (1 DB session) click any tab (creates one more DB session) and without doing any change if click first tab again, it creates a third DB session for APEX PUBLIC USER. So even if we have just couple of users, application creates 100s of Database sessions.
I tried to find out, but am I the only one having this issue ?
It's Apex 4.1.0 with database 10.2.0.5 (EE)
Edited by: 995569 on 22-Mar-2013 05:37

Nattu wrote:
Hi Tufley,
Add a cookie name to the current authentication scheme in the "session cookie attributes" section in Shared Components>>Authentication Schemes. This will keep the same session for the application, and if you keep the same cookie name for the authentication schema for multiple applications, it will keep the same session across the applications as well.This is not what OP was asking for! and this doesn't stop the user opening the application in a different browser i.e. Firefox, Chrome etc

Similar Messages

  • Long Running SQL and ORDS Spawns Multiple Database Sessions

    Hi all.
    We have a strange situation when accessing a long running SQL Report (a single APEX Page).
    The SQL takes about 15 mins to run but when I monitor what database sessions are spawned by the APEX Listener, I see multiple sessions all executing the same SQL. It appears that after 6 minutes, the APEX Listener spawns a new database session to execute the same SQL.
    Has anyone seen this before and if so, is there a key setting I am missing as I don't want this to happen. I am new to the APEX Listener and WebLogic so apologies if this is the way it's meant to work but it seems odd that after a certain amount of time (6 minutes in my case) a new database session is spawned to do the same work.
    We are running:
    WebLogic: 10.3.0.6
    APEX_LISTENER_VERSION 2.0.0.354.17.06
    Datadate: 11.2.0.3.0 Production
    APEX: 4.2.1.00.08
    Cheers for any help.
    Duncs

    Hi Duncan,
    With all respect, you should please rethink your interface.  I would never consider writing a Web application with a request that knowingly takes 15 minutes to return the results.  You can consider doing this asynchronously via DBMS_SCHEDULER and then alerting the user (via email, perhaps) that their results are ready.  Or if you can precompute this in advance, consider using materialized views so that the user's response time is sub-second.
    In an era where the patience of the average end-user is measured in single-digit seconds, it is impractical to ever expect an end-user to wait 15 minutes for their resultant Web page.
    Joel

  • Sql developer will not close after having multiple database sessions open

    when ever I have multiple session open, I can't close the application. I have to perform a cntl-alt-del and kill the application.

    I can't seem to reproduce this with 10 connections. Can you start from a console and post a stace trace?
    run from a console.
    <sdev>/jdev/bin/sqldeveloper
    -kris

  • Multiple database updates vesus Tansaction

              Hi,
              I need some help from you great minds. Here us what I am trying to accomplish:
              I have a message driven bean which does a multiple update calls to an Oracle database.
              I want to commit all the db updates only at the end (after all update calls execute
              okay) and if there occurs any problem in any of the update calls, I want to rollback
              all the previously successful update calls I have already made. I am using container
              managed transaction via a mdb.
              I tried to use UserTransaciom.setRollbackOnly() call but that did not completely
              help. This call rolled back the message altogether. All I wanted to do is, if
              there occurs any error during a database update, rollback just the database changes
              and just throw away the message. Is there a way I can just rollback the database
              changes? Any suggestions?? please. Thanks
              

    If I understand correctly what you want to do, is the purpose to do some task or run some script in multiple databases on the same server?
    If so, this is done easily by listing the database (sids) in a file and reading the file in a loop statement.
    In my case, I simply create a file on the server called localsids. I keep this in /var/opt/oracle directory.
    Then, in my script, I set:
    SIDFILE='/var/opt/oracle/localsids'
    NEWPASS=`cat $HOME/.xlh/sys`
    # This loop reads through the 'sidlist' and then looks for a password
    # stored in a separate directory for each sid, but if individual
    # directories do not exist, then it uses the standard system password.
    # It then opens a sqlplus session for each sid (as it loops through the
    # sidfile and executes some sql statement(s), or executes a sql script.
    cat $SIDFILE | while read SID
    do
    ORACLE_SID=$SID
    export ORACLE_SID
    echo $SID # this is only for my own verbose purposes
    sqlplus -s system/manager@$SID <<EOF > /tmp/chg_passwd_${SID}.sql
    alter user system identified by $NEWPASS
    alter user sys identified by $NEWPASS
    EOF
    done
    exit
    # In the above example, i am changing the sys and system passwords for all databases listed in the localsids file.
    Hope this helps...
    ji li
    Message was edited by: ji li to simplify the example...
    I have simplified the above example to hardcode the system password into this script, however, normally I would never do this in real practice. This is just as an example to simplify how to run a loop to run a common script or sql statement in each database.

  • Database session management in APEX

    How is the database session managed in APEX? I found that sometimes a database session can last from page to pages in an APEX application, but sometimes every page starts a new database session.
    Is there a way to control the database session in APEX?
    Thanks,
    -Fengting

    Since HTTP is a stateless and connectionless protocol, you are not guaranteed to get the same database session between pages. APEX maintains the session state implicitly. Each session is assigned a unique identifier with APEX. The APEX engine uses the session ID to store and retrieve the applications working set of data or session state before and after each page view.
    The session information persists in the database until purged. Therefore, as long as the client's session cookie has not expired, a user can continue running the application long after having first launched it. This is also what allows a user to run multiple instances of an application simultaneously in different browser sessions.
    That being said, I think the answer to your question is that it is not necessarily going to be the same database session (but could be), nor can you control it. You should use session state.

  • Excel Add-in & Multiple excel sessions.

    We all know the limitation of the add-in with multiple sessions of excel going (unpredictable results), but for an accountant it seems pretty restrictive. Especailly if there are long running retrieves. e.g. a macro that retrieves data for multiple sheets.
    Anyone found a way to let someone continue working with excel (not in retrieve mode) while the long running retrieve is going?

    First, understand that the session limit is one of Excel instancing, not connection/workbook related itself.
    You can, with a single excel session, have multiple workbooks open, running multiple calcs connected to multiple databases, and continue to do retrieves relatively unmolested.
    The impact on doing the additional items is not severe, but occasionally noticeable.
    The session limit itself is a pain when you have embedded spreadsheets though, because you wouldn't be able to work in a spreadsheet attached to a powerpoint presentation if excel is open, and you do tend to get limited quite significantly if excel is not your "primary" session.

  • Application that connects to multiple databases.

    I am developing an application that performs many task, but one in particular is connecting to multiple databases and creating user accounts in each all with the push of a single button. I have tried putting connect statements in the trigger code but I don't get the desired results.
    How would I get my application to switch database connections while in execution?
    Please reply to the forum, or email me @ [email protected]
    Thank you.
    Travis

    Hi
    The only possible way which I could find for your requirement is that of DB Links. Establish DataBase Links among the multible databases, with which you want to work in one session. Peform all your actions through the DB Links.

  • Single Database Session Per User in ADF/BC Application

    Hi, I am using ADF with BC (JDeveloper 11.1.1.1). My application contains multiple application modules, each connected to the same JDBC data source. On the app server, I have configured the data source to use Identity Based Connection Pooling.
    My current configuration is resulting in numerous database sessions for each user. I have a requirement to use only a single database session per user HTTP session. Is there any way to configure the application modules to achieve this?
    Thanks,
    Brad

    Hi,
    use a single root Am module and make sure the others are used as nested modules. This will create a single connection
    Frank

  • Multiple server sessions

    Hi,
    Should there be any issue mixing objects between multiple server sessions.
    We have multiple services that each have each have their own ServerSession.
    There are situations where objects retrieved through one ServerSession are ultimately part of an object that is persisted through another ServerSession.
    Note: communication between client and services is via RMI and persistence is performed using the mergeWithReferences method.
    Example,
    - Person object has an Address object.
    - Address is retrieved from ServerSession 1 (RMI)
    - Person object is retrieved from ServerSession 2 (RMI)
    - Address is added to Person and Person is persisted
    thru ServerSession 2. (RMI)
    The behavior I've observed is inconsistent but ultimately there seems to be problems.
    From the example above, occasionally ServerSession2 will attempt to reinsert the Address object into the table.
    In the case where Address is read only the cached version of Person in ServerSession2 will have a null Address attribute after persistence even though the database was updated correctly.
    What accounts for this behavior?
    Thanks
    Mark

    Marc,
    The problem you are seing is related to TopLink's existence checking. When you go to write an object from session 1 into session2 and it does not exist in the cache TopLink assumes the object is new. This is very similar to when you are running in a cluster and your write request ends up in a JVM where the TopLink session has not read in the object you plan to write.
    In order to make this work you can change the existence-checking setting, which I don't recommend, or you can alter your pattern for dealing with the UnitOfWork.
    When you serialize the object(s) across RMI to the server that is going to do your writing I recommend the following pattern:
    1. Acquire UnitOfWork from session
    2. Read objects from database
    unitOfWork.read(person);
    unitOfWork.read(address);
    3. Merge objects (unitOfWork merge APIs)
    4. Commit UnitOfWork
    Step #2 is important here. If you are writing to a session that has the objects cached then no database call is required. If not, the database version will be read in. The merge will copy the values over to the working copy and the commit will calculate and write any necessary changes.
    Other recent threads in this forum and the documentation detail the merge options.
    Doug

  • Multiple Database Updates

    Hi
    In development environment I have many branches(copies) of a database.
    For every change (ddl, dml) i have to login every database manually to execute statements, Is there a client tool that support multiple database update or if any expert ever make a customized routine for that?
    And ideally as i have different named branches i wish i can define the scope of change too i.e. change execute on databases of "abc" & "pqr" branches only.
    Wishes

    If I understand correctly what you want to do, is the purpose to do some task or run some script in multiple databases on the same server?
    If so, this is done easily by listing the database (sids) in a file and reading the file in a loop statement.
    In my case, I simply create a file on the server called localsids. I keep this in /var/opt/oracle directory.
    Then, in my script, I set:
    SIDFILE='/var/opt/oracle/localsids'
    NEWPASS=`cat $HOME/.xlh/sys`
    # This loop reads through the 'sidlist' and then looks for a password
    # stored in a separate directory for each sid, but if individual
    # directories do not exist, then it uses the standard system password.
    # It then opens a sqlplus session for each sid (as it loops through the
    # sidfile and executes some sql statement(s), or executes a sql script.
    cat $SIDFILE | while read SID
    do
    ORACLE_SID=$SID
    export ORACLE_SID
    echo $SID # this is only for my own verbose purposes
    sqlplus -s system/manager@$SID <<EOF > /tmp/chg_passwd_${SID}.sql
    alter user system identified by $NEWPASS
    alter user sys identified by $NEWPASS
    EOF
    done
    exit
    # In the above example, i am changing the sys and system passwords for all databases listed in the localsids file.
    Hope this helps...
    ji li
    Message was edited by: ji li to simplify the example...
    I have simplified the above example to hardcode the system password into this script, however, normally I would never do this in real practice. This is just as an example to simplify how to run a loop to run a common script or sql statement in each database.

  • SELECT query from multiple databases

    Hi,
    Is it possible to run a SELECT query using multiple DBs' tables, like outer joining them. One of the DBs is Sybase.
    Thanks in advance

    A TopLink session can span multiple databases if they can be accessed through a single connection. A single select would require the database to handle the aggregation as mentioned in the other post.
    Alternatively TopLink's session broker will support making a single session present persistent types from multiple independent databases. This approach will not support a single SELECT spanning the databases though.
    Doug

  • Multiple database patching in one go (sharing same oracle_home) ?

    hi,
    good day.
    did any one experience running "startup upgrade" for more 3 databases sharing same oracle_home?
    i mean, did any one tried to apply database patchset 3/4 (command-set given below) to more than one databases (sharing one oracle_home) at the same time to minimize the downtime?
    SQL> STARTUP UPGRADE
    SQL> SPOOL patch.log
    SQL> @?/rdbms/admin/catupgrd.sql
    SQL> SPOOL OFF
    or it can ONLY be done on one-by-one basis?
    database: 10.2.0.2
    plateform: hpux 11.31
    An earliest response will be highly oblidged..
    regards,
    X.

    Mr X wrote:
    hi andrewmy,
    you said, we can upgrade different databases simultanously in different telnet/ssh sessions after patching the oracle_home.
    hi chinar,
    i agree, we have to run catupgrd.sql script for every database. my question was that can we run multiple catupgrd.sql for multiple databases after patching oracle_home successfully?
    After patch installing you have run catupgrd.sql for multiple database only once time.For more information refer upgrade guide and note of this patch.
    so, finally, are you both agree that we can run multiple catupgrd.sql scripts for multiple databases concurrently?
    right ?
    Yes,you can execute these concurrently,but your server need more resource.
    did any one tried it before, is that speedy as compared to one by one db-upgrade procedure?
    The speed of upgrade depend your server resource CPU/RAM.

  • Forms Server Database session

    HI
    I'm having a problem these days:
    How many database sessions opens the formsserver?
    I saw that when opening a couple of internet connections with forms server under the same database user,formsserver opens only one database conn.
    Can someone clarify wich is logic of the conn opening?
    1.Does the server opens a conn for each web connections wich executes a form under different database user?
    2.Is it true that if opening many web sesions with forms modules using the same database user,the server is opening only one DB conn?
    Thanks,

    1) I believe yes on unix. But I noticed that Oracle on win2003 server, it bases on threads of a process. I did not get my understandings in sync yet.
    2) I think connection should be session based, only open one session for multiple sessions, it is hard to understand. But if it is on win2003 server, then I don't know now.

  • Multiple database members in a single Grid Row

    Hi All,
    I have created an FR report (9.3x) and getting the below error while trying to run the report via Web Preview.
    5217: Error Processing Results;hasPovDims=1;povXML=<?xml version="1.0"?><datasources><datasource name="FIN QA" dsid="-117fcde3_132fd17f2f6_-771b" allowEdit="1"><dim name="Versions" dimIndex="0" dsName="FIN QA" keyDimName="Versions" memberName="Versions" displayName="Versions: Versions"/><dim name="Scenarios" dimIndex="4" dsName="FIN QA" keyDimName="Scenarios" memberName="Scenarios" displayName="Scenarios: Scenarios"/><dim name="Components" dimIndex="5" dsName="FIN QA" keyDimName="Components" memberName="Components" displayName="Components: Components"/><dim name="Customers" dimIndex="6" dsName="FIN QA" keyDimName="Customers" memberName="Customers" displayName="Customers: Customers"/><dim name="Assets" dimIndex="7" dsName="FIN QA" keyDimName="Assets" memberName="Assets" displayName="Assets: Assets"/></datasource><datasource name="FINDEF QA" dsid="-607fb334_128b79d246e_-7d0a" allowEdit="1"><dim name="Time Periods" dimIndex="1" dsName="FINDEF QA" keyDimName="Time Periods" memberName="Time Periods" displayName="Time Periods: Time Periods"/><dim name="Scenario" dimIndex="3" dsName="FINDEF QA" keyDimName="Scenario" memberName="SC_Actual" displayName="Scenario: SC_Actual"/><dim name="Versions" dimIndex="4" dsName="FINDEF QA" keyDimName="Versions" memberName="VR_Input_Version" displayName="Versions: VR_Input_Version"/><dim name="Customers_Region" dimIndex="6" dsName="FINDEF QA" keyDimName="Customers_Region" memberName="CU_NA" displayName="Customers_Region: CU_NA"/><dim name="Assets" dimIndex="7" dsName="FINDEF QA" keyDimName="Assets" memberName="Assets_NA" displayName="Assets: Assets_NA"/></datasource></datasources>
    In my report I have selected 2 rows where I have selected @descendants of ccounts from one database which is FIN QA and in the second row I have selected @children of Accounts from another database which is FINDEF QA. I am using only ONE GRID here.
    Is it not possibe to run a FR report by select members from multiple databases in a single grid??
    Please have your valuable inputs.

    Yes it possible to retrive data from multiple database using single grid.
    Also there are few limitations namely:
    Database connections must be of the same type (for example, both must be Essbase database connections or both must be Financial Management database connections).
    Mismatched number of dimensions in the database connections may cause retrieval errors.
    For more details refer to this link for details:-
    http://www.oracle.com/technetwork/middleware/financial-management/tutorials/obe-multipledbs-086586.html
    Cheers
    Vikas Naidu

  • How to Identify database sessions used by forms sso user sessions?

    Hi:
    When using forms with SSO, all database sessions are opened by the same OSUSER (usually oracle), from the same machine (usually the forms server) and by the same program (usually [email protected] [TNS V1-V3]).
    I need a way to identify the database session (v$session) that is beeing used by a specific SSO user. By using SSO, we say implicitly that all users using that SSO resource will be connect to the database by a specific database user.
    So, what can I do to identify the database session that a specific forms user is using ?
    Thanks
    Joao Oliveira

    You could try something like the following in a when new form instance trigger:
    declare
    authenticated_username varchar2(30);
    begin
    authenticated_username := get_application_property(`sso_userid');
    DBMS_APPLICATION_INFO.SET_CLIENT_INFO (
    client_info IN VARCHAR2);
    end;
    This will store the sso userid in the client_info field of v$session.
    I hope this works for you.
    Randy McGregor

Maybe you are looking for

  • Is there any way to contact support via email as I cannot receive phone call at the moment . Thanks

    I have forgotten my security questions and cannot purchase apps. My rescue email was entered with an error .me instead of .mw so I can't reset my account. Is there a way to contact support via email ? as I can't receive a call. Thanks

  • File Attachments in CO

    Is it possible to add a file attachment automatically in the CO? Based on some criteria, I want to automatically add a file attachment to a requisition. There will be no user interaction - I want to automatically include a file attachment. Regards, L

  • KE30 Report Change

    Dear Friends, Some GL Account account data is not picking in KE30 report. kindly let me know where we assign all GL's in KE30 Report. Thanks JD

  • Steps involved in Uninstalling SQL Server service packs

    Hi, Came to know that we can uninstall sql server service packs from SQL 2008 SP1 onwards. Question is, for suppose i have installed SQL 2008 SP3 and found problem. Now I want to uninstall SP3, what are the steps involved to uninstall a service pack?

  • How to avoid "The local variable ___ is never read" warnings

    If you create an instance of a class using something like: MyClass myClassInstance = new MyClass(param1, param2, ...); And everything you require this class to do is done from within it's constructor then you always get a warning saying "The local va