ORA-31201 and APEX ERR-1082 LDAP sessions

Hello!
While using Single-Sing-On from APEX against OID (Portal Applicationserver 10.1.4) we get the following error:
ORA-31201: DBMS_LDAP: allgemeiner Fehler: number of active LDAP sessions exceeded the limit of 63 sessions
Error ERR-1082 Error in executing authorization scheme code.
It works many times, but suddenly we seem to get a limit!
Details:
========
We use Application Express Version 2.2.1.00.04.
First we've tried to use the APEX-LDAP-Function is_member().
(See thread Re: Using Oracle Portal group for an authorization scheme
It worked, but we got the same error as above.
Then:
But as I read in thread ERR-1082 Error in executing authorization scheme code I changed the strategy and then used the CHECK_GROUP_MEMBERSHIP function.
We set the evaluation point for the authorization scheme to "Once per Session", too.
But we still got the error.
What am I doing wrong?
What can we check? OID or APEX?
Here is the code for both (main-function for checking the membership and a helping function which is getting the right value out of the OID on basis of the :APP_USER-Value).
Create or Replace Function PRUEFE_MITGLIEDSCHAFT (p_uid varchar2, p_gid varchar2) return BOOLEAN is
--CALL for testing:
--set serveroutput on;
--BEGIN
--IF PRUEFE_MITGLIEDSCHAFT('glasauerj','KV_OKL_P_SCHUL_ADM') THEN
--DBMS_OUTPUT.PUT_LINE('yes!');
--END IF;
--END;
--CALL for APEX:
--return PRUEFE_MITGLIEDSCHAFT(:APP_USER,'KV_OKL_P_SCHUL_ADM')
--Declarations
ldap_port PLS_INTEGER;
ldap_host VARCHAR2(256);
ldap_user VARCHAR2(256):= NULL;
ldap_passwd VARCHAR2(256):= NULL;
retval PLS_INTEGER;
my_session DBMS_LDAP.session;
group_handle DBMS_LDAP_UTL.HANDLE;
user_handle DBMS_LDAP_UTL.HANDLE;
user_type PLS_INTEGER;
user_id VARCHAR2(2000);
group_type PLS_INTEGER;
group_id VARCHAR2(2000);
begin
NULL;
ldap_host := 'host';
ldap_port := '389';
user_id := 'cn='||get_oid_cn(lower(p_uid))||','||get_oid_searchbase(lower(p_uid));
group_id := 'cn='||lower(p_gid)||', cn=portal30.060830.1405, cn=Groups, dc=lkh-ktn, dc=local';
my_session := DBMS_LDAP.init(ldap_host,ldap_port);
user_type := DBMS_LDAP_UTL.TYPE_DN;
group_type := DBMS_LDAP_UTL.TYPE_DN;
retval := DBMS_LDAP_UTL.create_user_handle(user_handle,user_type,user_id);
--DBMS_OUTPUT.PUT_LINE('create_user_handle='||retval);
retval := DBMS_LDAP_UTL.create_group_handle(group_handle,group_type,group_id);
--DBMS_OUTPUT.PUT_LINE('create_group_handle='||retval);
retval := DBMS_LDAP_UTL.check_group_membership( my_session,user_handle,group_handle,DBMS_LDAP_UTL.NESTED_MEMBERSHIP);
--DBMS_OUTPUT.PUT_LINE('check_group_membership='||retval);
IF retval = DBMS_LDAP_UTL.SUCCESS THEN
     --DBMS_OUTPUT.PUT_LINE('DBMS_LDAP_UTL.SUCCESS');
     return true;
else
     return false;
end if;
IF retval != DBMS_LDAP_UTL.SUCCESS THEN
DBMS_OUTPUT.PUT_LINE('Error : check_group_membership returns : ' || to_char(retval));
IF retval = DBMS_LDAP_UTL.PARAM_ERROR THEN
     DBMS_OUTPUT.PUT_LINE('DBMS_LDAP_UTL.PARAM_ERROR');
end if;
return false;
ELSE
NULL;
--DBMS_OUTPUT.PUT_LINE(': Successful.');
END IF;
DBMS_LDAP_UTL.free_handle(user_handle);
DBMS_LDAP_UTL.free_handle(group_handle);
return false;
End;
HELPING-FUNCTION
Create or Replace FUNCTION get_oid_searchbase(p_uid varchar2) return varchar2 is
l_dn varchar2(500);
l_searchbase varchar2(500);
l_uid varchar2(100);
my_session DBMS_LDAP.session;
my_message DBMS_LDAP.message;
my_attrs DBMS_LDAP.string_collection;
retval PLS_INTEGER;
ldap_host VARCHAR2(256):= 'host';
     ldap_port VARCHAR2(256):= '389';
ldap_user VARCHAR2(256):= NULL;
ldap_passwd VARCHAR2(256):= NULL;
ldap_userbase VARCHAR2(500) := 'cn=Users,dc=lkh-ktn,dc=local';
BEGIN
-- Beispiel dn und searchbase aufgrund von uid
-- Choosing exceptions to be raised by DBMS_LDAP library.
     DBMS_LDAP.USE_EXCEPTION := TRUE;
     -- Generieren der LDAP-message
     my_session := DBMS_LDAP.init(ldap_host,ldap_port);
retval := DBMS_LDAP.simple_bind_s(my_session, ldap_user, ldap_passwd);
my_attrs(1) := 'uid'; -- retrieve this attribute
l_uid := 'uid='||p_uid;
retval := DBMS_LDAP.search_s(my_session,
ldap_userbase,
DBMS_LDAP.SCOPE_SUBTREE,
l_uid,
my_attrs,
0,
my_message);
-- LDAP-message mit get_dn auslesen und cn wegschneiden
l_dn := DBMS_LDAP.get_dn(my_session,my_message);
l_searchbase := substr(l_dn,instr(l_dn,',')+1,length(l_dn));
return l_searchbase;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(' Error code : ' || TO_CHAR(SQLCODE));
DBMS_OUTPUT.PUT_LINE(' Error Message : ' || SQLERRM);
DBMS_OUTPUT.PUT_LINE(' Exception encountered .. exiting');
return null;
END;
sho err;
PLEASE, I would appreciate any help!
Joerg

I should have called it unreachable code. You have this block:
IF retval = DBMS_LDAP_UTL.SUCCESS THEN
--DBMS_OUTPUT.PUT_LINE('DBMS_LDAP_UTL.SUCCESS');
return true;
else
return false;
end if;
No code after this block will execute but there is code after it.
Scott

Similar Messages

  • Error ERR-1082 Error in executing authorization scheme code.

    Hi,
    i imported my application from test to prod environment
    when run application i received the error (on login page)
    ORA-06550: line 13, column 19: PL/SQL: ORA-00942: table or view does not exist ORA-06550: line 12, column 13: PL/SQL: SQL Statement ignored ORA-06550: line 16, column 18: PLS-00364: loop index variable 'C1' use is invalid ORA-06550: line 16, column 4: PL/SQL: Statement ignored ORA-06550: line 17, column 14: PLS-00364: loop index variable 'C1' use is invalid ORA-06550: line 17, column 4: PL/SQL: Statement ignored ORA-06550: line 25, column 19: PL/SQL: ORA-00942: table or view does not exist ORA-06550: line
    Error      ERR-1082 Error in executing authorization scheme code.
    Any help?
    Thanks in advance
    Costantino

    Hi Scott,
    Thank you for the quick reply.
    What I did was to install APEX 3.1 to 11g db, and installed packaged application which called Software Management. It is working fine to log into the application and other operations, but I got the same error which reported on this thread once I applied the existing authorization schemes. So I thought if I missed to import the apex_access_setup and apex_access_control tables. I am looking for the solution to enable the default authorizations...
    I would appreciate if you could give me any suggestions.
    Thanks,
    Rui

  • ERR-1082 Error in executing authorization scheme code.

    Hi All,
    i have a different problem in apex....
    I am using below function to authenticate the apex users after SSO login. I have created authentication schemes for admin and users separately depending on that users will have access to the specific tabs.
    Now users are facing below error
    ORA-01403: no data found Error ERR-1082 Error in executing authorization scheme code.
    while they log in or submit the page. And the weired thing is randomly they are getting this error. 2 or 3 times in a week. and when i compile the authentication function that error will be resolved.
    this is function structure. Inside the function validation code is written.
    function F_auth_user( muser_name in varchar2, mauth_level in number, mgroup_name in varchar2) return boolean
    Some of the details: application users : 200 application size : 30MB
    May i know that how can i prevent this occurrence of error.

    Yes that is authorization schemes .
    Evidence is user can be able to login properly after compiling the function. otherwise the same error happening while navigating through out the applications.
    Function code:
    create or replace function F_auth_user(
    muser_name in varchar2,
    mauth_level in number,
    mgroup_name in varchar2) return boolean is
    ct number;
    muser_id number;
    begin
    select id into muser_id from t_employees where upper(email)=upper(muser_name);
    if muser_id is null or mauth_level is null or mgroup_name is null then
    return false;
    end if;
    if upper(mgroup_name) = 'ANY' then
    select count(*) into ct from t_employees emp, t_positions pos,
    t_employee_groups eg
    where emp.position = pos.id and
    pos.MgtLevel >= mauth_level and
    emp.position = pos.id and
    emp.id = muser_id;
    elsif upper(mgroup_name) = 'USER' then
    select count(*) into ct from t_employees emp, t_positions pos,
    t_employee_groups eg
    where emp.position = pos.id and
    pos.MgtLevel >= mauth_level and pos.MgtLevel!=6 and pos.MgtLevel!=4 and
    emp.position = pos.id and
    emp.id = muser_id ;
    elsif upper(mgroup_name) = 'ADMIN' then
    select count(*) into ct from t_employees emp, t_positions pos,
    t_employee_groups eg
    where emp.position = pos.id and
    pos.MgtLevel >= mauth_level and pos.MgtLevel!=6 and
    emp.position = pos.id and
    emp.id = muser_id ;
    else
    select count(*) into ct from T_employees emp, T_positions pos,
    t_emp_group_mapping egm, t_employee_groups eg
    where emp.position = pos.id and
    emp.id = egm.employee_id and
    pos.MgtLevel >= mauth_level and
    emp.position = pos.id and
    emp.id = muser_id and
    egm.group_id = eg.id and
    trim(eg.group_name) = mgroup_name;
    end if;
    if ct > 0 then
    return true;
    end if;
    return false;

  • Terminating "orphan" LDAP sessions

    I was developing a function that uses DMBS_LDAP.INIT(host,port) and then DMBS_LDAP.SEARCH_S (notice, no bind) to do anonymous LDAP searches. This was working well until I started to get "ORA-31201: DBMS_LDAP: generic error: number of active LDAP sessions exceeded the limit of 63 sessions" errors whenever calling the function. It looks like I was creating sessions by calling INIT and not terminating them. To fix the function, I have to find a way to "unINIT" the sessions (perhaps UNBIND_S, even though I never do a bind), but the more pressing problem is clearing the sessions that the errant function has already created. How can I terminate these "orphan" LDAP sessions?
    TIA

    did you ever get an answer to this?
    My only option is to restart some (which?) of the server Oracle processes

  • Instance terminted with ORA-00445 and ORA-00494

    Hi Folks,
    Oracle 11g Instance terminated after ORA-00445 and ORA-00494. Not sure what is the problem didnot have this problem before. Can any body pls help?
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Below is the message found in alertlog.
    Archived Log entry 17939 added for thread 1 sequence 17973 ID 0xee1270c6 dest 1:
    Thu Apr 19 02:32:15 2012
    WARNING:io_getevents timed out 600 sec
    Thu Apr 19 02:32:17 2012
    WARNING:io_getevents timed out 600 sec
    Thu Apr 19 02:33:32 2012
    WARNING:io_getevents timed out 600 sec
    Thu Apr 19 02:35:56 2012
    Process 0x0xdfb80810 appears to be hung while dumping
    Current time = 1203097316, process death time = 1203032607 interval = 60000
    Attempting to kill process 0x0xdfb80810 with OS pid = 7563
    OSD kill succeeded for process 0xdfb80810
    Thu Apr 19 02:36:32 2012
    WARNING:io_getevents timed out 600 sec
    Thu Apr 19 02:38:11 2012
    Errors in file /apps/opt/oracle/admin/diag/rdbms/vchsit2/vchsit2/trace/vchsit2_smco_8548.trc (incident=76297):
    ORA-00445: background process "W000" did not start after 120 seconds
    Incident details in: /apps/opt/oracle/admin/diag/rdbms/vchsit2/vchsit2/incident/incdir_76297/vchsit2_smco_8548_i76297.trc
    Thu Apr 19 02:38:11 2012
    Errors in file /apps/opt/oracle/admin/diag/rdbms/vchsit2/vchsit2/trace/vchsit2_arc2_7523.trc (incident=76329):
    ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 7315'
    Incident details in: /apps/opt/oracle/admin/diag/rdbms/vchsit2/vchsit2/incident/incdir_76329/vchsit2_arc2_7523_i76329.trc
    Thu Apr 19 02:38:11 2012
    Fatal NI connect error 12537, connecting to:
    (LOCAL=NO)
    VERSION INFORMATION:
    TNS for Linux: Version 11.2.0.1.0 - Production
    Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
    TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.1.0 - Production
    Time: 19-APR-2012 02:38:11
    Tracing not turned on.
    Tns error struct:
    ns main err code: 12537
    TNS-12537: TNS:connection closed
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
    opiodr aborting process unknown ospid (2743) as a result of ORA-609
    Thu Apr 19 02:38:12 2012
    Trace dumping is performing id=[cdmp_20120419023812]
    Killing enqueue blocker (pid=7315) on resource CF-00000000-00000000 by (pid=7523)
    by killing session 6.1
    Killing enqueue blocker (pid=7315) on resource CF-00000000-00000000 by (pid=7523)
    by terminating the process
    ARC2 (ospid: 7523): terminating the instance due to error 2103
    Instance terminated by ARC2, pid = 7523
    Thu Apr 19 10:43:07 2012

    Hi;
    Please see:
    ORA-00445: Background Process "xxxx" Did Not Start After 120 Seconds [ID 1345364.1]
    Regard
    Helios

  • Kindly help ORA-00917: missing comma" ERR-1101 Unable to process function

    HI Experts,
    Since yesterday every thing was fine, i do not know what happened in the evening, we are facing some issue with our production.
    I'm getting the following error ,when i running the report
    ORA-00917: missing comma
         Error      ERR-1101 Unable to process function body returning query.
    Since long time we have even not touched the code , i'm wondering about this error...the same code was working fine just 2 days back.
    Kindly help me with this...
    Code
    DECLARE
       date_from DATE:=:P46_TRANS_DATEFROM;
       date_to DATE:=:P46_TRANS_DATETO;
       --date_from DATE :=TO_DATE('22-Nov-2007','DD-Mon-yyyy');
       --date_to DATE :=TO_DATE('23-Nov-2007','DD-Mon-yyyy');
       date_counter DATE:=date_from;
       v_city varchar2(32):=:P46_CITY;
       str_month1 VARCHAR2(3):=SUBSTR(TO_CHAR(date_from,'DD-MON-YYYY'),4,3);
       str_year1 VARCHAR2(4):=SUBSTR(TO_CHAR(date_from,'DD-MON-YYYY'),8,4);
       str_month2 VARCHAR2(3):=SUBSTR(TO_CHAR(date_to,'DD-MON-YYYY'),4,3);
       str_year2 VARCHAR2(4):=SUBSTR(TO_CHAR(date_to,'DD-MON-YYYY'),8,4);
       day_from VARCHAR2(2):=SUBSTR(date_from,1,2);
       day_to VARCHAR2(2):=SUBSTR(date_to,1,2);
       CURSOR trans_alloc(m VARCHAR2,y NUMBER,email VARCHAR2) IS SELECT * FROM EFT_TRANS_ALLOCATION WHERE LOWER(MONTH)=LOWER(m) AND YEAR=y AND LOWER(email_id)=LOWER(email);
       CURSOR trans_schedules(m1 VARCHAR2,y1 NUMBER,m2 VARCHAR2,y2 NUMBER) IS SELECT * FROM OD_SHIFT_SCHEDULE WHERE (UPPER(MONTH)=m1 OR UPPER(MONTH)=m2) AND (YEAR=y1 OR YEAR=y2);
       CURSOR get_res_id(email VARCHAR2) IS SELECT resource_id,first_name,last_name FROM EFT_RESOURCES WHERE LOWER(email_id)=LOWER(email);
       rec OD_SHIFT_SCHEDULE%ROWTYPE;
       CURSOR get_shifts(id VARCHAR2) IS SELECT * FROM OD_SHIFTS WHERE shift_id=id;
       ta EFT_TRANS_ALLOCATION%ROWTYPE;
       sd OD_SHIFTS%ROWTYPE;
       sql_str VARCHAR2(4000);
       v_res_id NUMBER;
       v_fname VARCHAR2(50);
       v_lname VARCHAR2(50);
       v_shift_id VARCHAR2(32);
       s VARCHAR2(1000);
       d VARCHAR2(32);
       final_sql VARCHAR2(4000);
       v_consent VARCHAR2(3);
       s2 VARCHAR2(1000);
       dn DATE;
    BEGIN
       DELETE FROM EFT_SHIFT_SCHEDULES_RPT;
       OPEN trans_schedules(UPPER(str_month1),TO_NUMBER(str_year1),UPPER(str_month2),TO_NUMBER(str_year2));
       LOOP
          FETCH trans_schedules INTO rec;
           EXIT WHEN trans_schedules%NOTFOUND;
           OPEN get_res_id(rec.name);
           FETCH get_res_id INTO v_res_id,v_fname,v_lname;
              OPEN trans_alloc(TO_CHAR(date_counter,'MON'),TO_NUMBER(TO_CHAR(date_counter,'YYYY')),rec.name);
               FETCH trans_alloc INTO ta;
               IF trans_alloc%FOUND THEN
               dbms_output.put_line (date_counter||'----'||date_to||'Res_id:----'||v_res_id||'-'||ta.slno);
               dbms_output.put_line ('Found Alloc');
               WHILE date_counter<=date_to
               LOOP
                    --d:=d||'-'||str_month||'-'||str_year;
                    d:=SUBSTR(TO_CHAR(date_counter,'DD-MON-YYYY'),1,2);     
                    s:='INSERT INTO temp_2 SELECT "'||d||'" from OD_SHIFT_SCHEDULE where slno='||rec.slno;
                    --dbms_output.put_line (d||'-'||s);
                    DELETE FROM temp_2;
                    EXECUTE IMMEDIATE s;
                    SELECT substr(trim(VAL),1,1) INTO v_shift_id FROM temp_2;
                    s2:='INSERT INTO temp_3 SELECT "'||d||'" from EFT_TRANS_ALLOCATION where slno='||ta.slno;
                    DELETE FROM temp_3;
                    EXECUTE IMMEDIATE s2;
                    SELECT VAL INTO v_consent FROM temp_3;
                    --dbms_output.put_line (v_shift_id||'-'||v_consent);
                    --dbms_output.put_line (date_counter||'-'||date_to);
                    IF v_consent='Y' THEN
                    --dbms_output.put_line ('Im inside consent'||v_consent);
                    IF v_shift_id IS NOT NULL THEN
                    --dbms_output.put_line ('Im inside shift not null'||v_shift_id);
                       OPEN get_shifts(v_shift_id);
                       FETCH get_shifts INTO sd;
                        IF sd.night_shift_indicator='Y' THEN
                           dn:=date_counter+1;
                        sql_str:='INSERT INTO eft_shift_schedules_rpt VALUES ('||v_res_id||','''||v_fname||''','''||v_lname||''','''||rec.name||''','''||sd.shift_name||''','''||date_counter||''','''||sd.start_from||''','''||sd.start_to||''','''||''','''||sd.active_yn||''','''||dn||''')';
                        ELSE
                           sql_str:='INSERT INTO eft_shift_schedules_rpt VALUES ('||v_res_id||','''||v_fname||''','''||v_lname||''','''||rec.name||''','''||sd.shift_name||''','''||date_counter||''','''||sd.start_from||''','''||sd.start_to||''','''||''','''||sd.active_yn||''','''||date_counter||''')';
                        END IF;
                       EXECUTE IMMEDIATE sql_str;
                       CLOSE get_shifts;
                        --dbms_output.put_line (sql_str);
                    END IF;
                    END IF;
                    COMMIT;
                    date_counter:=date_counter+1;     
              END LOOP;
               END IF;
          CLOSE trans_alloc;
           CLOSE get_res_id;
           --dbms_output.put_line (rec.name);
           date_counter:=date_from;
       END LOOP;
       COMMIT;
       CLOSE trans_schedules;
    final_sql:='select a.first_name,a.last_name,a.email_id,a.shift_details,a.arrange_date,a.slot_from,a.slot_to,a.trans_arranged,a.active_yn,b.address1,b.address2,b.city,b.state,b.pin,b.worknumber,b.homenumber,b.mobilenumber,a.to_date from eft_shift_schedules_rpt a,eft_locations b where a.resource_id=b.resource_id and b.city =:P46_CITY';
    --dbms_output.put_line (final_sql);
    RETURN final_sql;
    END;

    Hi Basva,
    my best advice is find out where the error happens, e.g. using DBMS_UTILITY.FORMAT_ERROR_BACKTRACE .
    In the next step you can fix the error and rework the code so that it looks nice and has some comments in it so everyone knows what it SHOULD do.
    brgds,
    Peter
    Blog: http://www.oracle-and-apex.com
    ApexLib: http://apexlib.oracleapex.info
    BuilderPlugin: http://builderplugin.oracleapex.info
    Work: http://www.click-click.at and http://www.wirsindapex.at

  • How to configure Oracle SSO for forms and apex

    Hi All,
    I am trying to configure oracle SSO for forms and apex using third party external authentication. Please help me how to configure. I a have tried all possible things
    from web but I am not able to do it. Is there any doc or links are much appreciated.
    Info: Some reason my oiddas web link is not working it used to work fine before and also the from /pls/orasso/ link I am not able to login may be because of my oiddas issue
    Thanks

    Hi Andreas,
    Thanks you for your help. I am trying to implement third party external LDAP authentication for APEX and Forms.
    So I started with OID and SSO setup to create external Partner Applications. Some reason my oid and sso web login links are not working. I didn't find any errors. I need some help in finding the problem and direction, I already read docs on web but no proper direction. I appreciate your help.
    Thanks

  • Communication between TNS_Listener and Apex Listener

    Dear all,
    I how does the communication between TNS Listener, Apex Listener, and Apex? For some reason I got the following error from Apex listener:
    Caused by: oracle.dbtools.rt.web.WebException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource
    Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptorI truncated some of the Java object messages.
    This occurred when I tried to connect to Apex. Then I can fix this by going to:
    http://localhost:8080/apex/listenerConfigurethen, everything worked fine.
    My listener.ora file:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = firefly.snowdrop.com)(PORT = 1521))
    ADR_BASE_LISTENER = /usr/local/oracle
    ADR_BASE_ORACLE_LISTENER = /usr/local/oraclemy tnsnames.ora file
    INARA =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = firefly.snowdrop.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = inara.snowdrop.com)
      )where inara is the instance name and firefly is the hostname.
    Does the order of whether starting TNS Listener first or starting Apex Listener first matter?
    Best regards,
    Val
    Edited by: Valerie Debonair on Aug 1, 2011 5:47 AM

    Hm, I'm not able to reproduce the error. There was one time when I started APEX Listener got:
    java.net.BindException: Address already in use: 8080=com.sun.grizzly.http.SelectorThreadHandler@46d999aand when I did the netstat -a got:
    root@firefly:~# netstat -apnl |grep 8080
    tcp6       0      0 :::8080                 :::*                    LISTEN      4530/tnslsnr  I had no idea what made 8080 tagged by the TNS listener, as I started it out before APEX Listener. Very curious how did this happen.
    There was one time netstat -a showed me this (this happened after I stopped Apex Listener, stopped TNS Listener, shutdown the database, started database, started TNS Listener, and started Apex Listener):
    root@firefly:~# netstat -a |grep 8080
    tcp        0      0 firefly.snowdrop.:22110 firefly.snowdrop.c:8080 ESTABLISHED
    tcp        0      0 firefly.snowdrop.:22111 firefly.snowdrop.c:8080 ESTABLISHED
    tcp        0      0 firefly.snowdrop.:22107 firefly.snowdrop.c:8080 ESTABLISHED
    tcp        0      0 firefly.snowdrop.:22109 firefly.snowdrop.c:8080 ESTABLISHED
    tcp        0      0 firefly.snowdrop.:22112 firefly.snowdrop.c:8080 ESTABLISHED
    tcp        0      0 firefly.snowdrop.:22108 firefly.snowdrop.c:8080 ESTABLISHED
    tcp6       0      0 [::]:8080               [::]:*                  LISTEN    
    tcp6       0      0 firefly.snowdrop.c:8080 firefly.snowdrop.:22108 ESTABLISHED
    tcp6       0      0 firefly.snowdrop.c:8080 firefly.snowdrop.:22107 ESTABLISHED
    tcp6       0      0 firefly.snowdrop.c:8080 firefly.snowdrop.:22112 ESTABLISHED
    tcp6       0      0 firefly.snowdrop.c:8080 firefly.snowdrop.:22109 ESTABLISHED
    tcp6       0      0 firefly.snowdrop.c:8080 firefly.snowdrop.:22110 ESTABLISHED
    tcp6       0      0 firefly.snowdrop.c:8080 firefly.snowdrop.:22111 ESTABLISHEDWhat are 22108, 22107, etc? I cannot reproduce this either.
    Now I only got
    root@firefly:~# netstat -a |grep 8080
    tcp6       0      0 [::]:8080               [::]:*                  LISTEN    
    root@firefly:~# netstat -pnl |grep 8080
    tcp6       0      0 :::8080                 :::*                    LISTEN      5035/java   which is normal, right?
    Edited by: Valerie Debonair on Aug 1, 2011 9:43 PM

  • ORA-20876: Stop APEX Engine message in CSV download from Interactive Report

    Hi,
    1 particular Interactive Report in our application produces the following error message in the CSV file, if we attempt to download the report: -
    ORA-20876: Stop APEX Engine
    All other reports work OK, there is another thread here with the same issue, but no resolution was posted: APEX 4.1 ORA-20876: Stop APEX Engine
    Has anyone else come across this issue?
    Apex version is 4.1.0.00.32
    Thanks,
    Mike
    Edited by: Mike, UK on Mar 6, 2012 9:39 PM

    Hi,
    what happens if you take the query from IR report and create a new classic report?
    On this report enable csv export and then try the export.
    Maybe that (format) data are causing export to fail.
    Try to export just one row in your IR report (and classic report), so that you add where rownum < 2.
    Regards,
    Aljaz
    Edited by: Aljaz on 6.3.2012 23:11
    Edited by: Aljaz on 6.3.2012 23:29

  • Image cache not working with Firefox and apex

    Hi,
    I'd like to cache all my images to save page rendering time and bandwidth because my images are all static and never change.
    I use the John Scott's caching technique Link: [http://jes.blogs.shellprompt.net/2007/05/18/apex-delivering-pages-in-3-seconds-or-less/], in a few words this technique consists of adding a header line "Expires: date in the future" in the http response.
    It works very well in IE, the images are cached and the same image can be accessed several times (within the same session or in different sessions) without issuing an http request to the server each time.
    with Firefox it does not work, the same image is asked again and again to the server (i'm using FF 3.5 and APEX 3.2).
    - Is it a date format problem? no, because when i type about:cache in FF, i can find my image in the cache with an expire date in the future.
    The weird thing here is that the counter is incremented each time u request the image, so FF knows it is in the cache and even if the expire date is in the future, FF asks it again to the server.
    - Is it a FF bug? If u read the http specs or if u google a little, u can come to the conclusion that FF does not follow the standards,
    but... images.google.com for example manages to get its images cached with FF.
    They use an http response header "cache-control: public, max-age=604800".
    I tried the same and all kinds of combinations but without success.
    When i compare my image with the one from google in the FF cache, they both have the same attributes.
    - It's not an apex issue neither because it works with IE, most probably an incompatibility between apex and FF?
    Maybe the use of cookie? or the http request (not the response) containing "cache-control: max-age=0"?
    I've found so far 2 half solutions:
    1) use ETag and modified date, see the Tyler Muth's note Link: [http://tylermuth.wordpress.com/2008/02/04/image-caching-in-plsql-applications/].
    with this technique FF continues to send request each time but the answer is shorter because it's just a "304 not modified" instead of "200 OK" (200 response is bigger as it contains the image).
    it's better than nothing but you still have 1 request + 1 response for nothing.
    Another problem is that you need SYS access to implement this, which is not possible on an hosted server. (note that for images from the file system it is already foreseen by apex 3.1, Tyler's note is for images from the db)
    2) if you preload the image (using myimage=new Image();myimage.src='...';), then there is max 1 request per browser session.
    There are 2 minor issues here:
    - no caching across sessions
    - if u don't want to preload all the images (example a page with lots of thumbnails, when user clicks it show a bigger image, in that case the thumbnails can be preloaded but overkill for the big images), then you need to load the image, wait until the image has loaded before displaying it, it does not slow down the execution, but requires some extra JS.
    I'm not asking anyone to investigate it, i can live with the 2 workarounds,
    but just in case someone encountered the same problem and already fixed it.
    Let me know if u managed to use the John Scott's technique with Firefox. (U can use Firebug to see the http traffic)
    Thx
    Tim

    Hi Anshul, hope these help. Let me know if you need to see anything else.
    Best,
    Menu Settings:
    Tab Hyperlink:
    Label Text with with hyper link option not available (works as a hyperlink in chrome and IE though):
    Thanks for the help in advance!

  • ORA-12500 and Memory limited

    This is list of environment
    - Oracle 8.1.7
    - OS is AIX
    - RAM = 2GB
    - 3 instances
    when user try to connect too much that will show ORA-12500 and I select this statement in a problem instance
    "select count(1) from v$session" the result estimate is 502.
    "select count(1) from v$process" the result estimate is 504
    and another instance 10 sessions and 20 sessions.
    This's folloing a part of parameters.
    bitmap_merge_area_size integer 1048576
    create_bitmap_area_size integer 8388608
    db_block_buffers integer 10000
    db_block_lru_latches integer 2
    db_block_max_dirty_target integer 10000
    db_block_size integer 8192
    distributed_transactions integer 243
    hash_area_size integer 16777216
    hash_multiblock_io_count integer 32
    java_pool_size string 20000K
    large_pool_size string 0
    processes integer 800
    sessions integer 885
    shared_pool_reserved_size string 15000000
    shared_pool_size string 300000000
    sort_area_retained_size integer 1048576
    sort_area_size integer 4194304
    sort_multiblock_read_count integer 32
    transactions integer 973
    transactions_per_rollback_segment integer 5
    How to modify or change some parameter for fix this problem?

    I think you need to give more description about problem.
    You might review the following Oracle Metalink Document:
    SQL*Net (oracle Networking) Common Errors & Diagnostic Worksheet: Doc ID: Note:45878.1
    https://metalink.oracle.com/metalink/plsql/f?p=130:14:5712140308577577466::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,45878.1,1,0,1,helvetica
    If possible also upgrade your database.
    Adith

  • Oracle Text and APEX

    Hello
    Tried the Oracle White Paper - Oracle Text Web Applications
    Created the table and populated with relevant url links
    create table htmldb_documentation(
    id number,
    doc_title varchar2(4000),
    doc_url varchar2(4000))
    then created the index
    create index htmldb_doc_ctxidx on htmldb_documentation(doc_url)
    indextype is ctxsys.context
    parameters ('datastore CTXSYS.URL_DATASTORE')
    Then ran my SQL for the report in Toad and APEX SQL Workshop>SQL Commands before creating an APEX Region based on a SQL Report
    select score(1) relevance, doc_title, doc_url
    from htmldb_documentation
    where CONTAINS (doc_url, :P1_SEARCH, 1) > 0
    order by 1 desc
    After running the APEX Report I get error
    report error:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-20000: Oracle Text error:
    DRG-50901: text query parser syntax error on line 1, column 1
    I also ran these grant commands after I received this error
    grant ctxapp to demo;
    grant execute on ctx_cls to demo;
    grant execute on ctx_ddl to demo;
    grant execute on ctx_doc to demo;
    grant execute on ctx_output to demo;
    grant execute on ctx_query to demo;
    grant execute on ctx_report to demo;
    grant execute on ctx_thes to demo;
    grant execute on ctx_ulexer to demo;
    Any ideas ?? I'm running APEX 3.1.0.00.32 on Oracle 10.2.0.1 on WindowsXP
    If I replace the bind variable :P1_SEARCH, with a literal value the error disappears

    Couple of things to check:
    1) do you have an item called P1_SEARCH in your application?
    2) If so, make sure that it has a value; otherwise, Oracle Text gets confused and will throw that error.
    You may want to consider using a PL/SQL Function Returning SQL Query that will only append the CONTAINS clause if P1_SEARCH has some value.
    Thanks,
    - Scott -
    http://sumnertechnologies.com
    http://spendolini.blogspot.com

  • Ora 600 and ora 7445 error in oracle 10g r2

    hi all,
    we are using Oracle 10g r2.
    os is windows 2003 server,
    ram is 4 gb.
    front end is java .
    we got a below mentioned errors.
    i got the RA-00600: internal error code, arguments: [qerghFetch:inc], [], [], [], [], [], [], [],
    and ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x61F04AC9] [ADDR:0xC] [UNABLE_TO_READ] []
    and Error 0 in kwqmnpartition(), aborting txn errors.
    for aug 3 11.42.47 we got a ora 600 error after that through front end (java) users can't able to connect the database.the not able to executed the query session disconnected error.
    what is reason for theis error . how it will rectifiy.?
    pls advice.Below i attached the alret log message .
    Sun Aug 02 04:04:24 2009
    Error 0 in kwqmnpartition(), aborting txn
    Sun Aug 02 05:48:10 2009
    Error 0 in kwqmnpartition(), aborting txn
    Sun Aug 02 05:49:10 2009
    Error 0 in kwqmnpartition(), aborting txn
    Sun Aug 02 07:38:49 2009
    Thread 1 advanced to log sequence 1732
    Current log# 3 seq# 1732 mem# 0: E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
    Sun Aug 02 07:44:14 2009
    Error 0 in kwqmnpartition(), aborting txn
    Sun Aug 02 07:45:14 2009
    Error 0 in kwqmnpartition(), aborting txn
    Sun Aug 02 22:00:26 2009
    Thread 1 advanced to log sequence 1733
    Current log# 1 seq# 1733 mem# 0: E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
    Mon Aug 03 07:08:15 2009
    Thread 1 advanced to log sequence 1734
    Current log# 2 seq# 1734 mem# 0: E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
    Mon Aug 03 09:28:23 2009
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 09:30:27 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 11:42:47 2009
    Errors in file e:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_6012.trc:
    ORA-00600: internal error code, arguments: [qerghFetch:inc], [], [], [], [], [], [], []
    Mon Aug 03 13:20:00 2009
    Thread 1 advanced to log sequence 1735
    Current log# 3 seq# 1735 mem# 0: E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
    Mon Aug 03 16:07:07 2009
    Errors in file e:\oracle\product\10.2.0\em_2\rdbms\trace\orcl_ora_4756.trc:
    ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x61F04AC9] [ADDR:0xC] [UNABLE_TO_READ] []
    Mon Aug 03 16:07:11 2009
    Process m000 died, see its trace file
    Mon Aug 03 16:07:11 2009
    ksvcreate: Process(m000) creation failed
    Mon Aug 03 16:08:37 2009
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 16:10:40 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 17:25:05 2009
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 17:27:11 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 17:32:19 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 17:33:24 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 18:52:08 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 18:54:09 2009
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 19:05:33 2009
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Mon Aug 03 19:09:02 2009
    Errors in file e:\oracle\product\10.2.0\em_2\rdbms\trace\orcl_ora_5132.trc:
    ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [unable_to_trans_pc] [PC:0x7C34126B] [ADDR:0x0] [UNABLE_TO_WRITE] []
    Mon Aug 03 19:10:27 2009
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn
    Error 0 in kwqmnpartition(), aborting txn

    Hi reshumakur
    As this is your PRODUCTION system THEN_ The best help to offer in case of ORA-600, and ORA-7445 is to open SR with metalink. Submit with the SR the following
    1- Alert log
    2- Trace files (in ur case e:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_6012.trc: and e:\oracle\product\10.2.0\em_2\rdbms\trace\orcl_ora_4756.trc:)
    3- Describe what was happening when you had these errors.
    Try to avoid free help when you have ORA-600 and ORA-07445. This errors could be becuase of BUGS. Oracle Support will know this from the call stack in the trace file.
    Then Do your best to patch 10.2.0.4 and the latest CPU patch.
    Good Luck

  • ORA-02068, ORA-03135 - Connection Lost to Database - cancel session?

    The situation:
    We have an Oracle instance that we have no control over (3rd party maintained) and is shutdown on a nightly basis to do a cold back up. I'll call DB-A (8.1.7.4).
    We have processes that run in Peoplesoft that selects from a view in database HR-B (10.2.0.3) that references tables in DB-A via a database link.
    Peoplesoft does it's own "thread-pooling" and Oracle sessions that are created remain in an inactive state and get re-used as SQL statements are issued.
    Problem:
    As selects are made to the view with links to DB-A a valid session is created and remains inactive once the SQL is complete. During the night DB-A is shutdown and then started back up after the cold backups. In the morning a select is issued against the view to DB-A and tries to reuse the same session that was previously used. But since the DB-A was bounced the SQL statement gets an ORA-2068 and 0RA-03135 communication error. A second attempt seems to reestablish communication and is successful (using the same session). Adding to this problem is that multiple sessions could have been created and get reused by other processes and get the same error... so just adding retry process to a few applications does not seem feasible nor does it mean success.
    Possible Solution and question:
    Once DB-A is shutdown I would like to cancel any sessions in HR-B that may either be in a "bad" state, i.e. result in a communication error because it had last accessed DB-A. This way a new session would be created the next time a call is made to access data from DB-A... I've proven this to be successful via SQLPlus. Does anyone know if there is a V$ view that would show a session in a "bad" state like this? Or I would like to find sessions that executed SQL that referenced DB-A from HR-B and cancel those sessions. Does anyone have a suggestion? Thanks in advance.

    I believe what you are looking for is: sqlnet.expire_time
    You can put this in your sqlnet.ora file and set it for a time you want it to check for 'sniped' sessions, (or sessions that have been disconnected externally for some reason).
    Reference a quote from D. Burleson's site:
    The sqlnet.expire_time parameter is used to set a time interval, in minutes, to determine how often a probe should be sent verifying that client/server connections are active.
    http://www.dba-oracle.com/t_connect_time_idle_expire_timeout.htm
    HTH,
    ji li

  • System.out and System.err

    Hi all,
    This is a stupid newbie question, but I could not find the answer on the Web
    site, so here goes: Where do System.out and System.err get written to? I'm
    trying to deploy some plain-vanilla stateless session beans that do a bunch
    of println() calls, but I can't see the output anywhere! The WebLogic
    Console shows no messages, /myserver/weblogic.log has nothing interesting,
    and there are no .log files anywhere that I can see. I even searched /tmp
    and found nothing of interest. What am I missing? Do I have to explicitly
    open a file for System.out and/or System.err? That doesn't sound right...
    - danz

    The simple answer to your questions are no and no.
    I recently logged a problem with BEA WebLogic technical support regarding
    this issue and their response is:
    You have two choices. You can either use standard Java file i/o to write
    your output to a file, or you can use our t3loggingservices to append
    messages into the weblogic.log
    The "jump point" for the logging services is at --
    http://www.weblogic.com/docs51/classdocs/javadocs/weblogic/common/LogService
    sDef.html
    It is actually very easy to use -- after you import the proper packages into
    your web application it is just as easy to use as System.out.println.
    John J. Feigal Voice (651)766-8787 (main)
    Sr. Technical Consultant (651)766-7249 (direct)
    Ensodex, Inc. Fax (651)766-8792
    4105 N. Lexington Ave., Suite 150 email [email protected]
    Arden Hills, MN 55126 WebSite http://www.ensodex.com
    "Jon Wynett" <[email protected]> wrote in message
    news:[email protected]...
    I'm running WebLogic as an NT Service. Is there any way to see the
    System.out.println messages? Can they be redirected to the weblogic.log
    file?
    We were running through a DOS Window and saw all the messages, however we
    ideally want to run Weblogic as a service.
    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    I'm guessing that you started the server with the .exe file on Windows.
    If you're debugging with printlns, it's generally more conventient to
    use the startWebLogic.sh or startWebLogic.cmd files to start the server
    from a shell.
    By default, you'll see stdout and stderr in the window.
    -- Rob
    Dan Zivkovic wrote:
    Hi all,
    This is a stupid newbie question, but I could not find the answer on
    the
    Web
    site, so here goes: Where do System.out and System.err get written to?I'm
    trying to deploy some plain-vanilla stateless session beans that do abunch
    of println() calls, but I can't see the output anywhere! The WebLogic
    Console shows no messages, /myserver/weblogic.log has nothinginteresting,
    and there are no .log files anywhere that I can see. I even searched/tmp
    and found nothing of interest. What am I missing? Do I have toexplicitly
    open a file for System.out and/or System.err? That doesn't soundright...
    - danz

Maybe you are looking for