Application Express :: Kill Current Session When Another Session With Same User Starts
Nov 19, 2012
I have an urgent requirement to kill an existing session if a new session starts for the same user. I have been reading lot of blogs and posts on the above topic, but could clearly tell me how to do it.
I thought of putting a process in 101 page when login button is pressed to catch this and kill the old session.
We are using Apex 4.0/Oracle 10gR2/ Hp-Ux, We noticed that there is a process Running in Two Sessions that seems running since 3 Hours using 60% CPU,** 30% given below sql it executes in two Sessions!
declare function x return boolean is begin -- if instr(upper(:F4000_P4651_PLUG_SOURCE),'ORDER BY')>0 then declare l_position number := 0; begin loop l_position := instr(upper(:F4000_P4651_PLUG_SOURCE),'ORDER BY ',l_position + 1) ; exit when instr(upper(:F4000_P4651_PLUG_SOURCE),'ORDER BY ',l_position + 1) = 0 ;
My disk is completely full so i decided to drop temporary tablespace and create a new one but unfortunately the query to drop temp tablespace hang in between to whic I come to know that there were some sessions which were using it for sort purpose.
check out the queries below with results:
SQL> SELECT b.tablespace,b.segfile#,b.segblk#,b.blocks,a.sid,a.serial#, 2 a.username,a.osuser, a.status 3 FROM v$session a,v$sort_usage b 4 WHERE a.saddr = b.session_addr; [code]....
Was able to killed three of the four sessions but not the last one.
,in 11g,is there a way I could limit the number of open application actions by some os user ?We have an application where users are executing the same thing while the last is not yet finished,so we have several same things runninng at the same time executed by the same user.
Can we restrict that somehow through the database or that needs to be done through application?
I am getting issue with passing a value in different session.I have pl sql procedure where i am passing value in hyperlink tag to oracle apex page.When i clicked on hyper link value is lost between session. how to send value between different session state.
I am to trying to fetch session id of a previously submitted process of a search button......so that i can display the search results in a different page.....so is there any sql query or pl/sql procedure to fetch the session id.
I'm hitting a restriction or security feature(?) of Safari in iOS. One of our Apex applications is a page that runs in an iframe on a site. Apex is installed on a server inside our own network and is accessible via dns: office.ourcorp.com (fake name, just to clarify the situation).
We have a couple of different brands, that all have their own domains: brand1.com, brand2.com etc. All of these sites open the apex page inside an iframe. That all works beautifully in all browsers, except in Safari in iOS. in iOS, the apex page isn't showing. It seams it's because of the session cookie Apex sets. Safari can't set an cookie from another domain (a cross domain cookie). Is there a possibility to turn off the session cookie?(ORA_WWV_APP_xxx)? I also tried to set the 'cookie domain' option inside the authentication scheme to one of the domain names for our brands, but it still doesn't show up.
I have an application where I use the zero session ID for public users. The problem is, I have a region that contains a report linking to PDF files contained in a BLOB and I use GET_BLOB_FILE_SRC to link to the PDFs. I've included the report in my global content (page 0) and want it to be available to all visitors. The problem is, it only works when a user has authenticated. It throws a PAGE NOT FOUND error for public users.
I have multiple application set-up using session sharing within the workspace.Technically all works fine, however it does not play nice with user behaviour.
Example: Users logs into APP_ID:100. Since he isn't authenticated yet, he provides user/pass and the APP_SESSION is authenticated. Now if the user switches using to another application (using a link provided in application 100) he gets redirect to APP_ID:101:APP_SESSION all is fine.
The session is already authenticated, the application shares the session and the user gains access to app 101 without having to authenticate again. All's fine!
However users don't behave they way. Instead of using an easy link in the application. They will use their own bookmark or type in the url for app 101 manually. That way the next application is either called with f?p=101:1:[SOME OLD SESSIONID FROM BOOMARK] or f?p=101 (with no further page or session info) In both cases instead of using the already authenticated session apex spawns a new session, which of course isn't authenticated yet thus forcing the user to authenticate and come complaining they have to login again.
Similar behaviour problems exists when the user opens a browser and tries to open both applications in each in a tab next to each other.Both tabs fetch there own initial session id and start writing it to the same cookie each in turn invalidating the other tab's session.These can lead to some fanatic ping pong actions. Thus it's impossible to open 2 applications sharing session in the same browser.
Is there any remedy for these situations?Can apex be as smart as for instance first trying to resume the session stored in the cookie and only if that session is invalid, start a new session?
I was making some page validation to APEX_ITEM manual tabular form. When every a validation executes it will clear all the data what user enters. What is the best method to hold the session values in APEX_ITEM.
I need to filter a SQL statement with an application item value retrieved from session state. I am assuming I could do this using a Dynamic Action on a Page Load event but I'm not sure where to go from here. How could I append the filter to an existing report page SQL statement?
I have some troubles with a "Set Value" Dynamic Action. What I want to do is set a Page Item with a specific variable derived from javascript. So basically I have a javascript variable 'test' that is being changed in javascript code. I am using a dynamic Action "Set Value" to set this value into a page item. As source, Im using "Javascript Expression". It is working, however, the Set Value Dynamic Action with JAvascript expression does not reflect this change in the session, so the page item is not updated.
I tried:
$s -> does not work apex.submit -> does work, however submits the page. I need to submit only the Page item.
I have made Horizontal Wizard Progress List over 3 pages.I also made those 3 pages with some simple text fields, checkboxes and so on.On the last page I did the INSERT Process (session variables P100_Date ect).It worked fine! But now I tried a different approach
On each of the 3 pages I made a "Form on a Table or View" and on each pageI hide some of the form. (the advantage of this situation is, that apex gives you a visaul hint about the null fields and so on).But on the last page I cant do the INSERT with the session variables.(I can do the INSERT without session variable, with static values)...
Using apex 4.2. I have created form item on page and item attribute DISABLES IN SETTINGS , set value as YES and SESSION STATE value as YES.
SETTINGS->DISABLES-> SESSION STATE
by doing this i am getting the error. Error is
Session state protection violation: This may be caused by manual alteration of protected page item P98_CHECK_AMOUNT. If you are unsure what caused this error, please contact the application administrator for assistance.
I've been searching the web for examples of how to run a trace.It's needed for a session different then current in trace LEVEL 4 (I need the bind variables values in the trace).
Unfortunately, I couldn't trace with DBMS_SUPPORT.START_TRACE_IN_SESSION, I understand that this is because it was only introduced in Oracle 11g.
how can i trace a session in level 4 on Oracle 10g for another session?
I am facing this problem, not sure how to solve this. Basically, the default value of the "items" on the page don't get set when the session is cleared and I visit the page for the first time.
So when I check the session for the first time, all page items are null. But when I revisit the page, the page items gets set sometimes.
APEX_ITEM functions do not seem to be working correctly. When I create a region with this query:
select APEX_ITEM.SELECT_LIST_FROM_QUERY(1, 1, 'select ''Jan'' d, 1 r from dual union select ''Feb'' d, 2 r from dual') month_id
from dual I get the error:report error:ORA-06502: PL/SQL: numeric or value error: associative array shape is not consistent with session parametersWhen I run that query in SQL Developer I get this:
which is correct.I tried changing NLS_COMP parameter from Linguistic to Binary and changing NLS_SORT to BINARY_CI but that did not make a difference. This seems like a rare problem and generally related to installation but it has me stopped dead in my tracks.
How to find the sid from v$session of my current session.
I want to ask:
Let say I have open 10 TOAD session and only in one toad session i have fired a sql query ( the rest 9 session are just blank), then the rest 9 status are in active status. Now, how i can figure out which sid ( from v$session ) belongs to which session as all the 9 session having nothing to run.
Quote: My main intention is to find out the current session sid as soon as it make connection with DB.
I have a calendar region using SkillBuilders plug-in. When click on an event, a modal page opens showing the event details and allowing the user to modify it. Recently, I enabled Session State Protection in my pages, so I changed my query in the calendar region to use the APEX_UTIL.PREPARE_URL function when generating the URL to edit the event. Now, when I click on an event, the URL looks like: [URL]....
p=34925:3:102130990572822::::P3_ID:41&cs=3DE8BFFE2FCA925B7716361D6ECFC546B If you notice the URL has & before the check-sum (cs), instead of just & and it is causing an error on my page. The reason is that the plug-in is escaping special characters. If I change the source of the plug-in to use this: l_url := l_column_value_list(6)(x); Instead of:
I have a user in my oracle database, I would like to know details such as, how many times and by using which tools same user has got logged for past one week.
How do I do that. I have sql which shows the current session either he is logged in, if so then which application or not logged in. But I required the information for past one week How do I get those details.
How can I find out a user session/connection details like ( his last connection time, his activity etc)
Here is the issue, a old dba_user_id who physically no longer exists is not removed from the database. At some time, a session is opened under his user_id and some activity runs and closes the session. So, checked scheduled jobs under him and disabled them. But not sure whether the scheduled jobs are creating a session under his user_id or some thing else.
I checked in v$session, but since I am not sure at what time his session opens, so I am not able to get his session details.