Skip to content

packages sess.init_session

Jan Kvetina edited this page Sep 27, 2020 · 3 revisions

sess.init_session

Repository spec: sess.init_session, body: sess.init_session


Signature (1)

PROCEDURE init_session;
Show code (12 lines)

PROCEDURE init_session AS
BEGIN
    DBMS_SESSION.CLEAR_ALL_CONTEXT(sess.app_namespace);
    DBMS_SESSION.CLEAR_IDENTIFIER();
    --
    DBMS_APPLICATION_INFO.SET_MODULE (
        module_name => NULL,
        action_name => NULL
    );
    --
    recent_session_id := NULL;
END;

Signature (2)

PROCEDURE init_session (
    in_user_id          sessions.user_id%TYPE
);
Show code (18 lines)

PROCEDURE init_session (
    in_user_id          sessions.user_id%TYPE
) AS
BEGIN
    sess.init_session();

    -- set session things
    DBMS_SESSION.SET_IDENTIFIER(in_user_id);                -- USERENV.CLIENT_IDENTIFIER
    DBMS_APPLICATION_INFO.SET_CLIENT_INFO(in_user_id);      -- CLIENT_INFO, v$
    --
    DBMS_SESSION.SET_CONTEXT (
        namespace   => sess.app_namespace,
        attribute   => sess.app_user_attr,
        value       => in_user_id,
        username    => in_user_id,
        client_id   => sess.get_client_id(in_user_id)
    );
END;

Minimal example

BEGIN
    sess.init_session();
    --sess.init_session('JKVETINA');  -- to retain or set user_id
END;
/
--
SELECT * FROM session_context ORDER BY 1, 2;

Clone this wiki locally