DBA Data[Home] [Help]

APPS.BSC_SECURITY dependencies on BSC_CURRENT_SESSIONS

Line 401: bsc_current_sessions c

397: s.serial#
398: From
399: v$session s,
400: v$session_wait w,
401: bsc_current_sessions c
402: Where
403: s.audsid = c.session_id And
404: s.sid = w.sid And
405: c.program_id = -600 And

Line 460: -- Clean BSC_CURRENT_SESSIONS to leave only current sessions

456: WHERE last_update_login = h_session_id;
457: commit;
458:
459: BSC_SECURITY.Refresh_System_Lock(x_program_id);
460: -- Clean BSC_CURRENT_SESSIONS to leave only current sessions
461: --Delete bsc_current_sessions
462: --Where session_id Not In (Select vs.audsid From V$Session vs);
463: --commit;
464: --

Line 461: --Delete bsc_current_sessions

457: commit;
458:
459: BSC_SECURITY.Refresh_System_Lock(x_program_id);
460: -- Clean BSC_CURRENT_SESSIONS to leave only current sessions
461: --Delete bsc_current_sessions
462: --Where session_id Not In (Select vs.audsid From V$Session vs);
463: --commit;
464: --
465: -- Clean BSC_CURRENT_SESSIONS for ibuilder when users click "logout" button

Line 465: -- Clean BSC_CURRENT_SESSIONS for ibuilder when users click "logout" button

461: --Delete bsc_current_sessions
462: --Where session_id Not In (Select vs.audsid From V$Session vs);
463: --commit;
464: --
465: -- Clean BSC_CURRENT_SESSIONS for ibuilder when users click "logout" button
466: -- Added for BIS Application ID (191), so that loader session is not removed.
467: -- Fix locking issue with icx sessions:
468: -- We have found that we can call the api FND_SESSION_MANAGEMENT.Check_Session,
469: -- passing the icx session id and it will return any 'VALID', 'INVALID' or 'EXPIRED'.

Line 482: --Delete bsc_current_sessions

478: --
479: -- The icx session id is not re-used by FND, so we can take off the second condition:
480: -- or (responsibility_application_id not in (271, 191))
481: --
482: --Delete bsc_current_sessions
483: --Where icx_session_id In (
484: -- Select session_id
485: -- From icx_sessions
486: -- Where (fnd_session_management.check_session(session_id, null, null, 'N') <> 'VALID')

Line 493: --Delete bsc_current_sessions

489: --
490: --metadata optimizer , loader are conc requests.if the conc request is not running anymore
491: --we can remove it from bsc_current_session
492: --phase code of C means complete. the other phases are pending, running
493: --Delete bsc_current_sessions
494: --Where session_id in --(select nvl(oracle_session_id,-1) from fnd_concurrent_requests where phase_code='C'); --bug 3396460, optimized query
495: --(select oracle_session_id from fnd_concurrent_requests f ,bsc_current_sessions b where b.session_id = f.oracle_session_id and phase_code='C');
496: --
497: -- Kill IViewer Sessions that have been INACTIVE more than 20 minutes

Line 495: --(select oracle_session_id from fnd_concurrent_requests f ,bsc_current_sessions b where b.session_id = f.oracle_session_id and phase_code='C');

491: --we can remove it from bsc_current_session
492: --phase code of C means complete. the other phases are pending, running
493: --Delete bsc_current_sessions
494: --Where session_id in --(select nvl(oracle_session_id,-1) from fnd_concurrent_requests where phase_code='C'); --bug 3396460, optimized query
495: --(select oracle_session_id from fnd_concurrent_requests f ,bsc_current_sessions b where b.session_id = f.oracle_session_id and phase_code='C');
496: --
497: -- Kill IViewer Sessions that have been INACTIVE more than 20 minutes
498: -- This is implemented only in APPS mode.
499: -- Note: Only Architect can do it.

Line 504: -- from BSC_CURRENT_SESSIONS table.

500: --
501: -- Bug#2145306: Since the IViewer sessions are returned to the pool after
502: -- user exists and another application can use the same session, we cannot
503: -- kill the session for any reason. What we can do is to delete the record
504: -- from BSC_CURRENT_SESSIONS table.
505: --
506: --IF x_program_id <> -600 THEN
507: -- IF BSC_APPS.APPS_ENV THEN
508: -- OPEN c_ksessions;

Line 511: -- DELETE BSC_CURRENT_SESSIONS

507: -- IF BSC_APPS.APPS_ENV THEN
508: -- OPEN c_ksessions;
509: -- FETCH c_ksessions INTO h_ksession;
510: -- WHILE c_ksessions%FOUND LOOP
511: -- DELETE BSC_CURRENT_SESSIONS
512: -- WHERE SESSION_ID = h_ksession.audsid;
513: -- FETCH c_ksessions INTO h_ksession;
514: -- END LOOP;
515: -- CLOSE c_ksessions;

Line 521: --Delete bsc_current_sessions

517: --END IF;
518: --
519: -- Delete KILLED sessions from bsc_current_sesions
520: -- Even tough we do not kill session, we can try this.
521: --Delete bsc_current_sessions
522: --Where session_id In (Select vs.audsid From V$Session vs Where vs.status = 'KILLED');
523: --commit;
524:
525: -- Make the query to validate if the application can run or not.

Line 536: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

532:
533: -- fixed the following SQLS for the literals bug
534:
535: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
536: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
537: ' WHERE c.session_id = s.audsid'||
538: ' AND c.program_id in (-700, -800)'||
539: ' AND c.session_id <> :1 '||
540: ' AND c.user_id = u.user_id (+)';

Line 548: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

544: -- Several instances can run at the same time.
545: -- It can run at the same time with iViewer, Metadata Optimizer(Generate Documentation or Rename input tables)
546: -- They cannot run at the same time with Loader or Metadata(Configure Indicators), Upgrade or Migration.
547: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
548: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
549: ' WHERE c.session_id = s.audsid'||
550: ' AND c.program_id in (-100, -101, -200, -700, -800, -802)'||
551: ' AND c.session_id <> :1 '||
552: ' AND c.user_id = u.user_id (+)';

Line 561: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

557: -- They can run at the same time with iViewer, Security and Metadata Optimizer (Rename input tables)
558: -- They cannot run at the same time with Loader, Metadata(Configure Indicators),
559: -- Metadata Optmizer(Generate documention), Upgrade or Migration.
560: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
561: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
562: ' WHERE c.session_id = s.audsid'||
563: ' AND c.program_id in (-100, -101, -200, -201, -700, -800, -802)'||
564: ' AND c.session_id <> :1 '||
565: ' AND c.user_id = u.user_id (+)';

Line 572: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

568: -- Loader UI
569: -- Only one instance at the same time.
570: -- It cannot run at the same time with any other tool but IViewer and Metadata Optmizer(Generate documentation).
571: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
572: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
573: ' WHERE c.session_id = s.audsid'||
574: ' AND c.program_id in (-100, -101, -200, -202, -300, -400, -500, -700, -800, -802)'||
575: ' AND c.session_id <> :1'||
576: ' AND c.user_id = u.user_id (+)';

Line 584: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

580: -- Only one instance at the same time.
581: -- It cannot run at the same time with any other tool but IViewer and Metadata Optmizer(Generate documentation).
582: -- It cannot run with other Loader Concurrent program but It can run with a Loader UI.
583: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
584: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
585: ' WHERE c.session_id = s.audsid'||
586: ' AND c.program_id in (-101, -200, -202, -300, -400, -500, -700, -800, -802)'||
587: ' AND c.session_id <> :1'||
588: ' AND c.user_id = u.user_id (+)';

Line 597: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

593: -- Only one instance at the same time.
594: -- It can run at the same time with: IViewer (Bug 3731337)
595: -- It cannot run at the same time with any other tool.
596: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
597: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
598: ' WHERE c.session_id = s.audsid'||
599: ' AND c.program_id in (-100, -101, -200, -201, -202, -300, -400, -500, -700, -800, -802)'||
600: ' AND c.session_id <> :1 '||
601: ' AND c.user_id = u.user_id (+)';

Line 611: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

607: -- It can run at the same time with: Loader, Security and Viewer
608: -- It cannot run at the same time with: Metadata Optimizer(Configure Indicators or Rename input tables),
609: -- Builder, Designer, Upgrade or Migration
610: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
611: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
612: ' WHERE c.session_id = s.audsid'||
613: ' AND c.program_id in (-200, -202, -400, -500, -700, -800, -802)'||
614: ' AND c.session_id <> :1 '||
615: ' AND c.user_id = u.user_id (+)';

Line 623: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

619: -- It can run at the same time with: Security, Designer, Builder and Viewer
620: -- It cannot run at the same time with: Metadata Optimizer(Configure Indicators or Rename input tables
621: -- or Generate Documentation), Loader, Upgrade or Migration
622: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
623: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
624: ' WHERE c.session_id = s.audsid'||
625: ' AND c.program_id in (-100, -101, -200, -201, -202, -700, -800, -802)'||
626: ' AND c.session_id <> :1 '||
627: ' AND c.user_id = u.user_id (+)';

Line 633: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

629: ELSIF x_program_id = -801 THEN
630: -- Migration ui
631: -- It cannot run if there is any other user in migration UI or migration CON req is running
632: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
633: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
634: ' WHERE c.session_id = s.audsid'||
635: ' AND c.program_id in (-700, -800, -801, -802)'||
636: ' AND c.session_id <> :1 '||
637: ' AND c.user_id = u.user_id (+)';

Line 643: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

639: ELSIF x_program_id = -802 THEN
640: -- Migration backend (source)
641: -- iViewer can run with Migration backend (source)
642: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
643: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
644: ' WHERE c.session_id = s.audsid'||
645: ' AND c.program_id in (-100, -101, -200, -201, -202, -300, -400, -500, -700, -800, -801)'||
646: ' AND c.session_id <> :1 '||
647: ' AND c.user_id = u.user_id (+)';

Line 655: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||

651: -- Only one instance at the same time.
652: -- It cannot run at the same time with any other tool.
653: -- code -801 added for migration UI. migration process can not run if any user is there in UI
654: h_sql := 'SELECT c.program_id, u.user_name, s.machine, s.terminal'||
655: ' FROM bsc_current_sessions c, v$session s, bsc_apps_users_v u'||
656: ' WHERE c.session_id = s.audsid'||
657: ' AND c.program_id in (-100, -101, -200, -201, -202, -300, -400, -500, -600, -700, -800, -801, -802)'||
658: ' AND c.session_id <> :1 '||
659: ' AND c.user_id = u.user_id (+)';

Line 695: -- register the process in bsc_current_sessions

691: raise BSC_Lock_Error;
692: END IF;
693: DBMS_SQL.CLOSE_CURSOR(h_cursor);
694:
695: -- register the process in bsc_current_sessions
696: -- 08/29/02 COMENT OUT NOCOPY USER_ID until this column is approved; Approved USER_ID column on 09/09/02
697: -- 03/18/03 Approved ICX_SESSOIN_ID column on 03/18/03, fix bug#2728234
698:
699:

Line 703: from bsc_current_sessions

699:
700: -- added for Enh#2983050
701: select count(session_id)
702: into l_count
703: from bsc_current_sessions
704: where (session_id = h_session_id) and (icx_session_id = x_icx_session_id) and (program_id = x_program_id);
705:
706: if (l_count = 0) then -- Entry for the same session and program exists
707: Insert Into bsc_current_sessions

Line 707: Insert Into bsc_current_sessions

703: from bsc_current_sessions
704: where (session_id = h_session_id) and (icx_session_id = x_icx_session_id) and (program_id = x_program_id);
705:
706: if (l_count = 0) then -- Entry for the same session and program exists
707: Insert Into bsc_current_sessions
708: (SESSION_ID,PROGRAM_ID,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN,USER_ID, ICX_SESSION_ID)
709: Values (h_session_id, x_program_id, h_user_id, SYSDATE, h_user_id, SYSDATE, h_session_id,x_user_id, x_icx_session_id);
710: end if;
711:

Line 734: -- Cleanup BSC_CURRENT_SESSIONS table before acquiring locks

730: --
731: -- Name
732: -- Refresh_System_Lock
733: -- Purpose
734: -- Cleanup BSC_CURRENT_SESSIONS table before acquiring locks
735: -- Called by BSC_SECURITY.CHECK_SYSTEM_LOCK and BSC_LOCKS_PUB.GET_SYSTEM_LOCK
736: -- 1) Delete all orphan the sessions
737: -- 2) Delete all the session not being reused by FND
738: -- 3) Delete all sessions, which have their concurrent programs in invalid or hang status

Line 747: FROM bsc_current_sessions

743: p_program_id IN Number
744: ) IS
745: CURSOR c_sessions IS
746: SELECT session_id
747: FROM bsc_current_sessions
748: WHERE program_id IN (-100,-101,-200,-201,-202,-800,-802);
749:
750: l_session_ids VARCHAR2(8000);
751: l_sql VARCHAR2(8000);

Line 755: DELETE BSC_CURRENT_SESSIONS

751: l_sql VARCHAR2(8000);
752:
753: BEGIN
754: --Delete all orphan the sessions
755: DELETE BSC_CURRENT_SESSIONS
756: WHERE SESSION_ID NOT IN
757: (SELECT VS.AUDSID
758: FROM V$SESSION VS);
759:

Line 761: DELETE BSC_CURRENT_SESSIONS

757: (SELECT VS.AUDSID
758: FROM V$SESSION VS);
759:
760: --Delete all the session not being reused by FND
761: DELETE BSC_CURRENT_SESSIONS
762: WHERE ICX_SESSION_ID IN (
763: SELECT SESSION_ID
764: FROM ICX_SESSIONS
765: WHERE (FND_SESSION_MANAGEMENT.CHECK_SESSION(SESSION_ID,NULL,NULL,'N') <> 'VALID'));

Line 776: l_sql := ' DELETE bsc_current_sessions'||

772: l_session_ids := l_session_ids ||','||cd.session_id;
773: END IF;
774: END LOOP;
775: IF(l_session_ids IS NOT NULL) THEN
776: l_sql := ' DELETE bsc_current_sessions'||
777: ' WHERE session_id IN ('||
778: ' SELECT oracle_session_id '||
779: ' FROM fnd_concurrent_requests '||
780: ' WHERE program_application_id = 271 '||

Line 785: --DELETE BSC_CURRENT_SESSIONS

781: ' AND oracle_session_id IN ('||l_session_ids ||' )'||
782: ' AND phase_code=''C'')';
783: EXECUTE IMMEDIATE l_sql ;
784: END IF;
785: --DELETE BSC_CURRENT_SESSIONS
786: --WHERE SESSION_ID IN (
787: -- SELECT NVL(ORACLE_SESSION_ID, -1)
788: -- FROM FND_CONCURRENT_REQUESTS
789: -- WHERE PHASE_CODE = 'C');

Line 794: DELETE BSC_CURRENT_SESSIONS

790:
791: -- Kill IViewer Sessions that have been INACTIVE more than 20 minutes
792: IF p_program_id <> -600 THEN
793: IF BSC_APPS.APPS_ENV THEN
794: DELETE BSC_CURRENT_SESSIONS
795: WHERE PROGRAM_ID = -600
796: AND SESSION_ID IN (
797: SELECT s.audsid
798: FROM v$session s, v$session_wait w

Line 805: DELETE BSC_CURRENT_SESSIONS

801: END IF;
802: END IF;
803:
804: --Delete all the Killed Sessions
805: DELETE BSC_CURRENT_SESSIONS
806: WHERE SESSION_ID IN (
807: SELECT VS.AUDSID
808: FROM V$SESSION VS
809: WHERE VS.STATUS = 'KILLED');

Line 909: -- Clean BSC_CURRENT_SESSIONS in the source system to leave only current sessions

905: DELETE bsc_message_logs
906: WHERE last_update_login = h_session_id;
907: commit;
908:
909: -- Clean BSC_CURRENT_SESSIONS in the source system to leave only current sessions
910: h_sql := 'Delete bsc_current_sessions@'||c_src_db_link||
911: ' Where session_id Not In (Select audsid From V$Session@'||c_src_db_link||')';
912: BSC_APPS.Execute_Immediate(h_sql);
913:

Line 910: h_sql := 'Delete bsc_current_sessions@'||c_src_db_link||

906: WHERE last_update_login = h_session_id;
907: commit;
908:
909: -- Clean BSC_CURRENT_SESSIONS in the source system to leave only current sessions
910: h_sql := 'Delete bsc_current_sessions@'||c_src_db_link||
911: ' Where session_id Not In (Select audsid From V$Session@'||c_src_db_link||')';
912: BSC_APPS.Execute_Immediate(h_sql);
913:
914: commit;

Line 916: -- Delete KILLED sessions from bsc_current_sessions

912: BSC_APPS.Execute_Immediate(h_sql);
913:
914: commit;
915:
916: -- Delete KILLED sessions from bsc_current_sessions
917: h_sql := 'Delete bsc_current_sessions@'||c_src_db_link||
918: ' Where session_id In (Select audsid From V$Session@'||c_src_db_link||
919: ' Where status = ''KILLED'')';
920: BSC_APPS.Execute_Immediate(h_sql);

Line 917: h_sql := 'Delete bsc_current_sessions@'||c_src_db_link||

913:
914: commit;
915:
916: -- Delete KILLED sessions from bsc_current_sessions
917: h_sql := 'Delete bsc_current_sessions@'||c_src_db_link||
918: ' Where session_id In (Select audsid From V$Session@'||c_src_db_link||
919: ' Where status = ''KILLED'')';
920: BSC_APPS.Execute_Immediate(h_sql);
921:

Line 929: ' FROM bsc_current_sessions@'||c_src_db_link||' c, v$session@'||c_src_db_link||' s'||

925: -- This procedure is called by MIgration (-800)
926: -- Only one instance at the same time.
927: -- It cannot run at the same time with any other tool.
928: h_sql := 'SELECT c.program_id, s.username, s.machine, s.terminal'||
929: ' FROM bsc_current_sessions@'||c_src_db_link||' c, v$session@'||c_src_db_link||' s'||
930: ' WHERE c.session_id = s.audsid'||
931: ' AND c.program_id in (-100, -101, -200, -201, -202, -300, -400, -500, -600, -700, -800)'||
932: ' AND c.session_id <> :1 ';
933:

Line 960: -- register the process in bsc_current_sessions

956: raise BSC_Lock_Error;
957: END IF;
958: DBMS_SQL.CLOSE_CURSOR(h_cursor);
959:
960: -- register the process in bsc_current_sessions
961: h_sql := 'Insert Into bsc_current_sessions@'||c_src_db_link||
962: ' (SESSION_ID,PROGRAM_ID,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)'||
963: ' Values ('||h_src_session_id||', -800, '||h_src_user_id||', SYSDATE, '||
964: h_src_user_id||', SYSDATE, '||h_src_session_id||')';

Line 961: h_sql := 'Insert Into bsc_current_sessions@'||c_src_db_link||

957: END IF;
958: DBMS_SQL.CLOSE_CURSOR(h_cursor);
959:
960: -- register the process in bsc_current_sessions
961: h_sql := 'Insert Into bsc_current_sessions@'||c_src_db_link||
962: ' (SESSION_ID,PROGRAM_ID,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)'||
963: ' Values ('||h_src_session_id||', -800, '||h_src_user_id||', SYSDATE, '||
964: h_src_user_id||', SYSDATE, '||h_src_session_id||')';
965: BSC_APPS.Execute_Immediate(h_sql);

Line 1002: DELETE BSC_CURRENT_SESSIONS

998:
999: BEGIN
1000: l_calling_fn := 'BSC_SECURITY.DELETE_BSC_SESSION';
1001:
1002: DELETE BSC_CURRENT_SESSIONS
1003: WHERE SESSION_ID = USERENV('SESSIONID');
1004: COMMIT;
1005:
1006: Exception

Line 1043: DELETE BSC_CURRENT_SESSIONS

1039:
1040: l_calling_fn := 'BSC_SECURITY.DELETE_BSC_SESSION_ICX';
1041:
1042: IF (p_icx_session_id IS NOT NULL) THEN
1043: DELETE BSC_CURRENT_SESSIONS
1044: WHERE ICX_SESSION_ID = p_icx_session_id;
1045:
1046: COMMIT;
1047: END IF;

Line 1208: h_sql :='SELECT COUNT(*) FROM BSC_CURRENT_SESSIONS C, V$SESSION S, V$SESSION_WAIT W, BSC_APPS_USERS_V U ';

1204: h_cursor t_cursor;
1205:
1206: begin
1207:
1208: h_sql :='SELECT COUNT(*) FROM BSC_CURRENT_SESSIONS C, V$SESSION S, V$SESSION_WAIT W, BSC_APPS_USERS_V U ';
1209: h_sql := h_sql || 'WHERE C.SESSION_ID = S.AUDSID AND S.SID = W.SID AND S.STATUS <> ''KILLED'' AND U.USER_ID = C.USER_ID AND C.PROGRAM_ID = -200';
1210:
1211: yes_no :='N';
1212: -- bug fix 3008243