New Portal Logins Fail At Busy Times - 10g OID MR Database Locks Occurring (Doc ID 1299268.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Internet Directory - Version 10.1.2 to 10.1.4 [Release 10gR2 to 10gR3]
Information in this document applies to any platform.
***Checked for relevance on 01-Dec-2014***

Symptoms

Oracle Internet Directory (OID) 10g.

In busy times, even after a complete bounce of the components/processes, about 10 to 20 minutes later no more users are able to log in to Portal.  The issue usually starts occurring when the load is high.

When the issue occurs, the Metadata Repository (MR) Database (DB) always shows the following delete as a blocker:

DELETE DS_ATTRSTORE WHERE ENTRYID = :B2 AND ATTRNAME = :B1 AND ATTRKIND = 't'


And the waiters want to execute the following:

UPDATE DS_ATTRSTORE SET ATTRVAL = :B1 WHERE ENTRYID = :B2 AND ATTRNAME = 'modifytimestamp'



On the Portal DB, when a blocking / locking situation arises, the blocker is executing the following sql:

declare
rc__ number;
simple_list__ owa_util.vc_arr;
complex_list__ owa_util.vc_arr;
begin
owa.init_cgi_env(:n__,:nm__,:v__);
htp.HTBUF_LEN := 63;
null;
null;
simple_list__(1) := 'sys.%';
simple_list__(2) := 'dbms\_%';
simple_list__(3) := 'utl\_%';
simple_list__(4) := 'owa\_%';
simple_list__(5) := 'owa.%';
simple_list__(6) := 'htp.%';
simple_list__(7) := 'htf.%';
simple_list__(8) := 'wpg_docload.%';
if ((owa_match.match_pattern(p_string =>
'portal.wwsec_app_priv.process_signon'
/* */,p_simple_pattern =>
simple_list__
,p_complex_pattern =>
complex_list__
,p_use_special_chars =>
false)))
then
rc__ := 2;
else
null;
PORTAL.wpg_session.init();
portal.wwsec_app_priv.process_signon(urlc=>:urlc);
if (wpg_docload.is_file_download) then
rc__ := 1;
wpg_docload.get_download_file(:doc_info);
PORTAL.wpg_session.deinit();
null;
null;
commit;
else
rc__ := 0;
PORTAL.wpg_session.deinit();
null;
null;
commit;
owa.get_page(:data__,:ndata__);
end if;
end if;
:rc__ := rc__;
end;


And the following is the sql the waiter is trying to execute:

UPDATE WWCTX_SSO_SESSION$ SET USER_NAME = :B14 , DB_USER = :B13 , NLS_LANGUAGE = :B12 , HTTP_LANGUAGE = :B11 , NLS_TERRITORY = :B10 , TRANSLATION_LANGUAGE = :B9 , ACTIVE = :B8 , IS_LOGGED_ON = :B7 , LOGIN_TIME = :B6 , LAST_UPDATED = :B5 , SESSION_EXPIRE_TIME = :B4 , SUBSCRIBER_ID = :B3 , COOKIE = :B2 WHERE ID = :B1 RETURNING ID, SUBSCRIBER_ID, USER_NAME, DB_USER, NLS_LANGUAGE, HTTP_LANGUAGE, NLS_TERRITORY, TRANSLATION_LANGUAGE, LOGIN_TIME, IP_ADDRESS, IS_LOGGED_ON, LAST_UPDATED, SESSION_START_TIME, SESSION_EXPIRE_TIME, SECURITY_VALID, COOKIE INTO :B0 ,:B1 ,:B2 ,:B3 ,:B4 ,:B5 ,:B6 ,:B7 ,:B8 ,:B9 ,:B10 ,:B11 ,:B12 ,:B13 ,:B14 ,:B15

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms