Memlock limit too small

Hi,
We have Oracle 11gR2 (11.2.0.3) on the server with RHEL 5. Whenever we restart the database, we get below statements in the alert log:
Memlock limit too small: 32768 to accommodate segment size: 16777216
Memlock limit too small: 32768 to accommodate segment size: 16777216
Memlock limit too small: 32768 to accommodate segment size: 16777216
Memlock limit too small: 32768 to accommodate segment size: 16777216
Memlock limit too small: 32768 to accommodate segment size: 16777216
Memlock limit too small: 32768 to accommodate segment size: 2097152
****************** Large Pages Information *****************
Total Shared Global Region in Large Pages = 0 KB (0%)
Large Pages used by this instance: 0 (0 KB)
Large Pages unused system wide = 1536 (3072 MB) (alloc incr 16 MB)
Large Pages configured system wide = 1536 (3072 MB)
Large Page size = 2048 KB
RECOMMENDATION:
  Total Shared Global Region size is 3014 MB. For optimal performance,
  prior to the next instance restart increase the number
  of unused Large Pages by atleast 0 2048 KB Large Pages (0 KB)
  system wide to get 100% of the Shared
  Global Region allocated with Large pages
Please advise.
-Onkar

PaulR,
below are the entries in my /etc/security/limits.conf file:
#Each line describes a limit for a user in the form:
#<domain>        <type>  <item>  <value>
#Where:
#<domain> can be:
#        - an user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to
#        - rtprio - max realtime priority
#<domain>      <type>  <item>         <value>
#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4
# End of file
oracle          soft    nproc   16384
oracle          hard    nproc   32768
oracle          soft    nofile  65536
oracle          hard    nofile  98304
oracle          soft    stack   32768
oracle          hard    stack   49152
Any suggestions??
-Onkar

Similar Messages

  • SQL Buffer character limit too small.

    I am attempting to execute an .SQL script file using the SQLPlus.exe command line. The script is a simple INSERT statement and executes fine as long as the text being inserted is english. But when the text is translated to either Traditional or Simplified Chinese the script generates the following error:
    SP2-0341: line overflow during variable substitution (>3000 characters at line 2)
    Some background information:
    1. The database was created with the National Character Set of AL16UTF16 and the Database Character Set of AL32UTF8.
    2. The data types for the columns being populated are NVARCHAR2 and NCLOB.
    3. SQLPlus command line syntax: SQLPLUS.EXE -MARKUP "HTML ON SPOOL ON" UID/PWD@DBNAME @CREATE-5-CHINESE1.sql > CREATE-5-CHINESE1.HTML
    4. Environment variable setting: NLS_LANG=.UTF8
    5. Contents of CREATE-5-CHINESE1.SQL:
    WHENEVER SQLERROR EXIT SQL.SQLCODE
    SET DEFINE OFF
    SET ECHO ON;
    SET ESCAPE ON;
    CLEAR BUFFER
    INSERT INTO tbl_lm_notification_nls (col_id_notification, col_id_language, col_name_notification, col_subject, col_text) VALUES (1001, 5, '&#40664;&#35748;&#27979;&#35780;&#32773;&#36992;&#35831;', '%s - &#20320;&#34987;&#36873;&#25321;&#21442;&#19982;', '&#65279;&#20320;&#24050;&#32463;&#34987;&#36873;&#25321;&#21442;&#21152;360&#24230;&#21453;&#39304;&#35843;&#26597;&#65292;&#26412;&#35843;&#26597;&#20351;&#29992;&#19968;&#31181;&#31216;&#20026; xxxxxxxxxxxxxxxxx(R) &#30340;&#32593;&#32476;&#21453;&#39304;&#24037;&#20855;&#26469;&#25910;&#38598;&#23545;&#20154;&#20204;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#30340;&#35266;&#23519;&#20449;&#24687;&#12290; \
    &#20320;&#35201;&#23436;&#25104;&#30340;&#35843;&#26597;&#23558;&#35201;&#27714;&#20320;&#23545;&#33258;&#24049;&#22312;&#19968;&#20123;&#19982;&#24037;&#20316;&#30456;&#20851;&#30340;&#25216;&#33021;&#12289;&#34892;&#20026;&#21644;&#30693;&#35782;&#31561;&#26041;&#38754;&#36827;&#34892;&#35780;&#20272;&#12290; &#20320;&#36824;&#23558;&#36992;&#35831;&#19982;&#20320;&#30340;&#24037;&#20316;&#26377;&#20851;&#30340;&#20154;&#20204;&#23436;&#25104;&#35843;&#26597;&#12290; &#36825;&#20123;&#27979;&#35780;&#32773;&#21487;&#20197;&#21253;&#25324;&#20320;&#30340;&#32463;&#29702;&#12289;&#21516;&#32423;&#20154;&#21592;&#12289;&#30452;&#25509;&#19979;&#23646;&#12289;&#23458;&#25143;&#21450;&#20854;&#20182;&#20154;&#12290; &#35780;&#20272;&#20449;&#24687;&#30340;&#36136;&#37327;&#21644;&#20934;&#30830;&#24615;&#35201;&#20381;&#36182;&#20110;&#20320;&#21644;&#20320;&#30340;&#27979;&#35780;&#32773;&#20204;&#35802;&#23454;&#22320;&#25552;&#20379;&#21453;&#39304;&#12290;\
    A&#25552;&#20132;&#35843;&#26597;&#31572;&#26696;&#20043;&#21518;&#65292;xxxxxxxxxxxxxxxxx &#23558;&#35745;&#31639;&#32467;&#26524;&#24182;&#20135;&#29983;&#25253;&#21578;&#12290; &#25253;&#21578;&#23558;&#25226;&#20320;&#30340;&#33258;&#25105;&#30475;&#27861;&#19982;&#27979;&#35780;&#32773;&#23545;&#20320;&#30340;&#30475;&#27861;&#30456;&#27604;&#36739;&#12290; &#36825;&#20010;&#27604;&#36739;&#21487;&#20197;&#25351;&#20986;&#20808;&#21069;&#26410;&#30693;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#65292;&#36824;&#23558;&#21327;&#21161;&#30830;&#35748;&#20320;&#21644;&#20182;&#20154;&#26377;&#19968;&#33268;&#30475;&#27861;&#30340;&#39046;&#22495;&#12290;\
    &#25253;&#21578;&#20013;&#30340;&#20449;&#24687;&#23558;&#21327;&#21161;&#20320;&#22238;&#31572;&#20004;&#20010;&#37325;&#35201;&#38382;&#39064;&#65306;\
    o &#20320;&#26368;&#24378;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    o &#20320;&#26368;&#38656;&#35201;&#21457;&#23637;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    &#20102;&#35299;&#20320;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#23558;&#21327;&#21161;&#20320;&#21644;&#20320;&#30340;&#32452;&#32455;&#35782;&#21035;&#36866;&#24403;&#30340;&#21457;&#23637;&#27963;&#21160;&#21644;&#20320;&#30340;&#26410;&#26469;&#25104;&#38271;&#35745;&#21010;&#12290;\
    COMMIT;
    EXIT SQL.SQLCODE;
    6. Contents of CREATE-5-CHINESE.HTML (command output):
    SQL*Plus: Release 10.1.0.2.0 - Production on Wed Oct 19 11:02:58 2005
    Copyright (c) 1982, 2004, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining options
    SQL> SET ESCAPE ON;
    SQL> /
    SP2-0103: Nothing in SQL buffer to run.
    SQL> CLEAR BUFFER
    SQL> INSERT INTO tbl_lm_notification_nls (col_id_notification, col_id_language, col_name_notification, col_subject, col_text) VALUES (1001, 5, '&#40664;&#35748;&#27979;&#35780;&#32773;&#36992;&#35831;', '%s - &#20320;&#34987;&#36873;&#25321;&#21442;&#19982;', '&#65279;&#20320;&#24050;&#32463;&#34987;&#36873;&#25321;&#21442;&#21152;360&#24230;&#21453;&#39304;&#35843;&#26597;&#65292;&#26412;&#35843;&#26597;&#20351;&#29992;&#19968;&#31181;&#31216;&#20026; xxxxxxxxxxxxxxxxx(R) &#30340;&#32593;&#32476;&#21453;&#39304;&#24037;&#20855;&#26469;&#25910;&#38598;&#23545;&#20154;&#20204;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#30340;&#35266;&#23519;&#20449;&#24687;&#12290; \
    2 \
    3 &#20320;&#35201;&#23436;&#25104;&#30340;&#35843;&#26597;&#23558;&#35201;&#27714;&#20320;&#23545;&#33258;&#24049;&#22312;&#19968;&#20123;&#19982;&#24037;&#20316;&#30456;&#20851;&#30340;&#25216;&#33021;&#12289;&#34892;&#20026;&#21644;&#30693;&#35782;&#31561;&#26041;&#38754;&#36827;&#34892;&#35780;&#20272;&#12290; &#20320;&#36824;&#23558;&#36992;&#35831;&#19982;&#20320;&#30340;&#24037;&#20316;&#26377;&#20851;&#30340;&#20154;&#20204;&#23436;&#25104;&#35843;&#26597;&#12290; &#36825;&#20123;&#27979;&#35780;&#32773;&#21487;&#20197;&#21253;&#25324;&#20320;&#30340;&#32463;&#29702;&#12289;&#21516;&#32423;&#20154;&#21592;&#12289;&#30452;&#25509;&#19979;&#23646;&#12289;&#23458;&#25143;&#21450;&#20854;&#20182;&#20154;&#12290; &#35780;&#20272;&#20449;&#24687;&#30340;&#36136;&#37327;&#21644;&#20934;&#30830;&#24615;&#35201;&#20381;&#36182;&#20110;&#20320;&#21644;&#20320;&#30340;&#27979;&#35780;&#32773;&#20204;&#35802;&#23454;&#22320;&#25552;&#20379;&#21453;&#39304;&#12290;\
    4 \
    5 A&#25552;&#20132;&#35843;&#26597;&#31572;&#26696;&#20043;&#21518;&#65292;xxxxxxxxxxxxxxxxx &#23558;&#35745;&#31639;&#32467;&#26524;&#24182;&#20135;&#29983;&#25253;&#21578;&#12290; &#25253;&#21578;&#23558;&#25226;&#20320;&#30340;&#33258;&#25105;&#30475;&#27861;&#19982;&#27979;&#35780;&#32773;&#23545;&#20320;&#30340;&#30475;&#27861;&#30456;&#27604;&#36739;&#12290; &#36825;&#20010;&#27604;&#36739;&#21487;&#20197;&#25351;&#20986;&#20808;&#21069;&#26410;&#30693;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#65292;&#36824;&#23558;&#21327;&#21161;&#30830;&#35748;&#20320;&#21644;&#20182;&#20154;&#26377;&#19968;&#33268;&#30475;&#27861;&#30340;&#39046;&#22495;&#12290;\
    6 \
    7 &#25253;&#21578;&#20013;&#30340;&#20449;&#24687;&#23558;&#21327;&#21161;&#20320;&#22238;&#31572;&#20004;&#20010;&#37325;&#35201;&#38382;&#39064;&#65306;\
    8 \
    9 o &#20320;&#26368;&#24378;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    10 o &#20320;&#26368;&#38656;&#35201;&#21457;&#23637;&#30340;&#22320;&#26041;&#26159;&#20160;&#20040;&#65311;\
    11 \
    12 &#20102;&#35299;&#20320;&#30340;&#24378;&#39033;&#21644;&#21457;&#23637;&#38656;&#35201;&#23558;&#21327;&#21161;&#20320;&#21644;&#20320;&#30340;&#32452;&#32455;&#35782;&#21035;&#36866;&#24403;&#30340;&#21457;&#23637;&#27963;&#21160;&#21644;&#20320;&#30340;&#26410;&#26469;&#25104;&#38271;&#35745;&#21010;&#12290;\
    13 \
    14 ');
    SP2-0341: line overflow during variable substitution (>3000 characters at line 2)
    SQL> /
    SP2-0341: line overflow during variable substitution (>3000 characters at line 2)
    SQL> COMMIT;
    Commit complete.
    SQL> EXIT SQL.SQLCODE;
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, Oracle Label Security, OLAP and Data Mining options
    I believe that increasing the size of SQL Buffer may fix the problem, but I am unsure of how to do this or if it is even possible.
    Thanks in advance for any information that you can provide.
    Mike Z.

    I'm not suggesting this is your problem, but
    select status
    into v_status,
    from registration_offender_xref But you have declared
          v_status  varchar2(10);Much better to declare things like this
          v_status  registration_offender_xref.status%type;That way you know your variable is declared with a proper length, if the column length ever changes ... your code doesn't go kaboom.
    Cheers,

  • BI Publisher Report Query Error: "character string buffer too small"

    Using apex.oracle.com, I am trying to make a Report Query (Shared Components > Report Queries) based on many columns (around 60).
    When I enter my SQL in the "Source Query" Text Area and then click Test Report I get the following error:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small In order to try to make the simplest test case possible for this, I then tried entering SQL selecting just from DUAL.
    The following SQL fails with the error mentioned above.
    SELECT
    'wibble' as a
    ,'wibble' as b
    ,'wibble' as c
    ,'wibble' as d
    ,'wibble' as e
    ,'wibble' as f
    ,'wibble' as g
    ,'wibble' as h
    ,'wibble' as i
    ,'wibble' as j
    ,'wibble' as k
    ,'wibble' as l
    ,'wibble' as m
    ,'wibble' as n
    ,'wibble' as o
    ,'wibble' as p
    ,'wibble' as q
    ,'wibble' as r
    ,'wibble' as s
    ,'wibble' as t
    ,'wibble' as u
    ,'wibble' as v
    ,'wibble' as w
    ,'wibble' as x
    ,'wibble' as y
    ,'wibble' as z
    ,'wibble' as ab
    ,'wibble' as ac
    ,'wibble' as ad
    ,'wibble' as ae
    ,'wibble' as af
    ,'wibble' as ag
    ,'wibble' as ah
    ,'wibble' as ai
    ,'wibble' as aj
    ,'wibble' as ak
    ,'wibble' as al
    ,'wibble' as am
    ,'wibble' as an
    ,'wibble' as ao
    ,'wibble' as ap
    ,'wibble' as aq
    ,'wibble' as ar
    ,'wibble' as at
    ,'wibble' as au
    ,'wibble' as av
    FROM dualRemoving the last column from this SQL query (bringing the total number of columns down to 45) as follows and then clicking "Test Report" works successfully.
    SELECT
    'wibble' as a
    ,'wibble' as b
    ,'wibble' as c
    ,'wibble' as d
    ,'wibble' as e
    ,'wibble' as f
    ,'wibble' as g
    ,'wibble' as h
    ,'wibble' as i
    ,'wibble' as j
    ,'wibble' as k
    ,'wibble' as l
    ,'wibble' as m
    ,'wibble' as n
    ,'wibble' as o
    ,'wibble' as p
    ,'wibble' as q
    ,'wibble' as r
    ,'wibble' as s
    ,'wibble' as t
    ,'wibble' as u
    ,'wibble' as v
    ,'wibble' as w
    ,'wibble' as x
    ,'wibble' as y
    ,'wibble' as z
    ,'wibble' as ab
    ,'wibble' as ac
    ,'wibble' as ad
    ,'wibble' as ae
    ,'wibble' as af
    ,'wibble' as ag
    ,'wibble' as ah
    ,'wibble' as ai
    ,'wibble' as aj
    ,'wibble' as ak
    ,'wibble' as al
    ,'wibble' as am
    ,'wibble' as an
    ,'wibble' as ao
    ,'wibble' as ap
    ,'wibble' as aq
    ,'wibble' as ar
    ,'wibble' as at
    ,'wibble' as au
    FROM dualSo the question is: Is there a hard-coded limit of 45 columns for a Source Query? Or is there something else causing this error message?
    (For information in the above example I have "Use Generic Report Layout" selected and the output format set to "PDF")
    Thanks very much in advance for any comments or suggestions,
    Andy

    Thanks for the suggestion Simon.
    I just created a view based on the 46-column SELECT statement from dual above and then set "SELECT * FROM myview" as the Source Query.
    Unfortunately I get exactly the same error.
    Thanks,
    Andy

  • Buffer too small for string - Crystal Report for Vs2010

    Hello,
        I have recently upgrade my VS2010 project to Crystal Report for Visual Studion 2010.
        I have some reports that contains more than 512 characters in the Report Comments section.
        When I try to do a RptDoc.SaveAs(vPath, false) the following error is raised:
    Buffer too small for string or missing null byte.
          at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.SaveAs in :line 0
          at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.SaveAs in :line 0
          at CrystalDecisions.CrystalReports.Engine.ReportDocument.SaveAs in :line 0
        This line SaveAs was working has expected with Crystal Report 2008. Any idea on why it is not working anymore.
    Thank you.
    Charles

    Hello Don,
        I have start a little project to retest the behavior.
       I have create a new report in Crystal Report 2008 just by clicking New, Finish and Save.
       In a new Windows Application in Vs2010 ,I have added the following Crystal Report Reference.
        CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0
       CrystalDecisions.Shared, Version=13.0.2000.0
    I have then try the following code and found out the limit of ReportComment is 511 but in the Crystal Report 2008 designer and runtime the limit did not apply.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
          Dim objRpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
          Dim i As Integer = 0
          Try
             objRpt.Load("c:\temp\empty.rpt", CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy)
             Do
                i += 1
                objRpt.SummaryInfo.ReportComments = New String("X", i)
             Loop
             objRpt.SaveAs("c:\temp\dfh_save.rpt", False)
          Catch ex As Exception
             MsgBox("i: " & i)
             MsgBox(ex.Message)
          End Try
    End Sub
         I am able to put has many characters if I insert the report in the Vs2010 Solution.
         If you prefer I can send you my little project.
    Thank you.
    Charles
    <code> should be
    Edited by: Don Williams on Feb 4, 2011 12:47 PM

  • ORA-22835: buffer too small when trying to save pdf file in LONG RAW column

    Hi,
    I get "ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (real : 125695, maximum : 2000)" when i trying to save a 120k pdf file in an Oracle Long Raw column using dotnet 4.0 and Entity FrameWork.
    Dim db As New OracleEntities
    Try
    Dim myEntity = (From e In db.TEXTE _
    Where e.TEXT_ID = txtTextId.Text _
    Select e).Single
    With myEntity
    If txtTextypeId.Text <> "" Then
    .TEXTYPE_ID = txtTextypeId.Text
    Else
    .TEXTYPE_ID = Nothing
    End If
    .TEXT_NUM = txtTextNum.Text
    .TEXT_NAME = txtTextName.Text
    .TEXT_DATE = dtTextDate.SelectedDate
    If DocAdded Then
    .TEXT_DOC = Document
    ElseIf DocDeleted Then
    .TEXT_DOC = Nothing
    End If
    End With
    db.SaveChanges()
    Document is an array of Byte and TEXT_DOC also (mapped to a long row column).
    is it possible to increase the size of the buffer ? how may i do it ?
    Thx in advance.
    Regards.

    Using a custom UPDATE or INSERT stored procedure for LONG RAW column with
    exceed-limit data may still get the following error.
    "ORA-01460: unimplemented or unreasonable conversion requested".
    One option is to use BLOB instead of LONG RAW in your table and regenerate your
    data model from the table. Then using the default UPDATE or INSERT statement
    (created by EF) should work.
    The following will modify your LONG RAW column to BLOB column.
    Disclaimers:
    1. It's irreversible--you cannot modify BLOB back to LONG RAW.
    2. I have not tried that when there are huge data in LONG RAW column.
    So be careful.
    alter table <your_table_name> modify <your_long_raw_type_column> blob;

  • ORA-06502 (character string buffer too small) on import application via script

    Running apex 4.2.2.00.11
    oracle 10.2.0.5
    I'm using a script to import my development application to a few production applications.
    It worked great on apex 4.1.1, but now I get an 'ORA-06502 PL/SQL numeric of value error: character string buffer too small'
    In the command window, I see that the script fails after it starts on the plugins.
    My question: is this a bug in 4.2.2?
    I could be a incompatible plugin, but how can I found out which plugin?
    My script is quite simple:
    In a command window I run
    sqlplus SCHEMA/PASSWORD@SPIEU10 @_IMPORT_F102.sql
    The script is
    declare
    l_workspace_id number;
    begin
        -- determine the workspace id for the workspace FM in the target system
        select workspace_id into l_workspace_id from apex_workspaces where workspace = 'BY_APEX_SHARED';
        -- set the context for the target workspace
        apex_application_install.set_workspace_id( l_workspace_id );
        -- override the original application id 102
        apex_application_install.set_application_id ( 102 );
        -- set a different application name and alias, it should be unique within an APEX instance
        apex_application_install.set_application_alias( 'MY_ALIAS' );
        apex_application_install.set_application_name( 'MY_APP_NAME' );
        -- Use fixed offset
        apex_application_install.set_offset( p_offset => 0);
        -- override the original parsing schema FM with a different value
        apex_application_install.set_schema( 'BY_SCHEMA' );
    end;
    -- install the original application export, now the values for the workspace
    @f102.sql
    exit;
    Error message from command window:
    ...ui types
    ...plugins
    begin
    ERROR at line 1:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at line 3
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64
    bit Production
    With the Partitioning, Data Mining and Real Application Testing options

    ListAGG throws an ORA-01489 for varchar2 > 4000 bytes
    OP has an ORA-06502 --> the IR is running into a 4k/32k limit.
    quick solution: wrap USER_COMMENTS ListAGG in a substr( ...., 1, 4000)
    Longer solution, use a subquery to modify the comments based on ROW_NUMBER() (ie after nth row, change it to NULL)
    with
    -- simulating data
    t as (select task_id, sysdate - lv as date_entered
      ,round(dbms_random.value(1,24)) hours
      , '-*' || lv || '.' || task_id || '*-' as user_comments
    from ( select level as task_id from dual connect by level <=10 ), (select level lv from dual connect by level < 1000)
    -- modify data
    modified_data as (
      select task_id, hours, date_entered
        ,case
          when row_number() over (partition by task_id order by date_entered desc) < 5
            then user_comments
          else null
         end USER_COMMENTS
        from t)
    select task_id, sum(hours) total_hours,
      listagg( user_comments  ) within group (order by date_entered desc)
      || case when count(*) >= 5 then '! MORE COMMENTS !' else null end
        as user_comments
    from modified_data
    group by task_id;

  • Checkbox Item: character string buffer too small (APEX 4.0. - 4.2.)

    Hi all,
    I'm currently running the Oracle Application Express 4.0.2 on the Oracle DB 11g and thinking about the APEX upgrading to current 4.2. version. We have there quite big application used by the inernal employees so prior I need to test, if the migration will work.
    I installed the new server with database and the APEX 4.2. and import the current application. Everything seems to working good except few checkboxes, which returns me the error: "ORA-06502: PL/SQL: numeric or value error: character string buffer too small."
    LOV (Source) Code of Checkbox Item:
    SELECT email as display_value, id as return_value
    FROM users
    WHERE <some conditions>;
    In the current version 4.0.2. I get the checkbox item (total count of the rows approx. 650), but in the 4.2. I get this "string buffer too small" error and the page could not be rendered (if I add to the same query limitation: "rownum<242" it will display the item).
    Could you please help me with this issue? Any idea, what I should set up in the new APEX to get the same results or you see there any limitation, why it does not work in the new version, but in the old version the same SQL works fine?
    Thank you all in advance.
    Regards,
    Tomas.

    1007462 wrote:
    Hi all,Welcome to the forum: please read the FAQ and forum sticky threads (if you haven't done so already), and update your forum profile with a real handle instead of "1007462".
    I'm currently running the Oracle Application Express 4.0.2 on the Oracle DB 11g and thinking about the APEX upgrading to current 4.2. version. We have there quite big application used by the inernal employees so prior I need to test, if the migration will work.
    I installed the new server with database and the APEX 4.2. and import the current application. Everything seems to working good except few checkboxes, which returns me the error: "ORA-06502: PL/SQL: numeric or value error: character string buffer too small."
    LOV (Source) Code of Checkbox Item:
    SELECT email as display_value, id as return_value
    FROM users
    WHERE <some conditions>;
    In the current version 4.0.2. I get the checkbox item (total count of the rows approx. 650), but in the 4.2. I get this "string buffer too small" error and the page could not be rendered (if I add to the same query limitation: "rownum<242" it will display the item).
    Could you please help me with this issue? Any idea, what I should set up in the new APEX to get the same results or you see there any limitation, why it does not work in the new version, but in the old version the same SQL works fine?The total size of the HTML generated for an LOV-based item in APEX is restricted to 32K (this limit applies to every version). Why you are hitting this limit in the new instance may be due to differences in data or the database configuration (e.g. character set) rather than changes introduced in APEX.
    Is the data exactly the same? Is the database configuration the same? When you limit the number of rows so the checkboxes are displayed and view the page source, is there any difference in the HTML used to render the checkbox form elements between the two versions?
    That said, from a usability perspective 650 LOV options is rather a lot, and your application may very well outgrow this limit naturally in any version of APEX as more users as added. It is probably worthwhile thinking about other ways to display these options.

  • HTMLDB_ITEM.POPUP_FROM_QUERY - character string buffer too small

    I am creating a updateable report with a popup_from_query item on a table with a high number of columns (40 columns) where every column should be displayed as a popup_from_query.
    I get the following error message when running the page:
    report error:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    *** It seems the longer the column list gets, the shorter the p_lov_query parameter could be.
    - Region 1: If you use only one column, your lov query fails with a statement that is 807+ characters. (if you use 806 it will work without an error).
    - Region 2: If you use only two column, you will fail just with a value of 800.
    - Region ?: I have 40 columns, now my query fails of about 30 charachters.
    * Region 1:
    select
    htmldb_item.popup_from_query(5,'x',
    'SELECT distinct '||COLUMN_NAME||' d, '||COLUMN_NAME||' r'||
    rpad(' ',807,' ')||
    ' FROM '||TABLE_NAME||' order by 1') xxxxxxxxxxxxxxxxxxxxxxxxxxxxx1
    from all_tab_columns
    where rownum < 2
    * Region 2:
    select
    HTMLDB_ITEM.POPUP_FROM_QUERY (
    44, 'x',
    'SELECT distinct '||COLUMN_NAME||' d, '||COLUMN_NAME||' r'||
    rpad(' ',800,' ')||
    ' FROM '||TABLE_NAME||' order by 1',
    least(DATA_LENGTH,60),2000
    ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxx1,
    HTMLDB_ITEM.POPUP_FROM_QUERY (
    44, 'x',
    'SELECT distinct '||COLUMN_NAME||' d, '||COLUMN_NAME||' r'||
    rpad(' ',800,' ')||
    ' FROM '||TABLE_NAME||' order by 1',
    least(DATA_LENGTH,60),2000
    ) xxxxxxxxxxxxxxxxxxxxxxxxxxxxx2
    from all_tab_columns
    where data_type in ('VARCHAR2')
    I have set the region to: Use Generic Column Names (parse query at runtime only)
    Has anyone some suggestions or workaround for updateable reports with a lot of columns where popup's are needed?
    Thx Willi

    Hallo,
    Thank you a lot for that hint. But if this would be the case, why does Region 2 work then?
    Any further comments are welcome.
    Thx, Willi
    P.S.: I had reached the 2000 items (<input>) limit, but now only display less 2000 items on the page: "Your browser sent a request that this server could not understand.
    mod_plsql: /pls/htmldb/wwv_flow.accept HTTP-400 Too many arguments passed in.
    Got 9016 parameters. Upper limit is 2000"

  • Roll area too small

    Hello All,
    We have a background job which is getting canceled saying Roll area too small
    can any 1 of you please explain what exciatly it means.
    Regards,
    Ravi

    Hi Ravi,
    This is related to Memory Allocation Sequence for all Work Process Types.
    Please check the roll area parameters in your system. If the size allocated to roll area is low then background jobs will not finish successflly.
    Please check the all other parameters also related to Memory Allocation.
    ztta/roll_first: Defines the first part of the roll area that is allocated to dialog process
    ztta/roll_area: Defines the total roll area per work process
    rdisp/roll_SHM: Defines the size of the roll buffer
    rdisp/roll_MAXFS: Defines the size of roll buffer and roll file
    em/initial_size_MB: Defines the fixed size of extended memory
    ztta/roll_extension: Defines the user quota for extended memory
    abap/heap_area_dia: Defines the limit for the amount of local memory allocated to dialog work processes
    abap/heap_area_nondia: Defines the limit for the amount of local memory allocated to non-dialog work processes
    abap/heap_area_total: Defines the limit for the total amount of heap memory allocated to all work processes
    Regards
    Krishna Vanga

  • Use scrollbars when panel too small for components in it

    Hi
    I've got a JPanel which just uses flow layout to contain some components. The panel resizes with the JFrame it is in, and wraps the components to new "rows" of components if the width of the JFrame gets too small. Fine.
    If the space available is not sufficient, the components go off the bottom of the JPanel.
    So I thought "put the JPanel inside a JScrollPane".
    Problem is that the JScrollPane does not try to wrap the components to a new row of components if the width of the JFrame is too small. Instead, it displays the horizontal scrollbar, and ignores the fact that there is more space available.
    Below is some code - run the main method to see what I mean.
    If I set the layout for the JScrollPane to something else than the default ViewportLayout (eg GridLayout), then the components wrap to new rows as I want, but the horizontal scrollbar displays then, and it should not. Moreover, the vertical scrollbar never displays at all, even when the JFrame is not tall enough to display even a single rows of components.
    Can anyone show me what I am supposed to do?
    Thanks
    Mark
    package com.evotec.CCDViewer.Real3.mypackage;
    import java.awt.*;
    import javax.swing.*;
    public class TestScrollPanes extends JFrame  {
      private JScrollPane jScrollPane1 = new JScrollPane();
      private BorderLayout borderLayout1 = new BorderLayout();
      private JPanel jPanel1 = new JPanel();
      private JButton jButton1 = new JButton();
      private JButton jButton2 = new JButton();
      private JButton jButton3 = new JButton();
      private JButton jButton4 = new JButton();
      private JButton jButton5 = new JButton();
      private GridLayout gridLayout1 = new GridLayout();
      public TestScrollPanes() {
        try {
          jbInit();
        } catch(Exception e) {
          e.printStackTrace();
        this.setSize(500,500);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
      public static void main(String[] args) {
        new TestScrollPanes();
      private void jbInit() throws Exception {
        this.getContentPane().setLayout(borderLayout1);
        this.setSize(new Dimension(354, 270));
        jScrollPane1.getViewport().setLayout(gridLayout1);
        jButton1.setText("jButton1");
        jButton2.setText("jButton2");
        jButton3.setText("jButton3");
        jButton4.setText("jButton4");
        jButton5.setText("jButton5");
        jPanel1.add(jButton1, null);
        jPanel1.add(jButton2, null);
        jPanel1.add(jButton3, null);
        jPanel1.add(jButton4, null);
        jPanel1.add(jButton5, null);
        jScrollPane1.getViewport().add(jPanel1, null);
        this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
    }

    Custom24, the problem you are running into is due to a conflict between the
    FlowLayout and the ScrollPane; FlowLayout only wraps components when
    it hits the width of the panel, but inside a ScrollPane, the panel can be as
    wide as it wants. So, you have to limit that somehow. Also, FlowLayout goes
    right after the width of the panel, not the preferred width, and not via an
    accessor; it uses it directly.
    So, this seems to work.
    import java.awt.*;
    import javax.swing.*;
    public class TestScrollableFlowPanel extends JFrame {
         public static void main( String[] args ) {
              Runnable doEDT = new Runnable() {
                   public void run() {
                        new TestScrollableFlowPanel();
              SwingUtilities.invokeLater( doEDT );
         public TestScrollableFlowPanel() {
              try {
                   jbInit();
              } catch ( Exception e ) {
                   e.printStackTrace();
              this.setSize( 300, 300 );
              this.setDefaultCloseOperation( EXIT_ON_CLOSE );
              this.setVisible( true );
         private void jbInit() throws Exception {
              ScrollableFlowPanel panel = new ScrollableFlowPanel();
              for ( int k = 0; k < 120; k++ )
                   panel.add( new JButton( "Button"  + k ) );
              JScrollPane scroll = new JScrollPane( panel );
              this.getContentPane().setLayout( new BorderLayout() );
              this.getContentPane().add( scroll, BorderLayout.CENTER );
         static public class ScrollableFlowPanel extends JPanel implements Scrollable {
              public void setBounds( int x, int y, int width, int height ) {
                   super.setBounds( x, y, getParent().getWidth(), height );
              public Dimension getPreferredSize() {
                   return new Dimension( getWidth(), getPreferredHeight() );
              public Dimension getPreferredScrollableViewportSize() {
                   return super.getPreferredSize();
              public int getScrollableUnitIncrement( Rectangle visibleRect, int orientation, int direction ) {
                   int hundredth = ( orientation ==  SwingConstants.VERTICAL
                             ? getParent().getHeight() : getParent().getWidth() ) / 100;
                   return ( hundredth == 0 ? 1 : hundredth );
              public int getScrollableBlockIncrement( Rectangle visibleRect, int orientation, int direction ) {
                   return orientation == SwingConstants.VERTICAL ? getParent().getHeight() : getParent().getWidth();
              public boolean getScrollableTracksViewportWidth() {
                   return true;
              public boolean getScrollableTracksViewportHeight() {
                   return false;
              private int getPreferredHeight() {
                   int rv = 0;
                   for ( int k = 0, count = getComponentCount(); k < count; k++ ) {
                        Component comp = getComponent( k );
                        Rectangle r = comp.getBounds();
                        int height = r.y + r.height;
                        if ( height > rv )
                             rv = height;
                   rv += ( (FlowLayout) getLayout() ).getVgap();
                   return rv;
    }: jay

  • Character string buffer too small error in tabular form

    Hi Folks,
    One of my tabular forms suddenly stopped working out of the blue after 3 months of working perfectly. So I've run into the debug and looks like something went wrong rendering my LOV as below:
         0.16968     0.00328     ...Execute Statement: begin begin SELECT TIME_DISPLAY D, TIME_RETURN R bulk collect into wwv_flow_utilities.g_display,wwv_flow_utilities.g_value FROM TS_HOURS ORDER BY 2; end; end;     4     
    8
         0.17292     0.03912     ...Execute Statement: begin begin select /*+ cardinality(t 10) */ disp, val bulk collect into wwv_flow_utilities.g_display,wwv_flow_utilities.g_value from table(wwv_flow_utilities.get_temp_lov_data(2)) t order by insert_order, disp; end; end;     4     
    100
         0.21211     0.00224     report error: ORA-06502: PL/SQL: numeric or value error: character string buffer too smallI've looked around and saw few others having same issues but nothing that's like mine. Could someone please help me find what the issue is? THanks.
    I am using Apex 4.1.1

    Hi Andre, I have figured out the issue.
    You were correct about the 32K limit. However it applies to the whole tabular form not to do with the particular LOV.
    I tweaked my other LOV's (with 200 return value) to display fewer and this issue was resolved. I think there wasn't enough left for my 60 row LOV by the time APEX engine got to it which renders after the bigger LOV was rendered.
    I think Advisor should have some kind of feature to check forms against 32k limit. Otherwise you wake up one morning and application broke after working 3 months perfectly.

  • Error in notification - "character string buffer too small"

    Hi All,
    Hope everyone is doing great...
    I have issue with one of the procedure which sends out status email for the reports. Below is the code.
    It worked fine from last six months but today it failed because of the length of characters (more reports are added).
    The variable "l_an_report" is VARCHAR and it has crossed it limit so gave the below error. Not sure how to handle the report so that it includes all the data.
    Also please let me if this is good solution :- Have the report status in excel sheet and attach to the email.
    If its fine please let me know how i can achieve this and any prerequisite from network team we need to get?
    ERROR :-
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at "REPORT_STAT.PACKG_EMAIL", line 441
    ORA-06512: at line 2
    Procedure PRC_SUMMARY IS
          l_an_report varchar2(32767);
          l_header VARCHAR2(1000);
          cnxn UTL_SMTP.connection;
          P_job           NUMBER (10)    DEFAULT TO_NUMBER (TO_CHAR (SYSDATE,'YYYYMMDD'));
    BEGIN
                          l_an_report := '<style type="text/css">
    <!--.style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-style: normal; color: #FF0000}-->
    <!--.sidebar1 { font-family: Arial, Helvetica, sans-serif; font-size: 10px}-->
    <!--.text { font-family: Arial, Helvetica, sans-serif; font-size: 12px}-->
    </style>
    <center><b><font face="Arial">Summary Report '
                || '<br><br></font></b></center>'
                || ' <div align="center"><table width="90%" border="1" cellspacing="0" cellpadding="1"'
                || 'style="font-size: 10pt; font-family: Arial" > '
                || '<tr bgcolor=b4b4b4><td align="center"> <font size="3"> <b>'
                || 'Report</b></td><td align="center"><font size="3"> <b>'
                || 'Run Duration </b></td><td align="center"><font size="3"> <b>'
                || 'Status</b></font></td></tr> ' || UTL_TCP.CRLF;
                    FOR curr_refresh IN (SELECT
                                         AN.NAME report_NAME,
                                         ROUND(((ARH.RUN_END_TIME-ARH.RUN_START_TIME)*24*60),2) RUN_TIME,
                                         ARH.JOB_STATUS STATUS
                                         FROM
                                         REPORT_HISTORY ARH,REPORT AN
                                         WHERE
                                         ARH.RUN_START_TIME>TO_DATE(SYSDATE-93)
                                         AND AN.report_ID=ARH.report_ID
                                         and arh.JOB_NAME like 'QA%'
                                         and arh.JOB_STATUS='Completed')
                                  LOOP
              l_an_report  := l_an_report ||
              '<tr><td align="center">'|| curr_refresh.report_name|| '</td><td align="center">'|| curr_refresh.RUN_TIME ||
              '</td><td align="center">'|| curr_refresh.STATUS ||
               '</td><td align="center">' || UTL_TCP.CRLF;                      
                exit when length (l_an_report) > 32767;                   
          END LOOP;
           l_an_report := l_an_report || '</table><br><br>';
                FOR curr_email IN (SELECT global_name instance_name,
                REU.EMAIL_USER_LAST_NAME last_name,
                REU.EMAIL_USER_FIRST_NAME first_name,
                REU.EMAIL_USER_EMAIL_ID,
                '[email protected]' mail_from
                                 FROM EMAIL_USER REU, EMAIL_GROUP REG,GLOBAL_NAME
                                             WHERE REU.EMAIL_GROUP_ID = REG.EMAIL_GROUP_ID
                                                   AND REG.EMAIL_GROUP_NAME ='IT') LOOP
                cnxn := UTL_SMTP.open_connection('smtprelay.ats.com', 25);
                UTL_SMTP.helo(cnxn, 'smtprelay.ats.com');
                UTL_SMTP.mail(cnxn, '[email protected]');
                UTL_SMTP.rcpt(cnxn, curr_email.EMAIL_USER_EMAIL_ID);
                   l_header := 'MIME-Version: 1.0'||'
                   To: ' || curr_email.last_name || ' <' || curr_email.EMAIL_USER_EMAIL_ID || '>
                   From: ' || curr_email.mail_from || '
                   Subject: Summary Report for ' || curr_email.instance_name || ' on ' || to_char(sysdate, 'DD-MON-YYYY') || '
                   Reply-To: [email protected]
                   Content-Type: text/html;' || UTL_TCP.CRLF || UTL_TCP.CRLF;
                UTL_SMTP.data(cnxn, l_header || l_an_report);
                UTL_SMTP.quit(cnxn);
          END LOOP;
    END PRC_SUMMARY;Please share your thoughts.
    Regards,
    Sunny

    >
    It worked fine from last six months but today it failed because of the length of characters (more reports are added).
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    >
    The error is because you don't check the length of 'l_an_report' until it is already too long.
    This code checks the length AFTER adding to it.
    >
    l_an_report := l_an_report ||
    '<tr><td align="center">'|| curr_refresh.report_name|| '</td><td align="center">'|| curr_refresh.RUN_TIME ||
    '</td><td align="center">'|| curr_refresh.STATUS ||
    '</td><td align="center">' || UTL_TCP.CRLF;
    exit when length (l_an_report) > 32767;
    >
    You need to test the length of the new string to be added to make sure it won't cause 'l_an_report' to be too long
    -- add a new variable in the declare section
    v_new_string VARCHAR2(2000);
    -- in loop do calc
    v_new_string := '<tr><td align="center">'|| curr_refresh.report_name|| '</td><td align="center">'|| curr_refresh.RUN_TIME ||
              '</td><td align="center">'|| curr_refresh.STATUS ||
               '</td><td align="center">' || UTL_TCP.CRLF;                      
    -- test length
    IF (length(v_new_string) + length (l_an_report) > 32767 THEN EXIT;But as others have said if you need to handle lengths > 32767 then use an attachment as shown in the links provided.

  • Listener Error - character string buffer too small (ORA-06502)

    I am running into a very strange problem with the APEX listener on seemingly random pages. I can hit every page in my application just fine, but as soon as I hit this specific one, Glassfish throws an HTTP 500 error. If I click Debug, the page seems to load fine with no indications of trouble, but as soon as I turn debug back off, it goes back to the HTTP 500 error. I don't see anything special about the page that makes this happen. It is pretty simple and has 4 regions. I have noticed that if I set any 1 of the 4 regions to "Never display", the page loads fine. It's like having all 4 of them enabled at once are causing some overload, even though it's actually a smaller amount of data than most of my other pages.
    **Update: I just discovered this only happens if I'm logged into the workspace first and then try to run the page! If I log out of APEX and then hit the application as a normal user, page loads error-free. This is still an annoying problem, but at least it seems I have a decent workaround since regular users never see it.
    After a couple days, I noticed the exact same problem on a second APEX application I'm using. Again, it is on some random page whereas all the other pages work fine.
    Both applications and pages in question worked without issue in APEX 3.x. I am trying to get an APEX application up and running on the latest version.
    I have tried both Glassfish server and simply downloading the latest listener (version 1.1.1) and running it in standalone mode. I get the problem both ways, which is why it seems it's a listener issue.
    I have seen a few other threads of people having this problem, but I never did find anyone with a solution, and most of the posts stopped back in December.
    Some details on my environment:
    Database version: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    APEX version: 4.0.2
    Webserver: Glassfish 3.1
    Here is the log entry from Glassfish when the HTTP 500 error displays as I try to load one of the bugged pages.
    [#|2011-05-10T21:14:22.967-0500|INFO|oracle-glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=111;_ThreadName=Thread-1;|MaxConnectionReuseCount=50000|#]
    [#|2011-05-10T21:14:46.431-0500|SEVERE|oracle-glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=112;_ThreadName=Thread-1;|
    ***********ERROR***********
    init: # headers=46
    declare nm owa.vc_arr := ?;
    vl owa.vc_arr := ?;
    begin
    owa.init_cgi_env( ?, nm, vl );
    htp.init; htp.HTBUF_LEN := 63;
    ? := sys_context('USERENV','SID');
    end;
    SID:1242
    CALL:
    begin
    f(p=>?);
    commit;
    end;
    BINDS
    p:100:2:220529248574492::NOPAGE CALL:
    declare
    nlns number := 999999;
    l_clob CLOB;
    lines htp.htbuf_arr;
    l_buff varchar2(32767);
    l_clob_init boolean:= false;
    l_file varchar2(5);
    l_doc_info varchar2(1000);
    begin
    OWA.GET_PAGE(lines, nlns);
    if (nlns > 1) then
    for i in 1..nlns loop
    if ( length(lines(i)) > 0 ) then
    if ( ( lengthb(l_buff) + lengthb(lines(i))) > 32767) then
    if (NOT l_clob_init) then
    dbms_lob.createtemporary(l_clob, TRUE);
    dbms_lob.open(l_clob, dbms_lob.lob_readwrite);
    l_clob_init:=true;
    end if;
    dbms_lob.writeappend(l_clob,length(l_buff),l_buff);
    l_buff := lines(i);
    else
    l_buff := l_buff || lines(i);
    end if;
    end if;
    end loop;
    end if;
    if (l_clob_init) then
    dbms_lob.writeappend(l_clob,length(l_buff),l_buff);
    l_buff := '';
    end if;
    ? := l_clob;
    ? := l_buff;
    if (wpg_docload.is_file_download) then l_file:='TRUE'; wpg_docload.get_download_file(l_doc_info); else l_file := 'FALSE'; end if; ? := l_file;
    ? := l_doc_info;
    end;
    get_page FAILED:ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    ORA-06512: at line 33
    Edited by: BrianB on May 11, 2011 7:50 AM
    Edited by: BrianB on May 11, 2011 8:01 AM

    Brian,
    this post is going to get a bit longer, so the summary comes first.
    h6. Summary
    1. I could reproduce the problem on my system using the APEX Listener in standalone mode.
    2. I don't think the problem is content-related in the sense that you have any issue in your page or database contents.
    3. I have a workaround for your problem.
    h6. Error message
    Having that error in my environment made me start to think. I not only disabled some item and got it work, but I could also add something to achieve this effect.
    So I came to think, this really is somewhere deep down. The error message doesn't seem very helpful on first sight, but when starting to follow on what's happening there, things get clearer:
    APEX generates pages dynamically, replacing substitution strings and other tokens to get the actual page definition. This has to be read by a requesting client. The use of VARCHAR2 as buffer introduces a limit of 32767 bytes, after which the contents is handled as CLOB instead.
    h6. Analysis
    Obviously, there are cases where the "estimation" fails. Of course, this is may only be relevant in rare cases, because:
    1. If a page would exceed the maximum without some charset interpretation problem, the buffer would be switched to clob.
    2. If a page stays small enough to stay below 32767 even with some characters that are acutally larger then expected, the buffer isn't busted.
    To find out, if your could be one of these rare cases, I investigated the HTTP headers, focussing on X-DB-Content-length and made an odd observation.
    Test case 1: "Go" button disabled, so the page runs fine with APEX Listener
    1. It has *31968 bytes* when coming from APEX Listener with a Go button disabled.
    2. It has *31938 bytes* according to the header set by EPG - for exactly the same page.
    That makes a difference of 30 bytes for what is expected to be the same contents.
    Test case 2: The button is enabled again
    1. This causes the page load to crash in APEX Listener.
    2. EPG transports *32341 bytes* according to that header.
    So we are pretty close to the hard limit for the VARCHAR2 buffer.
    For some reason, APEX Listener seems to cause a false calculation of the actual page size. Whether this is due to some charset problem or due to some other problem with response handling, I don't know. The 30 bytes difference may result from the odd header "X-ORACLE-IGNORE" with value "IGNORE, IGNORE, IGNORE, IGNORE" sent by the APEX Listener. This value has exactly 30 bytes in length, but this could be coincidence, as there are more differences in headers. If I add the size of all headers, we are even closer to the buffer limit and probably exceed it when some items need more bytes than expected.
    This could even be as simple as a line break, as your page has about 424 lines when I disabled the button... Adding 1 byte per line to the 32341 bytes of the EPG, I get 32765 bytes. Now add that button (403 bytes difference on EPG) and you exceeed the limit. Reduce that value by the line count again and you are still below.
    Could be coincidence as well, but makes me wonder.
    h6. Workaround
    To make sure that we were actually hitting that limit, I now introduce my suggestion for a workaround.
    Test case 3: Add a hidden item
    1. APEX Listener loads the page, stating the size to be *32876 bytes*
    2. EPG sees 30 bytes less and transmits the header with *32846 bytes*
    h6. Conclusion
    I can't give you a real solution for that problem, nor do I have a definitive answer on what is the root cause for it. It seems, only one of the developers may find it. But I can offer you a workaround, which is to just add some hidden item to your page so it exceeds the limit for the VARCHAR2 buffer and gets handled as clob.
    Note that this may occur outside the app builder as well. The app builder just renders some additional items when starting that page, so it has a different size from its productive representation. On the other hand, I may start counting the size of that additional page section - I wouldn't wonder if that results in a value around 400 bytes, and this is the forgotten part...
    Unfortunately, if it actually is happening outside of the app builder, this workaround isn't very handy: Dynamic contents can't be calculated that easy all the time, so you may have cases where you just don't know in advance if you are close to the limit and have to add some item to exceed it or if you've already exceeded it or if you are far below, or close enough to actually hit it when adding just one byte...
    -Udo

  • Shuttle Demo Throws Error ORA-06502: PL/SQL: Character buffer too small

    Hello All.
    I am using Carl Backstrom's wonderful shuttle demo in my APEX 2.2 application and am running into this Oracle error "Character string buffer too small". My plsql code is:
    DHTML_SHUTTLE (
    'select func,func_id from phone_functions where rownum < 676 order by func',
    'select a.func,a.func_id from phone_functions a, function_phones b where a.func_id = b.func_id and b.phone_id = 2010 order by func',
    '1',
    '2',
    'Y',
    'Y',
    'N',
    '150',
    '350',
    v('WORKSPACE_IMAGES'),
    'first.png',
    'previous.png',
    'next.png',
    'last.png',
    'refresh.png',
    'shuttleRightAll.png',
    'shuttleRight.png',
    'shuttleLeft.png',
    'shuttleLeftAll.png'
    I put in the rownum < 676 ti test out how many rows of data it will allow me to
    output into the first select list box. I can go only upto 675 rows. After this I always get the error. The column FUNC is defined as varchar2(255). However,
    it's largest value is about 60 bytes.
    Does anyone know how to overcome this error. I have over 1000 rows I need to display in the list box.
    Thank you.
    Elie

    Hello,
    What is the limit on the number of
    bytes/characters one may use in your
    shuttle list boxes.Not sure but it's probably the hard 32k limit in which case try the solution that Scott posted above and see if that helps/
    Also, is it possible to create multiple shuttle 2-box
    combinations in different
    regions on the same APEX page? Would not the
    underlying plsql arrays
    become "confused" as to what data is in what array?
    Yes you can have more that one set of shuttle on a page. If you look here
    http://apex.oracle.com/pls/otn/f?p=9655:7
    all you have to do is change the pID_1 and pID_2 to a unique integer per each shuttle.
    pID_1 = Form element name. For example, 1 equals F01 and 2 equals F02.
    pID_2 = Form element name. For example, 1 equals F01 and 2 equals F02.
    Here's an example of two shuttles in a page, you can see the client side works fine though I didn't change the save procedure it would work as well. http://apex.oracle.com/pls/otn/f?p=9655:6
    Carl

  • Timestep too small(mixing circuit)

    Hi,all!
    I have a mixing circuit(using AD734).When I tried to simulation,it shows that Error:
    |   Output from instrument analysis  
    |   |   info: tmax is automatically adjusted from 1e-005 to 9.76257e-009
    |   |   TRAN:  Timestep too small; time = 2.02631e-007, timestep = 1.22032e-018: cause unrecorded. 
    |   |   doAnalyses: timestep too small 
    |   |  
    |   |  
    |   |   tran simulation(s) aborted 
    When I do this elect Simulation >> Interactive Simulation Settings >> Under initial conditions select set to zero,there is no error then. However,there is still no graph showed in the oscilloscope.I don't if there is anything wrong with my correction.
    I have uesd multisim8.
    I am a freshman so I don't know what the problem is.Maybe there is somthing wrong with my circuit.I hope someone can help me!
    Thank you very much!
    Here is the circuit.
    帖子被vick123y在10-10-2007 11:48 PM时编辑过了
    Attachments:
    Circuit3.ms8 ‏110 KB

    I went back and look at your circuit again. There were a few other things I changed that I failed to memtion that could be of some help. I will outline them below:
    1) I placed grounds on your input sources (don't know if this was problematic, but Multisim likes its sources to have grounds)
    2) Removed the Digital/Virtual ground from the IC and replaced it with a normal ground. (this chip is analog and not digital, don't know if was causing problems or not). This would be on Pin 10.
    These are the only circut changes I made and the rest was through the settings. One thing I noticed is that you have 1uF caps on the input sources. This would greatly attenuate your signal a 6 Mhz. Not sure if this was done intentionally or whether it was an error. In order fro your signal to pass without attentuation you would have to lower these capacitors to a value in pF range.
    In my previous post I was concerned about a maximum frequency limit of Multisim, but you might want to look at the datasheet for this IC and check it out. The way I read it (and this may not be correct) it is ouput limited to 10Mhz. Therefore if you multiply your 6 Mhz inputs and divide by 2 you end up with 20 Mhz which is out of range for this IC. Look at this and let me know if I am reading this correctly.
    This is all I know. I wish I could post this for you and let you try it. But our file formats are incompatible.
    Message Edited by lacy on 10-14-2007 12:56 PM
    Kittmaster's Component Database
    http://ni.kittmaster.com
    Have a Nice Day

Maybe you are looking for

  • How to install oracle developer 10g on rhel 5

    hi, i have install oracle database 10g on rhel5 now i want to install developer 10g on this machine so plz send me any link where i can know step by step installation of oracle developer 10g on rhel5. thanks

  • Win 7 Pro (32-bit) does nothing when I plug in US...

    I have installed OVI Suite 2.2.1.23 on my Windows 7 desktop and the computer doesn't list any usb device connected and I do not hear the audible sound made when i plug in any other usb device.  I have tested the USB ports and confirmed they work fine

  • CO-PA Characteristics update - Automation

    Hi All we maintain a CO-PA derivation rule in Trx: KEDR with several line of mapping. This results in a lot of maintenance. Is there any way, I can automate the process to update these mappings and create new mappings?? Thanks SB

  • Intelligent IP monitoring

    hey everyone i'm going to create a Intelligent IP monitoring with netbeans and i dont know how to start is there anyone can give me some source i can refer to? or if anyone can help me out here that would be great. its a router/Switch monitoring syst

  • Where can I get Tutotorial.zip that the OA Framework Developer Guide talks

    Hi Can someone please tell me as to, from where I can get the Tutorial.zip that the OA Framework Developer Guide talks about. thanks subra.