V$SESSION columns question

Hi Gurus
I have a question regarding of the meaning of some columns in the V$SESSION table. I wonder what does the values in the following columns means?
ROW_WAIT_O
ROW_WAIT_F
ROW_WAIT_B
TADDR
LOCKWAIT
I find out that these columns always have some values when my users unable to log into the application. Even I kill the session that have lockwait, other users are still unable to connect and it happens around once every 2 months.
Thanks for the answer in advanced
Oui

V$SESSION
This view lists session information for each current session.
Column Datatype Description
SADDR
RAW(4 | 8)
Session address
SID
NUMBER
Session identifier
SERIAL#
NUMBER
Session serial number. Used to identify uniquely a session's objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID.
AUDSID
NUMBER
Auditing session ID
PADDR
RAW(4 | 8)
Address of the process that owns this session
USER#
NUMBER
Oracle user identifier
USERNAME
VARCHAR2(30)
Oracle username
COMMAND
NUMBER
Command in progress (last statement parsed); for a list of values, see Table 3-3. These values also appear in the AUDIT_ACTIONS table.
OWNERID
NUMBER
The column contents are invalid if the value is 2147483644. Otherwise, this column contains the identifier of the user who owns the migratable session.
For operations using Parallel Slaves, interpret this value as a 4-byte value. The low-order 2 bytes of which represent the session number, and the high-order bytes the instance ID of the query coordinator.
TADDR
VARCHAR2(8)
Address of transaction state object
LOCKWAIT
VARCHAR2(8)
Address of lock waiting for; NULL if none
STATUS
VARCHAR2(8)
Status of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED (marked to be killed), CACHED (temporarily cached for use by Oracle*XA), SNIPED (session inactive, waiting on the client)
SERVER
VARCHAR2(9)
Server type (DEDICATED| SHARED| PSEUDO| NONE)
SCHEMA#
NUMBER
Schema user identifier
SCHEMANAME
VARCHAR2(30)
Schema user name
OSUSER
VARCHAR2(30)
Operating system client user name
PROCESS
VARCHAR2(9)
Operating system client process ID
MACHINE
VARCHAR2(64)
Operating system machine name
TERMINAL
VARCHAR2(30)
Operating system terminal name
PROGRAM
VARCHAR2(48)
Operating system program name
TYPE
VARCHAR2(10)
Session type
SQL_ADDRESS
RAW(4)
Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed
SQL_HASH_VALUE
NUMBER
Used with SQL_ADDRESS to identify the SQL statement that is currently being executed
PREV_SQL_ADDR
RAW(4)
Used with PREV_HASH_VALUE to identify the last SQL statement executed
PREV_HASH_VALUE
NUMBER
Used with SQL_HASH_VALUE to identify the last SQL statement executed
MODULE
VARCHAR2(48)
Contains the name of the currently executing module as set by calling the DBMS_APPLICATION_INFO.SET_MODULE procedure
MODULE_HASH
NUMBER
The hash value of the above MODULE
ACTION
VARCHAR2(32)
Contains the name of the currently executing action as set by calling the DBMS_APPLICATION_INFO.SET_ACTION procedure
ACTION_HASH
NUMBER
The hash value of the above action name
CLIENT_INFO
VARCHAR2(64)
Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure
FIXED_TABLE_SEQUENCE
NUMBER
This contains a number that increases every time the session completes a call to the database and there has been an intervening select from a dynamic performance table. This column can be used by performance monitors to monitor statistics in the database. Each time the performance monitor looks at the database, it only needs to look at sessions that are currently active or have a higher value in this column than the highest value that the performance monitor saw the last time. All the other sessions have been idle since the last time the performance monitor looked at the database.
ROW_WAIT_OBJ#
NUMBER
Object ID for the table containing the ROWID specified in ROW_WAIT_ROW#
ROW_WAIT_FILE#
NUMBER
Identifier for the datafile containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
ROW_WAIT_BLOCK#
NUMBER
Identifier for the block containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
ROW_WAIT_ROW#
NUMBER
The current ROWID being locked. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
LOGON_TIME
DATE
Time of logon
LAST_CALL_ET
NUMBER
The last call
PDML_ENABLED
VARCHAR2(3)
This column has been replaced by column PDML_STATUS
FAILOVER_TYPE
VARCHAR2(13)
Indicates whether and to what extent transparent application failover (TAF) is enabled for the session:
NONE - failover is disabled for this session
SESSION - the client is able to fail over its session following a disconnect
SELECT - the client is able to fail over queries in progress as well
See Also:
Oracle9i Database Concepts for more information on TAF
Oracle9i Net Services Administrator's Guide for information on configuring TAF
FAILOVER_METHOD
VARCHAR2(10)
Indicates the transparent application failover method for the session:
NONE - failover is disabled for this session
BASIC - the client itself reconnects following a disconnect
PRECONNECT - the backup instance can support all connections from every instance for which it is backup
FAILED_OVER
VARCHAR2(3)
Indicates (YES|NO) whether the session is running in failover mode and failover has occurred
RESOURCE_CONSUMER_GROUP
VARCHAR2(32)
Name of the session's current resource consumer group
PDML_STATUS
VARCHAR2(8)
If ENABLED, the session is in a PARALLEL DML enabled mode. If DISABLED, PARALLEL DML enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DML.
PDDL_STATUS
VARCHAR2(8)
If ENABLED, the session is in a PARALLEL DDL enabled mode. If DISABLED, PARALLEL DDL enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DDL.
PQ_STATUS
VARCHAR2(8)
If ENABLED, the session is in a PARALLEL QUERY enabled mode. If DISABLED, PARALLEL QUERY enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL QUERY.
CURRENT_QUEUE_DURATION
NUMBER
If queued (1), the current amount of time the session has been queued. If not currently queued, value is 0.
CLIENT_IDENTIFIER
VARCHAR2(64)
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch3171.htm#1122127
Joel P�rez

Similar Messages

  • Session Timeout Question in EME

    If I login to eManager Web and instead of logging out I just close the browser will I be logged out? Will the license be released? What is the session timeout for this and is it possible to set this value?

    If you close the browser in e-Manager Enterprise Web instead of logging out there is a TimeOut that will release your license. This can be seen and is reported on in the e-Manager logs. By default the session TimeOut value is 30 minutes. You can find this and/or change this value by opening "<installdir>\Empirix\EmpAppServer\server\default\deploy\jbossweb-tomcat55.sar\conf\web.xml" in a notepad. Once the file is open, go the the ?Default Session Configuration? Section. Here you can change the TimeOut value. You will then need to save the file and restart the Empirix Application Service. The idle sessions are retired after the specified timeout is reached and the licenses are also checked upon this value. I hope this answers your questions.

  • V_$Session column program too small.

    I'm tring to find the program executed in a given session using the PROGRAM column in V_$SESSION (Oracle 8.1.7) however I can't because the column length seems 48 chacacters wide and that's not enough with a long path like "C:\somewhere......".
    Then the column value is truncated.
    Is there any workaround ?
    Tks
    Tullio

    You can see from v$fixed_view_definition that the gv$session and v$session views directly reflect the undelying value in x$ksuse. Hence I suspect there is no way to get a longer text for the os program.

  • General Design With Database and Session Bean Question

    I have an application I am developing where users connect to individual databases located on a server. When they login an admin table is accessed which shows what databases they have permissions to. I am then storing the connection to the database in a backing bean. Hoping to use this connection throughout the session. Is this a good practice to have a users connection left open over the session? I can't create a database pool for each individual database and each user for that database.
    If I can store that database connection in a session bean. How do I access that connection from another bean. Or from another java class? I am using Glassfish for my application server with JSF1.2. I have looked at resource injection but have not had any luck with sharing the session bean information.
    Sorry if this is a trivial question. I have been a Java developer for years. But just starting developing webapps using JSF.
    Thanks

    JuCobb2 wrote:
    I am then storing the connection to the database in a backing bean. Hoping to use this connection throughout the session. Is this a good practice to have a users connection left open over the session? No it is not. Why should you do so? Always keep the lifetime of connection, statement and resultset as short as possible.

  • Report Amount Column Question

    This is a silly question I'm sure but in terms of calculating the amount column in a report should you just calculate it by taking all the debit / credit balances for all P&L accounts or is there some other method typically used?  Also can someone confirm the following?
    P&L
    debit balance = positive (expenses), credit balance = negative (revenue)
    Edited by: Hari Nair Junior on Jun 5, 2009 1:17 AM

    HI
    P&L = Sales/ Revenue   Minus Expenses
    Yes , debit balance = positive (expenses), credit balance = negative (revenue.
    Please note that you need to consider only P&L type account of a list of GL Balances . Other accounts will be of the Balancesheet . Where Debit will be Assets and Credit will be liabilities.
    Hope this helps
    Regds
    Rajiv

  • XL Reporter Column Question

    Can somone explain the role of the selection of a Dimention in a Column as opposed to a selection in a Row. Does the  "column selection" create the repetitive area for all tranasactions to be shown?
    When I have Dimentions selelcted in a Row, how do I decide on which Column to apply a Dimention?
    Anybody knows od any learning material about this topic?
    Thank you
    Robert
    PS The reason for my question is that I always start designing my XLR report by applying Dimentions, Light Dimentions and Measures in a Row and I get stuck because I need to set a Dimention for a Column in order to show values for a Period

    Hi Robert,
    You can access it through the Documentation Resource center as well.
    Please go to the following:
    http://service.sap.com/smb/sbo/documentation
    (If itu2019s not work directly then please refer to: http://service.sap.com -> SAP Channel Partner Portal -> /login/ -> Solutions -> SAP Business One -> Support -> Documentation Resource Center)
    Select SAP Business One Add-Ons 2007 > XL Reporter
    hope it helps,
    Regards,
    Ladislav

  • Session var question

    never mind...got it
    Edited by: mbowles on Aug 27, 2009 6:03 AM

    To answer your question no. For security reasons, you cannot retrieve a sessoin using its ID.
    Is it an extremely secure piece of information?
    If the servlet and applet are talking to the same web application, you could possibly pass the data via the application scope (have a map in application scope, keyed by the session ID, and put the value to pass in that)
    Its not completely secure, because any servlet/jsp in the application can view that data, but it is a sidestep hack to accomplish what you wish :-)

  • NI session manager question

    I use NI session manager to control instrument,when I get the instrumenthandle and  can testing .but my question is :
    if I close instrument power and not close NI teststand,but the teststand can run sucess ,my dll document run in demo.
    but I think there must be a error ,and the dll return value is 0. in fact ,if the instrument closed, the return value maybe a negative.
    how can I deal with it ?

    Hello Sean,
    I want to make sure I fully understand your question.  Do you have a DLL that you are calling in your TestStand sequence as a code module?  If so, does a function within the DLL return a negative number if the instrument is not powered?  Is your overall question how can you determine whether the return value from the DLL is negative and make a decision based on this result?  Thanks in advance for these answers!
    Matt G.
    National Instruments
    Applications Engineering

  • Session object question put vs. putValue vs. setAttribute?

    I have the following code:
    <%@ page import="java.util.*" %>
    <jsp:useBean id="EducationBean" class="java.util.Hashtable" scope="session" />
    <%
    String swCurrFileName = "swcontrol.jsp";
    Enumeration params = request.getParameterNames();
    while (params.hasMoreElements()) {
         String name = (String)params.nextElement();
         EducationBean.put(name, request.getParameter(name));
    %>
    My question is I can't find any documentation on the put command, whats the difference between 'put', and 'putValue', and 'setAttribute'? When I try using the 'putValue' or 'setAttribute' command I get errors.
    What I'm trying to do is store form values in a session object across several pages, and on the last page display all the form values from the previous pages.

    the object you are calling put on is a java.util.Hashtable. put places an object into the table to be keyed off of another object. In your case, your key is the variable name and the object to be stored is your parameter from that name.
    the putValue and setAttribute are methods on the session object. They both do the same action as above, but are for HttpSession objects. putValue is deprecated and you should be using setAttribute, but most WebServers have putValue() pointing to the setAttribute() method. hope this helps.

  • Myfaces t:columns question...please help me...

    Hi guys,
    i've tried lots of solutions,but i think i've find right solution to solve my question.
    I have to create a datatable with a fixed number of columns and other dynamic columns.
    I've rendered it using t:columns of Myfaces and it works fine.
    It's a piece of jsp page
              <t:dataTable
        value="#{biosamplesTable.biosamples}"
        var="biosampleItem"
         binding="#{biosamplesTable.biosampleDataTable}"  >
        <h:column >
            <f:facet name="header">
                <h:outputText value="Organism" />
            </f:facet>
           <h:selectOneMenu value="#{biosampleItem.organism}">
                <f:selectItems value="#{getDropList.selectOrganism}"/>
           </h:selectOneMenu>
    etc..etc..   
            <t:columns value="#{biosamplesTable.columns}" var="col">
             <f:facet name="header">
                      <h:outputText value="Nuova" />
            </f:facet>
            <h:inputText value="#{biosampleItem.column}" />
        </t:columns>
         <h:column>
            <f:facet name="header">
                <h:outputText value="Actions" />
            </f:facet>
            <h:commandButton
            value="Invia dati biosample" actionListener="#{biosamplesTable.editBiosample}" id="editBiosample">
            </h:commandButton>
        </h:column>
    </t:dataTable>     
    </h:form>     
    }     My only question is:
    I'm able to retrieve the h:column values for each row,i do it in editBiosample method
    public void editBiosample(ActionEvent event) throws SQLException {
              setBiosampleItem((Biosample) getBiosampleDataTable().getRowData());
              try {
                   if (conn != null) {
                        Experiment exp = (Experiment) ViewUtils.eval("#{experiment}");
                        PreparedStatement pst3 = null;
                        pst3 = conn
                                  .prepareStatement("INSERT INTO  campione(id_,organismo,protocollotrattamento,metodoestrazione,tipoamplificazione,protocolloibridazione,protocollomarcatura)      VALUES(?,?,?,?,?,?,?)");
                        pst3.setInt(1, exp.getAutoKey());
                        pst3.setString(2, getBiosampleItem().getOrganism());
                        pst3.setString(3, getBiosampleItem().getTreatmentProtocol());
                        etc...
              pst3.executeUpdate();
              pst3.close();
              catch (Exception e) {
                   e.printStackTrace();
         }now i have to retrieve the h:columns values for each row,how can i do it?
    Please help me,i've started so but there is some error,each values is null!!
    For generating columns i've used..
    public List getColumns() throws Exception {
         if (load2 == 0) {
         for (int i = 0; i < 3; i++) {
              UIOutput input = new UIInput();
            ValueBinding myItem =
                FacesContext
                    .getCurrentInstance()
                        .getApplication()
                            .createValueBinding("#{biosampleItem[" + i + "]}");
            input.setValueBinding("value", myItem);
            UIColumn column = new UIColumn();
            column.getChildren().add(input);
              columns.add(column);
              load2=1;
         else this.columns=columns;
         // Reload after every request.
         return columns;
    }what's wrong?
    Please help me,i need to solve my problem...
    thanks in advance...
    Message was edited by:
    giubat
    Message was edited by:
    giubat

    Ok, you have more than one frame and when you make your dialog, it is only modal on one frame.
    Not sure how to make a workaround for that. That would proably require that when another frame got the focus, it should check if any of the frames has a modal dialog visible, and if that is the case, it should move the dialog to the front (dialog.toFront()).

  • Postmerge session event question

    We have implemented a custom session event listener that utilizes the postmerge session event.
    We have observed some unexpected behavior and were hoping that the product architect or manager could explain this behavior.
    We have the following graph of objects:
    A has a many-to-many privately owned collection of B
    B in turn has a many-to-many privately owned collection of C
    After commiting a transaction involving object A we observe:
    postMerge event for A
    postMerge event of each of A's privately owned Bs
    yet NO postMerge event for any of B's privately owned Cs
    Questions:
    1) Is this the expected behavior?
    2) Since we need to do some processing of Cs, we are using the postMerge event that occurs on Bs to update the Cs. Is this a safe/correct approach?
    3) In a transaction that involved only updates to Cs, (no changes to A or B), would we see a postMerge event for each updated C?
    Thanks in advance for any clarification you can provide.
    ...Steve

    You could paste the results (tkprof ?) of the trace.
    The "missing" time could be an uninstrumented wait --- i.e. a wait event that is not captured in v$session_event. Particularly because you are using external calls.
    For example, see "Case Study 1" at http://blog.tanelpoder.com/2007/08/27/advanced-oracle-troubleshooting-guide-part-2-no-magic-is-needed-systematic-approach-will-do/
    Hemant K Chitale

  • Session cookie question?

    This is a really stupid question but i need the answer lol is a session cookie and a session the same thing? if not whats different and which is better to use to see if a user is logged on my site?

    A "session" is stored in memory on the server and is bound to a specific "sessionId". The sessionId is stored in a cookie by default. When the browser submits the cookie the webserver can use that value to link an existing session to that client.

  • Authentication & Session Management questions

    Hi. Apex 2.2.1. I'm going crazy trying to set up authentication for my application. I'd appreciate any pointers. My scenario is
    Siteminder intercepts all calls to the application
    User authenticates with Siteminder
    If authenticated, Siteminder sets HTTP_SM_USER in the header
    If not authenticated, then APEX is never called
    Pull the user out of the header
    Create a session if needed
    Log the user in if needed
    Redirect the user to the request page
    I've followed the example that I've found in the forum and set up a page sentry function to create a session when the user first comes in. After that I try to verify that the session belongs to them. That's not working because wwv_flow_custom_auth_std.get_username never returns a value. I think that's because I'm not logging the user in to APEX. I can't figure out the difference between wwv_flow_custom_auth_std.post_login and wwv_flow_custom_auth_std.login. (it probably doesn't help that I inherited the application from some consultants that left a year ago and there is no documentation on it or even APEX here at my site).
    Mike

    Thanks, Scott. The problem is that it seems to keep looping. You can see from the log that it creates the session, then invalidates it, then creates it, etc.
    Mike
    debug log
         384     1000     Enter 604 - 1 user MDHENDER session NOT valid
         384     4000     session is NOT valid
         384     4100     dn_network_id is acct\mdhender
         384     5000     creating a new session
         384     5010     created new session
         384     6000     setting up follow up url
         384     6010     follow up url is 604:1:
         384     7000     register new session
         384     7010     registered session
         384     9000     clean exit
         385     1000     Enter 604 - 1 user MDHENDER session valid
         385     3000     session is valid 1707655438517376
         385     3010     authenticated user MDHENDER cookie
         385     3100     marker
         385     3200     marker
         386     1000     Enter 604 - 1 user MDHENDER session NOT valid
         386     4000     session is NOT valid
         386     4100     dn_network_id is acct\mdhender
         386     5000     creating a new session
         386     5010     created new session
         386     6000     setting up follow up url
         386     6010     follow up url is 604:1:
         386     7000     register new session
         386     7010     registered session
         386     9000     clean exit
         387     1000     Enter 604 - 1 user MDHENDER session valid
         387     3000     session is valid 2743127946937676
         387     3010     authenticated user MDHENDER cookie
         387     3100     marker
         387     3200     marker
    Here is the code
    <code>
    CREATE OR REPLACE FUNCTION lmf_siteminder_page_sentry RETURN BOOLEAN IS
    vAuthenticatedUsername VARCHAR2(512);
    vCurrentSessionId NUMBER;
    vDeclaredUser VARCHAR2(512);
    vLogFlag VARCHAR2(1);
    vMaxIdleMinutes NUMBER := 15;
    vNextPage VARCHAR2(1024);
    vTransNo NUMBER;
    PROCEDURE log_msg(vFlag in varchar2,
    vTransNo in number,
    vSeqNo in number,
    vMessage in varchar2) is
    pragma autonomous_transaction;
    BEGIN
    IF vFlag = 'Y' THEN
    insert into sm_debug_log
    (transno, seqno, msg)
    values
    (vTransNo, vSeqNo, vMessage);
    commit;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    rollback;
    raise;
    END;
    -- determine if the siteminder user is authorized
    FUNCTION CheckAuthorizedUser(vUserName in varchar2) return boolean is
    vDeclaredUser VARCHAR2(512);
    BEGIN
    -- verify that the user is supposed to have access to the application.
    -- a quick check of the authorized users table will settle that question
    select dn_network_id
    into vDeclaredUser
    from user_authorization
    where UPPER(network_id) = UPPER(vUserName);
    return true;
    EXCEPTION
    WHEN OTHERS THEN
    return false;
    END;
    -- if the session cookie's user matches our authenticated user then
    -- return true
    FUNCTION CheckCookieUser(vUserName in varchar2) return boolean is
    BEGIN
    IF vAuthenticatedUsername = wwv_flow_custom_auth_std.get_username THEN
    return true;
    END IF;
    return false;
    END;
    FUNCTION URLRedirect(vUrl IN varchar2) return boolean is
    BEGIN
    log_msg(vLogFlag, vTransNo, 9999, 'redirect => ' || vUrl);
    owa_util.redirect_url(vUrl, true);
    wwv_flow.g_unrecoverable_error := true;
    return false;
    END;
    BEGIN
    BEGIN
    select debug, sm_seq_no.nextval
    into vLogFlag, vTransNo
    from sm_settings;
    EXCEPTION
    WHEN OTHERS THEN
    vLogFlag := 'N';
    END;
    -- get authenticated user from siteminder. APEX may expect it
    -- to be upper case
    vAuthenticatedUsername := UPPER(lmf_siteminder_user());
    IF wwv_flow_custom_auth_std.is_session_valid THEN
    log_msg(vLogFlag,
    vTransNo,
    1000,
    'Enter ' || v('APP_ID') || ' - ' || v('APP_PAGE_ID') ||
    ' user ' || nvl(vAuthenticatedUsername, '*null*') ||
    ' session valid');
    ELSE
    log_msg(vLogFlag,
    vTransNo,
    1000,
    'Enter ' || v('APP_ID') || ' - ' || v('APP_PAGE_ID') ||
    ' user ' || nvl(vAuthenticatedUsername, '*null*') ||
    ' session NOT valid');
    END IF;
    -- no surprise here - let anyone view a page flagged as public
    IF htmldb_custom_auth.current_page_is_public THEN
    log_msg(vLogFlag, vTransNo, 1010, 'current page is public');
    return true;
    END IF;
    -- redirect all unauthorized users to our no-access page
    IF not CheckAuthorizedUser(vAuthenticatedUsername) THEN
    -- send the user to our unathorized page
    log_msg(vLogFlag,
    vTransNo,
    1100,
    'unable to find dn_network_id for authenticated user ' ||
    lmf_siteminder_user());
    log_msg(vLogFlag,
    vTransNo,
    1110,
    'try a redirect to ' || '/pls/apex/f?p=' || v('APP_ID') ||
    ':105:' || vCurrentSessionId || ':');
    return URLRedirect('/pls/apex/f?p=' || v('APP_ID') || ':105:' ||
    vCurrentSessionId || ':');
    END IF;
    -- use the current session if it is valid and assigned to
    -- our authenticated user
    IF wwv_flow_custom_auth_std.is_session_valid THEN
    vCurrentSessionId := wwv_flow_custom_auth_std.get_session_id_from_cookie;
    log_msg(vLogFlag,
    vTransNo,
    3000,
    'session is valid ' || vCurrentSessionId);
    log_msg(vLogFlag,
    vTransNo,
    3010,
    'authenticated user ' || vAuthenticatedUsername || ' cookie ' ||
    wwv_flow_custom_auth_std.get_username);
    -- if the session cookie's user matches our authenticated user then
    -- accept it and proceed with displaying the page
    IF CheckCookieUser(vAuthenticatedUsername) THEN
    wwv_flow_custom_auth.define_user_session(p_user => vAuthenticatedUsername,
    p_session_id => vCurrentSessionId);
    return true;
    END IF;
    log_msg(vLogFlag, vTransNo, 3100, 'marker');
    -- the names do not match. assume that someone hijacked the session.
    -- invalidate it and bump them out
    -- Unset the session cookie and redirect back here to take other branch
    wwv_flow_custom_auth_std.logout(p_this_flow => v('APP_ID'),
    p_next_flow_page_sess => v('APP_ID') || ':' ||
    nvl(v('APP_PAGE_ID'),
    0) || ':' ||
    vCurrentSessionId);
    wwv_flow.g_unrecoverable_error := true;
    log_msg(vLogFlag, vTransNo, 3200, 'marker');
    -- tell APEX that we are not pleased
    return false;
    END IF;
    log_msg(vLogFlag, vTransNo, 4000, 'session is NOT valid');
    -- we did not have a valid session so verify that the user is supposed
    -- to access our application. a quick check of the authorized users
    -- table will settle that question for us
    BEGIN
    select dn_network_id
    into vDeclaredUser
    from user_authorization
    where UPPER(network_id) = vAuthenticatedUsername;
    log_msg(vLogFlag, vTransNo, 4100, 'dn_network_id is ' || vDeclaredUser);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    -- send the user to our unathorized page
    log_msg(vLogFlag,
    vTransNo,
    4900,
    'unable to find dn_network_id for authenticated user ' ||
    vDeclaredUser);
    log_msg(vLogFlag,
    vTransNo,
    4910,
    'try a redirect to ' || '/pls/apex/f?p=' || v('APP_ID') ||
    ':105:' || vCurrentSessionId || ':');
    return URLRedirect('/pls/apex/f?p=' || v('APP_ID') || ':105:' ||
    vCurrentSessionId || ':');
    END;
    -- create new session
    log_msg(vLogFlag, vTransNo, 5000, 'creating a new session');
    wwv_flow_custom_auth.define_user_session(p_user => vAuthenticatedUsername,
    p_session_id => wwv_flow_custom_auth.get_next_session_id);
    log_msg(vLogFlag, vTransNo, 5010, 'created new session');
    wwv_flow.g_unrecoverable_error := true;
    -- set cookie
    -- set the followup URL to page 1
    log_msg(vLogFlag, vTransNo, 6000, 'setting up follow up url');
    vNextPage := to_char(wwv_flow.g_flow_id) || ':1:';
    log_msg(vLogFlag, vTransNo, 6010, 'follow up url is ' || vNextPage);
    --wwv_flow_custom_auth.remember_deep_link(p_url => vNextPage);
    --log_msg(vLogFlag, vTransNo, 6020, 'completed follow up url');
    --IF owa_util.get_cgi_env('REQUEST_METHOD') = 'GET' THEN
    -- wwv_flow_custom_auth.remember_deep_link(p_url => 'f?' ||
    -- wwv_flow_utilities.url_decode2(owa_util.get_cgi_env('QUERY_STRING')));
    --ELSE
    -- wwv_flow_custom_auth.remember_deep_link(p_url => 'f?p=' ||
    -- to_char(wwv_flow.g_flow_id) || ':' ||
    -- to_char(nvl(wwv_flow.g_flow_step_id,
    -- 0)) || ':' ||
    -- to_char(wwv_flow.g_instance));
    --END IF;
    -- register new session with the application
    log_msg(vLogFlag, vTransNo, 7000, 'register new session');
    if 0 < 1 then
    wwv_flow_custom_auth_std.post_login(p_uname => vAuthenticatedUsername,
    p_flow_page => vNextPage);
    log_msg(vLogFlag, vTransNo, 7010, 'registered session');
    else
    wwv_flow_custom_auth_std.login(P_UNAME => vAuthenticatedUsername,
    P_PASSWORD => 'dummy',
    P_SESSION_ID => v('APP_SESSION'),
    P_FLOW_PAGE => v('APP_ID') || ':1');
    log_msg(vLogFlag, vTransNo, 7011, 'registered session');
    end if;
    if 0 > 1 then
    owa_util.mime_header('text/html', FALSE);
    owa_cookie.send(name => 'LOGIN_USERNAME_COOKIE',
    value => vAuthenticatedUsername,
    expires => null,
    path => '/',
    secure => 'yes');
    owa_cookie.send(name => 'HTMLDB_IDLE_SESSION',
    value => to_char(sysdate + (vMaxIdleMinutes / 1440),
    'DD-MON-YYYY HH24:MI:SS'),
    expires => null,
    path => '/',
    secure => 'yes');
    end if;
    log_msg(vLogFlag, vTransNo, 9000, 'clean exit');
    -- tell htmldb engine to quit
    return false;
    EXCEPTION
    WHEN OTHERS THEN
    return false;
    END;
    </code>

  • Customer login session tracking questions

    Hi,
    I work for a research support group at a university. We have a mixed platform environment. The nature of the services we provide requires that we bill for time spent on out compute devices.
    There are a couple of questions in this posting. The fundamental one though is -- for 10.4 and higher Macs running on Intel and non-Intel hardware what is the "best" solution to track login sessions for our customers? A session has to include the concepts of logging in and out from the console or remote (ssh) access to the machine(s).
    I am interested in Apple native and third party or open source solutions. I need to track/log that customer-X logged in to machine-M at dateTime-T and logged out at dateTime-T'. I also need to know if the machine was (re)booted or had some other action occur that would impact a customer login session.
    So the main question is, are there existing customer session tracking solutions?
    I have an existing home grown (non-Intel) solution that works well on non-Intel macs and other *nix boxes. It is a daemon that reads accumulated, rotated wtmp files and then "hangs" on the current wtmp file waiting for and processing session records as they arrive.
    This worked like a champ until we installed our first Intel Mac. I re-compiled the C code that uses the utmp.h include files and structs to get at the info but it silently fails. I received some advice on changing my make file and am currently using:
    # Mac OS
    CC = gcc -Wall -g
    CFLAGS = -I/usr/include/mysql -isysroot \
    /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 \
    -framework CoreServices
    LDFLAGS = -L/usr/lib/mysql -lmysqlclient -lz \
    -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk \
    -arch ppc -arch i386
    PLATFORM = osx
    wtmp_parser: wtmp_parser.c
    ${CC} ${CFLAGS} -o $@ $? ${LDFLAGS}
    /bin/mv $@ $@.${PLATFORM}
    Again, this compiles without error but silently fails. I don't know anything about compiling on any Macs, much less these new ones. Ideas are greatly appreciated.
    Lastly, I have started reworking the whole setup and may move it all to perl. Here I can read the wtmp files easily using unpack() even on the Intel Macs. I can daemonize the thing but I'm stumbling a bit on one issue.
    I have noticed in the past that there can be a sort of race condition during the wtmp rotation on some machines where the active wtmp gets rotated but the old logging still writes one or two records to the rotated file before switching to the new one. I was starting to look into a programmatic solution for this when I looked at the rotated wtmp files on this one machine and I see file dates of:
    Dec 5 15:29 wtmp
    Oct 1 01:47 wtmp.0.gz
    Aug 29 16:05 wtmp.1.gz
    Aug 1 05:29 wtmp.2.gz
    Jul 31 18:26 wtmp.3.gz
    May 31 2007 wtmp.4.gz
    Okee... I know there is a /etc/monthly script that should be doing the rotation but it looks like it is not doing what I expect. It seems that it is not rotating all the existing files correctly. Ideas?

    I am done. Sorry for bothering

  • EJB 3.0 Session Bean question

    Hi there,
    How'd I expose a method of Stateless Session Bean in EJB 3.0? I don't seem to find any annotation for that.
    Thanks in advance.
    Saeed

    If you need to expose method implemented in Session bean, you can invoke the method call from within another method called in Client.
    This method has to be defined in the remote interface . The method you are trying to invoke can be defined somewhere else but called in your bean class from within the method definedin the remote interface.

Maybe you are looking for

  • Inspection type 01 - inspection lot creation based on vendor batch number

    Hi Guys, this topic has been discussed several times here, but I was not able to find a suitable answer for my question. I am facing the folowing requirement: I have activated inspection type 01 for a raw material. I am receiving a firs goods receipt

  • Stream 8 Tablet - 5901 will not let me log in!

    I am having a problem with my wife's HP Stream 8 tablet. When you turn it on the normal window start screen with the date and time pops up first. Then I can slide that screen up to expose the log in screen. Now she uses a 4 digit code to log in with

  • My Finder window doesn't display properly after drag & drop

    When I do a drag/drop - maybe to add a mail attachment or insert a picture into Powerpoint - the Finder window changes/freezes in that it I can no longer scroll up or left - any ideas what might be going wrong? Thanks in advance.

  • Deployment option under publish settings....

    ello. My problem has to do with under the DEPLOYMENT option in the publish settings when your trying to import a video file, Im wondering what the actionscript would perhaps look like if say I want to take multiple videos and load them into one playe

  • Security issue identified in iOS

    I may have found a security flaw in iOS 5.0.1. No area in the forum, nor placement to address issue. Would like to speak with Apple rep to confirm risk rather than put info in forum.