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.

Similar Messages

  • Database session management

    Hi,
    We are running an Oracle 10g database on Linux with an APEX 3.0.1 front end and are experiencing some performance problems. We have investigated the apex forum but have been unable to find any information as it appears to be a massive problem with so many different possible areas to look at. I did notice when looking in Enterprise Manager that we had a session running up a large amount of resources. When i looked in the session there were upto 5 different users all using the same database session, but with differing APEX sessions. Im not sure if this is how the database should be running or if we could improve performance by having 1 session per user.
    Any information or tips and tricks would be gratefully received.
    Thanks
    Graham.

    Are you running as shared server or dedicated server?

  • Session management problems with SSO

    Hi all-
    I've been getting an Apex app tied to SSO as a partner app (per http://www.oracle.com/technology/products/database/application_express/howtos/sso_partner_app.html). So far, it sort of works. If I go to my apex app, it redirects me to SSO, where I authenticate and end up back in the apex app. Great. Here are two problems I've run into:
    1. If I am already authenticated to SSO, and I go to my apex app (url like: http://host/pls/apex/f?p=101:1), my browser goes into an infinite redirect (url like: http://host/pls/apex/f?p=101:1:::::FSP_AFTER_LOGIN_URL:\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|||||FSP_AFTER_LOGIN_URL|\f?p=101|1|||||FSP_AFTER_LOGIN_URL|\f? p=101|1|\\\\\\\\\\\\\\\\\\\). To resolve, I have to clear cookies.
    2. If I am using my apex app, then log out of SSO (in another browser window), I can still click around in my apex app (i.e., apex thinks I'm still authenticated).
    Anyone have any thoughts? I'm wondering if I need to do something in page session management (under authentication schemes) to fix #2, but I have no clue about #1.
    Thanks
    Rob

    Hi Scott-
    Thanks for the info on #2 - I'll work on that after I get #1 sorted out, since it's the more dire problem. Here's some more info:
    Apex version = 3.0.1.00.08
    SSO SDK = ssosdk902.zip
    I set it up as "My Application as Partner App." I used "MY_PARTNER_NAME" as SSO Partner Application Name. In the list of SSO Partner Apps on the SSO Admin page, my partner app name is also MY_PARTNER_NAME. It gives the following info:
    Login URL:      https://sso_host/pls/orasso/orasso.wwsso_app_admin.ls_login
    Single Sign-Off URL:      https://sso_host/pls/orasso/orasso.wwsso_app_admin.ls_logout
    Home URL: http://apex_host/pls/apex
    Success URL: http://apex_host/pls/apex/RBLICK.YOUR_PACKAGE.PROCESS_SUCCESS
    Logout URL: http://apex_host/pls/apex
    RBLICK is the schema owning the apex app. In there, I created a package called YOUR_PACKAGE:
    create package YOUR_PACKAGE as
    procedure process_success(urlc in varchar2);
    end YOUR_PACKAGE;
    CREATE PACKAGE BODY YOUR_PACKAGE AS
    procedure process_success(urlc in varchar2) as
    begin
    wwv_flow_custom_auth_sso.process_success(
    urlc=>urlc,
    p_partner_app_name=>'MY_PARTNER_NAME');
    end process_success;
    END YOUR_PACKAGE;
    Anything look obviously wrong to you?
    Thanks!
    Rob

  • DATABASE RESOURCE MANAGER ( ORACLE 8I NEW FEATURE )

    제품 : ORACLE SERVER
    작성날짜 : 2004-08-16
    DATABASE RESOURCE MANAGER ( ORACLE 8I NEW FEATURE )
    ===================================================
    SCOPE
    8i~10g Standard Edition 에서는 Database Resource Manager 를 지원하지 않는다.
    Explanation
    Database Resource Manager란 OS에서 제공하는 자원 (예 : CPU 자원 )에 대해 DB
    차원에서 계획을 세워, 세부 관리를 할 수 있도록 해 주는 서비스이다.
    예를 들어 주간에 batch 작업을 처리하더라도, OLTP 업무에는 지장을 주지 않아야
    할 경우 batch 작업에 CPU 자원을 적게 할당해 주는 것이 바람직 하며, Resource
    Manager를 활용하여 CPU 자원을 batch 작업과 OLTP 업무에 서로 다르게 할당해 줄
    수 있다. ( Oracle 8.1.6 까지는 Resouurce Manager에서 CPU 자원에 대해서만
    관리만 가능하다 )
    1. 용어
    1) Resource Consumer Group
    사용자 session들의 집합. Resource에 대한 요구사항에 따라 나뉘어진 그룹.
    2) Resource Plan
         Consumer Group에 자원을 할당 해 주기 위한 resource plan directive들을
    포함.
    3) Resource Allocation Method
         Resource Manager에서 자원을 할당해 주는 방법/정책.
    4) Resource Plan Directive
         Resource Plan에 대해 자원을 할당해 주는 세부 내역.
    2. Resource Consumer Group
    * 기본 group
         [ 사용자가 삭제, 수정할 수 없는 group ]
         OTHER_GROUPS : active plan schema에 속하지 않는 consumer group의 모든
    session
         DEFAULT_CONSUMER_GROUP : consumer group을 지정하지 않은 모든
    session.(default)
         [ 기본적으로 제공되나 사용자가 삭제하거나 변경할 수 있는 group ]
         SYS_GROUP : SYSTEM_PLAN에 대한 high priority consumer group
    SYSTEM, SYS user에 할당한다.
         LOW_GROUP : SYSTEM_PLAN에 대한 low priority consumer group
    3. Resource Plan
         Consumer group에 속하는 session들은 해당 group에 대한 resource plan에
    따라 자원 할당이 결정되며, 자원 할당에 대한 세부 사항은 resource plan에
    대한 resource plan directive에서 지정된다.
         Resource plan은 subplan을 둘 수 있다.
    4. Resource Allocation Method
         Round-robin Method : Consumer group 내에서 session들에 대한 CPU 할당
         Emphasis Method : Consumer group에 할당되는 CPU
         Absolute Method : Parallel degree 한계 ( 예 : Parallel Query에서의
    degree )
    5. Resource Plan Directive
         Resource Plan Directive에 지정된 내용들은 resource plan에 따라
    consumer group에 자원을 할당할 때 반영된다.
    6. 구현 예제
         MYDB PLAN +-> MAILDB PLAN +-> POSTMAN GROUP (40% Level 1)
         | (30% Level 1) |
         | +-> USERS GROUP (80% Level 2)
         | |
         | +-> MAILMAINT GROUP (20% Level 2)
         | |
         | +-> OTHER GROUP (100% Level 3)
         |
         +-> BUGDB PLAN  +-> ONLINE GROUP (80% Level 1)
         (70% Level 1) |
         +-> BATCH GROUP (20% Level 1)
         |
         +-> BUGMAINT GROUP (100% Level 2)
         |
         +-> OTHER GROUP (100% Level 3)
         위 예에서 MYDB PLAN에는 2개의 subplan ( MAILDB PLAN, BUGDB PLAN )이
         있으며 각각 30%와 70%의 CPU 자원을 할당하였다.
         Level 1, Level 2, Level 3 는 우선순위 레벨을 의미하며, 하나의
         resource plan에서 동일한 level의 합이 100%를 넘지 못한다.
         ( Level 은 1부터 8까지 지정할 수 있으며 level 1이 가장 우선순위가
         높으며 level 8이 가장 우선순위가 낮다 )
         예를 들어 전체 CPU 자원의 70%를 할당 받은 BUGDB PLAN은 다시
         ONLINE GROUP과 BATCH GROUP을 두고 있는데, 이 둘의 Level이 모두 1이며
         두개의 percentage의 합이 100%이다. 하지만, 즉, level 1인 ONLINE GROUP
    에 90%를 할당하였다면, level 1인 BATCH GROUP에는 10% 이상을 할당할 수
    없다.
    Example
         * 구현을 위한 코드
         BEGIN
         /* PLAN schema 작업 영역 생성 */
         DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
         /* BUGDB PLAN, MAILDB PLAN, MYDB PLAN 생성 */
         DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'bugdb_plan',
         COMMENT => 'Resource plan/method for bug users sessions');
         DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'maildb_plan',
         COMMENT => 'Resource plan/method for mail users sessions');
         DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'mydb_plan',
         COMMENT => 'Resource plan/method for bug and mail users sessions');
         /* CONSUMER GROUP 생성 */
         DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP =>
    'Bug_Online_group', COMMENT => 'Resource consumer group/method for
    online bug users sessions');
         DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP =>
    'Bug_Batch_group', COMMENT => 'Resource consumer group/method for
    bug users sessions who run batch jobs');
         DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP =>
    'Bug_Maintenance_group', COMMENT => 'Resource consumer group/method
    for users sessions who maintain the bug db');
         DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP =>
    'Mail_users_group', COMMENT => 'Resource consumer group/method for
    mail users sessions');
         DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP =>
    'Mail_Postman_group', COMMENT => 'Resource consumer group/method for
    mail postman');
         DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP =>
    'Mail_Maintenance_group', COMMENT => 'Resource consumer group/method
    for users sessions who maintain the mail db');
         /* BUGDB PLAN에 대한 DIRECTIVE 생성 */     
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan',
    GROUP_OR_SUBPLAN => 'Bug_Online_group',     COMMENT => 'online bug users
    sessions at level 1', CPU_P1 => 80, CPU_P2=> 0,
         PARALLEL_DEGREE_LIMIT_P1 => 8);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan',
    GROUP_OR_SUBPLAN => 'Bug_Batch_group',      COMMENT => 'batch bug users
    sessions at level 1', CPU_P1 => 20, CPU_P2 => 0,
         PARALLEL_DEGREE_LIMIT_P1 => 2);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan',
    GROUP_OR_SUBPLAN => 'Bug_Maintenance_group',COMMENT => 'bug
    maintenance users sessions at level 2', CPU_P1 => 0, CPU_P2 => 100,
         PARALLEL_DEGREE_LIMIT_P1 => 3);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan',
    GROUP_OR_SUBPLAN => 'OTHER_GROUPS', COMMENT => 'all other users
    sessions at level 3', CPU_P1 => 0, CPU_P2 => 0, CPU_P3 =>
         100);
    (참고) CPU_P1 : cpu allocation for level 1
         /* MAILDB PLAN에 대한 DIRECTIVE 생성 */
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan',
    GROUP_OR_SUBPLAN => 'Mail_Postman_group',COMMENT => 'mail postman at
    level 1', CPU_P1 => 40, CPU_P2 => 0, PARALLEL_DEGREE_LIMIT_P1 => 4);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan',
    GROUP_OR_SUBPLAN => 'Mail_users_group',     COMMENT => 'mail users
    sessions at level 2', CPU_P1 => 0, CPU_P2 => 80,
         PARALLEL_DEGREE_LIMIT_P1 => 4);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan',
    GROUP_OR_SUBPLAN => 'Mail_Maintenance_group',COMMENT => 'mail
    maintenance users sessions at level 2', CPU_P1 => 0, CPU_P2 => 20,
         PARALLEL_DEGREE_LIMIT_P1 => 2);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan',
    GROUP_OR_SUBPLAN => 'OTHER_GROUPS', COMMENT => 'all other users
    sessions at level 3', CPU_P1 => 0, CPU_P2 => 0, CPU_P3 =>
         100);
         /* MYDB PLAN에 대한 DIRECTIVE 생성 */
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'mydb_plan',
    GROUP_OR_SUBPLAN => 'maildb_plan', COMMENT=> 'all mail users
    sessions at level 1', CPU_P1 => 30);
         DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'mydb_plan',
    GROUP_OR_SUBPLAN => 'bugdb_plan', COMMENT => 'all bug users sessions
    at level 1', CPU_P1 => 70);
         /* PLAN schema 작업 내용을 저장 */
         DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
         DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
         end;
    7. CONSUMER GROUP에 사용자나 세션을 할당하는 방법
         먼저 인스턴스에서 사용할 TOP Level resource plan 을 지정한다.
    initSID.ora에 RESOURCE_MANAGER_PLAN = MRDB_PLAN 지정이나 아래와 같이
    session level에 ALTER SYSTEM command를 사용하여 지정한다.
         ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = MYDB_PLAN;
         그리고 SCOTT 계정에 BUG_ONLINE_GROUP과 BUB_BATCH_GROUP 에 속할 수 있는
    권한을 부여     
    DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP ('SCOTT',
    'BUG_ONLINE_GROUP', TRUE);
         DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP ('SCOTT',
    'BUG_BATCH_GROUP', TRUE);
         * DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP( user in
    varchar2, consumer_group in varchar2);
         예)
         DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP('SCOTT',
    'BUG_ONLINE_GROUP');
         SCOTT 계정을 BUG_BATCH_GROUP에 할당
         * DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS (
                             session_id IN NUMBER,
                             session_serial IN NUMBER,
                             consumer_group IN VARCHAR2);
         예)
         DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS( 11, 2,
    'BUG_ONLINE_GROUP');
         * DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER (
                             user IN VARCHAR2,
                             consumer_group IN VARCHAR2);
         예)
         DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER('SCOTT',
    'BUG_BATCH_GROUP');
    8. 관련된 Dictionary
    DBA_RSRC_PLANS : Resource plan과 status
    DBA_RSRC_PLAN_DIRECTIVES : Resource plan directives와 status
    DBA_RSRC_CONSUMER_GROUPS : Consumer group과 status
    DBA_RSRC_CONSUMER_GROUP_PRIVS : 사용자에게 부여된 Consumer group
    DBA_USERS : INITIAL_RSRC_CONSUMER_GROUP라는 새로운 column이 추가
    V$SESSION : RESOURCE_CONSUMER_GROUP라는 새로운 column이 추가
    V$RSRC_PLAN : 새로운 view로 active resource plan을 보여준다
    V$RSRC_CONSUMER_GROUP : 새로운 view로 consumer group의 active session
    을 보여준다.
    Reference Ducumment
    ---------------------

    user1 is the schema present in DB1
    user2 is the schema present in DB2. I just have a DB link
    as below:
    create database link link_to_DB2 connect to user2 identified by user2 using 'DB2';---Connects from user1 of DB1 to user2 of DB2.
    Requirement is as below:
    CPU for DB2 - 25%
    Out of above 25%, CPU for user2 - 70%
    CPU for user1 30% -- whenever it conncts using the link)
    Please help me out.

  • Database Entity Manager Concept

    Hello Forte-Users,
    currently I work with the Concept of the White-Paper:
    Forte Database Integration Patterns
    Forte Consulting
    May 1996
    to integrate Database-Access into my Warehouse-Application.
    Because the hole Application is delivered step by step and we are new
    in using Forte, I use for the first step only the patterns described for
    the DBEntityMgr to get a "feeling".
    The problem is, that if I use the DBEntityMgr-Concept and have many
    BaseClasses to access I have a lot of interface-calls like
    GetCustomer,GetProducts,etc..
    The Database Session Router will also not solve this "problem" in future,
    because the
    ApplicationEntityMgr has than the same problem.
    Question: Know anyone a way, based on the upon described facilities to use
    this strategy with a solution to make more "EntityMgrSO's" to get a smaller
    DBEntityMgr-Interface?
    The Database Session Router is planed for using when the Application should
    be used from more Users and when running the SO's on a WorkGroup-Server.
    Question: Know anyone a way there to split the ApplicationEntityMgr?
    Every reply is welcome.
    Thanks forward to all
    Joseph Mirwald
    Bachmeier & Sporrer
    GERMANY
    EMAIL: [email protected]
    Don't worry, which bug you wanna have today?

    ...snip
    >> The bad part is that now, the "client" of the entity manager
    must know
    >> which entity manger to call for any particular set of
    data. This negates
    >> a significant part of the advantage of using the single
    interface into the
    >> persistence layer.
    snip ...
    [KUBASADA Manjunatha] We can avoid this problem by having the
    EntityMgrSO method determine which entity manager to use. The client can
    pass a parameter indicating which object to get. The client call would
    look like,
    myobject = EntityMgrSO.GetEntity(myobjectindicator);
    OR
    EnitytMgrSO.GetEntity(output myobj : object);
    In the second case, the GetEntity method uses the run time type
    of myobj to determine which entity manager to call. In both cases the
    EntityMgrSO returns an object of type Object; the client would have to
    cast it to the appropriate type.
    Don, are there any downsides to this approach ?
    Manjunatha Kubasada
    Complete Business Solutions Inc.
    email : [email protected]
    Ph : (248) 488-2088 X 3480
    -----Original Message-----
    From: Don Nelson [SMTP:[email protected]]
    Sent: Saturday, November 29, 1997 4:05 PM
    To: Joseph Mirwald
    Cc: forte-users
    Subject: Re: Database Entity Manager Concept
    Joeseph,
    The concept of the entity manager having less interfaces is both good
    and
    bad. The good part is mostly related to development - splitting up
    the
    calls to the various SQL managers among several entity managers allows
    more
    flexibility in terms of which classes have to be checked out of the
    repository to add to or update the interfaces.
    >> The bad part is that now, the "client" of the entity manager
    must know
    >> which entity manger to call for any particular set of
    data. This negates
    >> a significant part of the advantage of using the single
    interface into the
    >> persistence layer.
    I've used both strategies in the past, and I tend to stay with one
    entity
    manager with a large number of interfaces. It moves the
    responsibility of
    knowing where to get the data from the client to the service, where it
    usually belongs. The only real time penalty is when you compile the
    partition - there will be more to compile. But since they are just
    interafaces, it shouldn't be that big of a deal.
    Don
    At 10:49 AM 11/28/97 -0500, Joseph Mirwald wrote:
    Hello Forte-Users,
    currently I work with the Concept of the White-Paper:
    Forte Database Integration Patterns
    Forte Consulting
    May 1996
    to integrate Database-Access into my Warehouse-Application.
    Because the hole Application is delivered step by step and we are new
    in using Forte, I use for the first step only the patterns describedfor
    the DBEntityMgr to get a "feeling".
    The problem is, that if I use the DBEntityMgr-Concept and have many
    BaseClasses to access I have a lot of interface-calls like
    GetCustomer,GetProducts,etc..
    The Database Session Router will also not solve this "problem" infuture,
    because the
    ApplicationEntityMgr has than the same problem.
    Question: Know anyone a way, based on the upon described facilitiesto use
    this strategy with a solution to make more "EntityMgrSO's" to get asmaller
    DBEntityMgr-Interface?
    The Database Session Router is planed for using when the Applicationshould
    be used from more Users and when running the SO's on aWorkGroup-Server.
    Question: Know anyone a way there to split the ApplicationEntityMgr?
    Every reply is welcome.
    Thanks forward to all
    Joseph Mirwald
    Bachmeier & Sporrer
    GERMANY
    EMAIL: [email protected]
    Don't worry, which bug you wanna have today?
    ============================================
    Don Nelson
    Regional Consulting Manager - Rocky Mountain Region
    Forte Software, Inc.
    Denver, CO
    Corporate voice mail: 510-986-3810
    aka: [email protected]
    ============================================
    "The good thing about drawing a tiger is that it automatically makes
    your
    picture fine art." - Hobbes

  • Session Manager not thread safe

    We are running 6.0 web server with IWSSessionManager turned on. We have the failover set to true so that we always load from the persistent store.
    We had a situation where a frame set invoked 2 requests to the application. The logic in the session manager seems to be for each request:
    1) the session is loaded from the database.
    2) the new session overwrites the session in memory.
    3) the servlet/jsp uses that session.
    4) that session is persisted.
    Now.. if only one of the requests actually modifies the session then threadA and threadB have 2 session instances which have unique objects with the same session id. The last one to complete is stored in the database. This would result in data loss. (btw.. the code in question is IWSSessionManager.getSession(String id, ServletContext context)).
    Has anyone else seen this, or have we set up something really wacky?
    Thanks!
    -- bk

    c

  • Web service authentication/session management using Axis2

    I'm creating a web service using Axis2 where the client will need to login to the service and maintain a session. I'm trying to figure out a good way to do this. I've read the article on the following link:
    http://www.developer.com/services/article.php/3620661/Axis2-Session-Management.htm
    and it describes 4 main ways of doing this: Request Session Scope, Soap session scope, Transport session scope, and Application scope. However, it doesn't give much detail in actually implementing this. It says to add a parameter to services.xml like this:
    <service name="foo" scope=" transportsession">
    </service>
    but what about the actual code that goes in the server and client to actually handle the login process and verify the username/password in an SQL database on the server? I'm having a lot of trouble finding a good tuturial on this. Can anyone point me in the right direction? I'm also open to other ideas that don't necessarily directly involve Axis2.

    Session management for a web service and already answered. Locking.

  • Terminate process or database session by User ID

    I have an web application with Client (JSP etc.) - Application (APACHE TOMCAT) and Database (Oracle) tiers. The application user IDs are managed by application layer and only one user ID is used to connect to database.
    As a DBA, how do I identify the "actual" application user that is running a particular process/database session? The purpose of identifying processes is due to many reasons such as to terminate un-used process, intentionally terminating a particular process (due to any reason), monitoring user access to a particular database, tables etc.
    Any idea of how to implement the above-mentioned user access control by DBA?
    Thanks
    ktt

    You can't unless the application plays nice and passes it to you.
    It is this lack of cooperation that leads many of us to be less than pleased with most middleware.

  • Is it possible to use run-time configuration in conjunction with Session Manager?

    I'm trying to avoid using MAX, basically because it's a pain for users to configure MAX when the application already knows what the configuration is. I actually get the configuration from a database, but that's another story. I've experimented with run-time configuration (see page 4-31 of the 'IVI Driver Toolset' manual) and it works fine. However, when I try to use this in conjunction with Session Manager, session manager complains that my logical name is not a driver session name. I suspect that Session Manager is looking up logical names from a different source, therefore run-time configuration won't work. Any suggestions? I've attached the files I'm working with.
    Attachments:
    SessionMgrTrial.zip ‏41 KB

    Hello Mark:
    The Session Manager GetLogicalNames method does not distiguish between logical names and virtual instrument names. A user of the method cannot ask for just logical names or just virtual instrument names. Right now you always get both. The new function is called InstrSessionMgr.GetNames. Notice that the online help file says Boolean for the flags parameter when it is an enum.
    Hope this helps. If you have any further queries, please let us know.
    -NI support
    National Instruments - Software IS the instrument!
    Attachments:
    help.gif ‏22 KB

  • 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

  • Setting secure on session management cookie only in production

    I am faced with the following:
    In our developmentcycle we deliver full application exports to an acceptation environment and after testing to a production environment.
    However, only our production site does HTTPS. Development and acceptation only do HTTP.
    In production we have to set the "secure"flag on the session management cookie.
    We would like to set this flag in our deployment scripts.
    So,
    Is there an API we could use to set the "Secure" flag in the APEX metadata using SQL*Plus?

    hi
    ->Use request.getParameter(String s) to recieve the infomation from the html page into your servlet.for storing session specific info go for
    session.setAttribute(vble,value;
    hope it'll solve your problem.

  • Database Resource Manager CPU levels

    Hi,
    I'd like to employ the Database Resource Manager to limit some user's sessions to a certain amount of CPU. After reading the documentation and an Oracle white paper, I'm still not clear on the difference between splitting the CPU allocation at level 1 to 70% and 30% or splitting the CPU allocation 70% at level 1 and 100% at level 2.
    Any clarification would be greatly appreciated.
    Regards,
    Jure

    what white paper did you read ??
    did you had a chance to look at oracle docs ??
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/dbrm.htm#i1010776
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/ch23_os.htm#BABCAGGJ

  • Cfdiv and session managment

    I am working on a website that uses session managment for
    security login.
    The site was developed with CF6, and we are now trying
    migrating it to CF8.
    Currently, forms are submitted passing the session token in
    the URL like this:
    <form
    action="Assignments.cfm?<cfoutput>#session.URLToken#</cfoutput>"
    method="post">
    </form>
    I'm trying to integrate CFDIV into the code, so I have
    <cfform>
    </cfform>
    <CFDIV bind="url:AnotherForm.cfm ...>
    When I run this, Instead of including "AnotherForm.cfm" the
    session is not getting passed and the system logs me out.
    I've tried
    bind="url:AnotherForm.cfm?<cfoutput>#session.URLToken#</cfoutput>
    (also logs me out)
    and putting the code in a
    <cfdiv>
    <cfform
    action="AnotherForm.cfm?<cfoutput>#session.URLToken#</cfoutput>">
    </cfform>
    <cfdiv>
    Doesn't abend, but doesn't do anything either.
    So, does anybody know how to incorporate cfdiv into session
    management?
    thank you,
    Steve Shapiro
    University of Oregon

    Yes, entity managers are allowed to have one transaction active at any given time.
    Assuming that you have a resource-local entity manager (from your comment about JDBC and non-JTA data sources) then any container-managed transaction associated with a session bean is going to be a JTA transaction and be completely independent of the entity manager transaction (as long as the non-JTA-data source is properly set to a data source that is not a JTA data source).
    If you are using a non-JTA data source element to configure your database then the entity manager will simply do a getConnection() on the data source. If you are using the JDBC persistence properties in persistence.xml then the connection will be obtained directly from the JDBC driver.

  • Workspace Manager and APEX

    I was experimenting with using workspace manager (via DBMS_WM) to version a set of tables. Does everything I want, easily and quickly.
    However, when I update versioned objects in APEX, and then look at the HIST table, the user name is APEXPUBLIC_USER.
    I understand why this is, but does anyone know of any means of overriding the user saved in the _HIST table, using the APEX user instead.
    I had a look at the IOT on the BASE object, but didnt see where it inserts into HIST.
    Any help greatly appreciated.
    Thanks, Rob

    Hi Robert,
    some time ago I created a german how to document on Workspace Manager and APEX - you'll find it here.
    http://www.oracle.com/webfolder/technetwork/de/community/apex/tipps/wm/index.html
    Be careful - in the following text a "workspace" is not an APEX workspace but a DBMS_WM workspace.
    The "_HIST table" is not a table but a view. When version-enabling a table Workspace Manager renames the table, adds columns
    for the versioning information and creates some views. The most important view is the view which "replaces" the original table. The
    "_HIST" view is another view.
    Workspace manager also creates an INSTEAD OF trigger which "catches" the DML done on the view (which now has the name
    of the original object). That DML is being enriched with User and timestamp information and then placed into the original table
    (which now has another name).
    The user information is there because Workspace manager allows to grant privileges on "workspaces" to other users. So you ...
    * first version-enable a table
    * create a new workspace (CHANGES_1)
    * do some DML
    * grant access on your workspace to the other user say: HUGO
    Now you and HUGO can access the workspace CHANGES_1 and review your DML. All other users can only see the
    table status before your changes. So as long as you don't access the version enabled object from different database
    schemas (i.e. different parsing schemas) and you don't use the DBMS_WM.GRANT.... procedures you don't have to care
    about the APEX_PUBLIC_USER information in the HIST view.  You can live with the APEXPUBLIC_USER information.
    Does that help ...?
    Best regards
    -Carsten

  • Help me about session management

    i need session management sample coding and database connection

    Any other version apart from XE. (XE is free for production use and therefore has this tablepsace limit).
    In order of increasing licensing cost (and I don''t know the cost)
    Oracle 10g Standard Edition One
    Oracle 10g Standard Edition
    Oracle 10g Enterprise Edition
    You should be using version 10.2.0.1 or later

Maybe you are looking for

  • Excise invoice is not meant for exports. Message no. 4F242

    Hi All As per my Client Requirement i need to do export sales from specific Plant(Depot). which is used for only export sales. i created STO and then i did Delivery and Billing (JEX) and created Excise invoice with refrence to Billing Doc while Creat

  • Survey Export to Excel - Not all columns are exported

    I have Survey in SharePoint 2013 with questions expecting different answers - radio button options / Ratings / Multi line text, etc. Settings choosen - Read thier own responses, create and edit their own responses I have full control over the site wh

  • Hp officejet pro 8500a plus bluescreen startup issue

    When I am connecting my printer with power supply it is automatically getting on everytime showing a blue screen having some numbers and letters.plz help

  • Photoshop elements 11 please help?

    setup this is the message I get . The following application are using files that need to be updated by this setup. Close these applications and click retry to coninue: Adobe Bridge CS5 (bridge.exe) Iog off, and restread. this did not work what next?

  • Problem testing report builder report

    When I test my report it while in report builder, it looks great on the screen.  When I try to actually print a page so I can see how it looks on paper using the forms, all I get is the background/ CF Developer message.  What am I missing here?  I sh