ORA-01873 leading too small precision

I'm getting an ORA-01873 ' leading precision of the interval is too small "error and can't understand why. The error occurs during a call to the following function (please excuse any syntax errors since I'm greasy finger all my entries):
FUNCTION hrmin_interval_string(val INTERVAL DAY TO SECOND)
RETURN VARCHAR2 IS
  hrs   NUMBER(6);
  mins  NUMBER(2);
BEGIN
  hrs := EXTRACT(DAY FROM val)*24 + EXTRACT(HOUR FROM val);
  mins := EXTRACT(MINUTE FROM val);

  RETURN hrs || ':' || TRIM(TO_CHAR(mins, '00'), 12);
END;
The code that calls this function is as follows:
...
  time_delta    INTERVAL DAY(6) TO SECOND;
  tstr          VARCHAR2(500);
...
  tstr := RPAD(hrmin_interval_string(time_delta), 12);
The time_delta value when the error is + 000105 06:56:00.000000.

This time_delta value is in the precision and should not be this error, at least as far as I can tell. Is that what everyone else sees what Miss me?

I tried specifying INTERVAL DAY (6) SECOND in the list of function parameters, but which simply causes a compilation error, saying: he met the "("caractère quand elle attend «ÀLE».) "

I am running Oracle 11 g.

Bug. You must create a subtype:

SQL> create or replace
  2  FUNCTION hrmin_interval_string(val INTERVAL DAY TO SECOND)
  3  RETURN VARCHAR2 IS
  4    hrs   NUMBER(6);
  5    mins  NUMBER(2);
  6  BEGIN
  7    hrs := EXTRACT(DAY FROM val)*24 + EXTRACT(HOUR FROM val);
  8    mins := EXTRACT(MINUTE FROM val);
  9
 10    RETURN hrs || ':' || TO_CHAR(mins, '00');
 11  END;
 12  /

Function created.

SQL> exec dbms_output.put_line(RPAD(hrmin_interval_string('+000105 06:56:00.000000'), 12));
BEGIN dbms_output.put_line(RPAD(hrmin_interval_string('+000105 06:56:00.000000'), 12)); END;

*
ERROR at line 1:
ORA-01873: the leading precision of the interval is too small
ORA-06512: at line 1

SQL> create or replace
  2    package pkg1
  3      is
  4        subtype unconstrained_ds is interval day(9) to second(9);
  5  end;
  6  /

Package created.

SQL> create or replace
  2  FUNCTION hrmin_interval_string(val pkg1.unconstrained_ds)
  3  RETURN VARCHAR2 IS
  4    hrs   NUMBER(6);
  5    mins  NUMBER(2);
  6  BEGIN
  7    hrs := EXTRACT(DAY FROM val)*24 + EXTRACT(HOUR FROM val);
  8    mins := EXTRACT(MINUTE FROM val);
  9
 10    RETURN hrs || ':' || TO_CHAR(mins, '00');
 11  END;
 12  /

Function created.

SQL> exec dbms_output.put_line(RPAD(hrmin_interval_string('+000105 06:56:00.000000'), 12));

PL/SQL procedure successfully completed.

SQL> 

SY.

Tags: Database

Similar Questions

  • Getting ORA-22835: buffer too small for to CHAR CLOB or BLOB to RAW conversion in my ODI interface

    Hi all

    I am creating an interface ODI as explained below,

    I table A column 'Comments' and one other table with column B "No Comment." I create a view as shown below and use it as a source for my interface.

    SELECT * FROM WC_EQM_CSAP_FS_TMP WHERE to_char (QUESTION_COMMENT) IN (SELECT NO_COMMENTS FROM WC_EQM_NO_COMMENTS_LIST).

    But my interface fails with the error below

    ORA-22835: buffer too small for to CHAR CLOB or BLOB to RAW conversion (real: 4108, maximum: 4000)

    22835 00000 - "too small buffer tank CLOB or BLOB to RAW conversion (actual: %s, maximum: %s)) '

    * Cause: an attempt was made to convert CLOB to CHAR or BLOB to RAW, where

    LOB size was larger than the buffer for CHAR and RAW limit types.

    Note that the widths are reported in characters if characters length isadds are in effect for the column, other widths are

    in bytes.

    Here QUESTION_COMMENT is of type CLOB data. NO_COMMENTS is also CLOB data type. The maximum length of the data of QUESTION_COMMENT is also 11710

    Please tell us how to solve.

    Thank you

    Dany

    IMHO, it is not good to compare CLOB, can be that it is possible to use the primary key for the comments

    Is it QUESTION_COMMENT and NO_COMMENTS a PRIMARY INDEX,

    may be is the best solution to create vacabulary with comments (if it does not exist) and then compare it by id;

    You can simply use the left join and check for null in a CASE statement

    Try this, but I don't know... as I said before I have no Oracle DB

    SELECT INTEGRATION_ID, DATASOURCE_NUM_ID, QUESTIONNAIRE_ID, QUESTION_ID,

    CLIENT_ID, SITE_ID, CLIENT_REP, COMMITMENT, ENGAGEMENT_TYPE, TOP_CLIENT_FLG,

    INITIAL_PLANNED_DT, REVISED_PLANNED_DT, INTERVIEW_DT, RECEIVED_DT, QUESTION_SCORE,

    (

    CASE WHEN EXISTS (SOME T2.NO_COMMENTS OF WC_EQM_NO_COMMENTS_LIST T2 WHERE DBMS_LOB.COMPARE (TMP.) (QUESTION_COMMENT, T2.NO_COMMENTS) = 0)

    THEN NULL

    OF OTHER QUESTION_COMMENT

    END QUESTION_COMMENT),

    (CASE WHEN QUESTION_SCORE<=5 then="" 1="" else="" 0="" end)="">

    0 AS QWOCOMMENTS,

    CREATED_ON_DT, CHANGED_ON_DT OF WC_EQM_CSAP_FS_TMP as TMP

    P.S. does not use TO_CHAR (LOB) there are possible error

  • ORA-24331: buffer too small user (dbms_xslprocessor.valueOf)

    Hello

    I'm stuck with an XML file parsing problem... everything went perfectly fine until I hit a large XML file and now my procedure returns this error ORA-24331: buffer too small user. I Googled it a little and found out that it is the cause of dbms_xslprocessor.valueOf.

    Anyway could someone help me out? Below you will find my version of db Oracle and proceure I use.

    Thank you!

    Oracle:
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
    PL/SQL Release 10.2.0.5.0 - Production
    CORE    10.2.0.5.0      Production
    TNS for Linux: Version 10.2.0.5.0 - Production
    NLSRTL Version 10.2.0.5.0 - Production
    And procedure:
    PROCEDURE xml is
    BEGIN
     
     DECLARE
      l_parser  dbms_xmlparser.Parser;
      l_doc     dbms_xmldom.DOMDocument;
      l_nl      dbms_xmldom.DOMNodeList;
      l_n       dbms_xmldom.DOMNode;
      l_temp    VARCHAR2(1000); 
      v_lang_ctx NUMBER := dbms_lob.default_lang_ctx;
      v_warning NUMBER;
      v_dest_clob CLOB;
      v_src_clob BFILE; 
      v_amount NUMBER;
      v_src_offset NUMBER:=1;
      v_dest_offset NUMBER:=1;
    
      
      TYPE tab_type IS TABLE OF klasius_srv%ROWTYPE;  
      t_tab  tab_type := tab_type();
    BEGIN
    
       v_src_clob := bfilename( directory => 'XML_DIR',  filename => 'srv.xml');
    
      dbms_lob.createtemporary(v_dest_clob, cache=>FALSE);
      dbms_lob.open(v_src_clob, dbms_lob.file_readonly);
    
      dbms_lob.loadclobfromfile
        (dest_lob => v_dest_clob
        ,src_bfile => v_src_clob
        ,amount => dbms_lob.getlength( v_src_clob )
        ,dest_offset => v_dest_offset
        ,src_offset => v_src_offset
        ,bfile_csid => NLS_CHARSET_ID('UTF8')
        ,lang_context => v_lang_ctx
        ,warning => v_warning
      );
    
      dbms_lob.close(v_src_clob);
      
      dbms_session.set_nls('NLS_DATE_FORMAT','''DD-MON-YYYY''');
    
      l_parser := dbms_xmlparser.newParser;
    
      dbms_xmlparser.parseClob(l_parser, v_dest_clob);  
      l_doc := dbms_xmlparser.getDocument(l_parser);
    
      dbms_lob.freetemporary(v_dest_clob);
      dbms_xmlparser.freeParser(l_parser);
    
      l_nl :=  dbms_xslprocessor.selectNodes(dbms_xmldom.makeNode(l_doc),'/NewDataSet/Table');
    
    
      FOR cur_emp IN 0 .. dbms_xmldom.getLength(l_nl) - 1 LOOP
        l_n := dbms_xmldom.item(l_nl,cur_emp);
        t_tab.extend;
    
        dbms_xslprocessor.valueOf(l_n,'code_x0020_ra',t_tab(t_tab.last).srv);
        dbms_xslprocessor.valueOf(l_n,'code_x0020_kat',t_tab(t_tab.last).sif_srv);
        dbms_xslprocessor.valueOf(l_n,'Des',t_tab(t_tab.last).de_srv);
        dbms_xslprocessor.valueOf(l_n,'Deskriptor_x0020__x0028_ang_x0029_',t_tab(t_tab.last).ang_srv);
      END LOOP;
    
      FORALL i IN t_tab.first .. t_tab.last
        INSERT INTO klasius_srv VALUES t_tab(i);
    
      COMMIT; 
    
      dbms_xmldom.freeDocument(l_doc);
        
    END;
    END;

    Well, it depends on the definition of klasius_srv % RowType - like that the members of the structure (columns/fields) is used by dbms_xslprocessor. ValueOf() to write values in.

    To find this error, you will need to determine the size of a member in this structure and the size of the value being written inside.

    The error occurs in one (or more) of the following statements in your code:

    ..
        dbms_xslprocessor.valueOf(l_n,'code_x0020_ra',t_tab(t_tab.last).srv);
        dbms_xslprocessor.valueOf(l_n,'code_x0020_kat',t_tab(t_tab.last).sif_srv);
        dbms_xslprocessor.valueOf(l_n,'Des',t_tab(t_tab.last).de_srv);
        dbms_xslprocessor.valueOf(l_n,'Deskriptor_x0020__x0028_ang_x0029_',t_tab(t_tab.last).ang_srv);
    ..
    

    Thus, for example: what is the size of the of (description?) writing XML element in the .de_srv t_tab (t_tab.last) - in other words, in the de_srv of the klasius_srv table column?

    If this XML element is 200 characters and your database column is a 100 bytes in size, then dbms_xslprocessor. ValueOf() won't be able to write the value of the XML element in that column variable.

    Bottom line - you must debug 4 statements above of the source code you wrote - and ensure that the amount of data that you read from the XML element can be written in the variable (column) that is used to receive this value.

    The 4000 bytes, I mentioned is the largest size of column varchar2 (string), you can set in the SQL engine. If this XML value is 1 KB, then you cannot use varchar2. In this case, you will need to look at using the CLOB data type instead.

  • java.sql.SQLException: ORA-22835: buffer too small for CHAR or BLOB CLOB

    Hello

    I am facing this problem. Anyone know what is happening?

    ERROR, June 1, 2011 15:08:50, [XELLERATE. APPLICATIONS], class/method: tcRequestOperationsBean/getPendingApprovalTasksAssignedToUser some problems: {1}

    com.thortech.xl.orb.dataaccess.tcDataAccessException

    at com.thortech.xl.dataaccess.tcDataAccessExceptionUtil.createException (unknown Source)

    at com.thortech.xl.dataaccess.tcDataBase.createException (unknown Source)

    at com.thortech.xl.dataaccess.tcDataBase.readPartialPreparedStatement (unknown Source)

    at com.thortech.xl.dataaccess.tcDataBase.readPreparedStatement (unknown Source)

    at com.thortech.xl.dataobj.PreparedStatementUtil.execute (unknown Source)

    at Thor.API.Base.tcBaseUtility.execPreparedStatement (unknown Source)

    at com.thortech.xl.ejb.beansimpl.tcRequestOperationsBean.getPendingApprovalTasksAssignedToUser (unknown Source)

    at com.thortech.xl.ejb.beans.tcRequestOperationsSession.getPendingApprovalTasksAssignedToUser (unknown Source)

    at com.thortech.xl.ejb.beans.tcRequestOperations_i5iyve_EOImpl.getPendingApprovalTasksAssignedToUser(tcRequestOperations_i5iyve_EOImpl.java:4776)

    at com.thortech.xl.ejb.beans.tcRequestOperations_i5iyve_EOImpl_WLSkel.invoke (unknown Source)

    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)

    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:345)

    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)

    at com.thortech.xl.ejb.beans.tcRequestOperations_i5iyve_EOImpl_1030_WLStub.getPendingApprovalTasksAssignedToUser (unknown Source)

    at Thor.API.Operations.tcRequestOperationsClient.getPendingApprovalTasksAssignedToUser (unknown Source)

    at sun.reflect.GeneratedMethodAccessor1334.invoke (unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    to Thor.API.Base.SecurityInvocationHandler$ 1.run (unknown Source)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

    at weblogic.security.service.SecurityManager.runAs (unknown Source)

    at weblogic.security.Security.runAs(Security.java:41)

    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs (unknown Source)

    at Thor.API.Base.SecurityInvocationHandler.invoke (unknown Source)

    to $Proxy61.getPendingApprovalTasksAssignedToUser (Unknown Source)

    at com.glob.service.RequestDataService.getPendingApprovals(RequestDataService.java:3492)

    at com.glob.struts2.requestdetails.RequestDetailsAction.getRequestInformation(RequestDetailsAction.java:202)

    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)

    at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)

    at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)

    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)

    at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)

    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)

    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at com.glob.struts2.security.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:171)

    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

    at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)

    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)

    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

    to weblogic.servlet.internal.WebAppServletContext$ ServletInvocationAction.run (WebAppServletContext.java:3496)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)

    at weblogic.security.service.SecurityManager.runAs (unknown Source)

    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)

    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)

    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)

    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)

    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    Caused by [nested Exception]:

    java.sql.SQLException: ORA-22835: buffer too small for to CHAR CLOB or BLOB to RAW conversion (real: 4826, maximum: 4000)



    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)

    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)



    Thank you
    J

    UM, seems like you get this error. ORA-22835 and com.thortech.xl.orb.dataaccess.tcDataAccessException | This is resolved with this article ID 388512.1. Go to metalink and let me know if it
    solve your problem, please.

    see you soon,
    Thiago Guimarães L

  • ORA-24331: buffer too small user

    Hello
    Passage of 9 to 10g Oracle, you get "ORA-24331: buffer too small user" to read the values of files using xslprocessor xml text node.
    Anything over 4 k gives this error.
    Any ideas anyone?
    Thanks in advance.

    Bingo. Behavior of the function xslprocessor.valueof in 10g amended such that it has a size limit of 4 k node (Metalink 444621.1)

    The ORA-24331 comes internally change to the function.

    The valueof procedure doesn't have the same restrictions as the function.

    Or, replace all references to operate at the reference procedure or create your own function to encapsulate a call to the procedure and to call this function instead.

    Published by: dombrooks on 7 Sep 2009 14:46

  • error report: ORA - 06502:character too small string buffer. urgent!

    Hi guys,.
    My version of the APEX is 3.0.1.00.08, my application run on my test environment, but on the PROD environment, she raised the error:
    error report:
    ORA-06502: PL/SQL: digital or value error: character string buffer too small

    On this page, on the left is a tree, the right side is a tabular presentation, when I click on a tree node, it will pass the id of the current node to the form and the form shows data from children. When I click on a tree node, it triggers the ORA-06502 error, but when click on some other nodes, it is correct. I don't know why. And on my test environment, it does not have this error, the test environment has same version with the prod environment, has only less data in the database. Could you help me?
    I searched in the forum, someone said it's LOV problem, if there is problem LOV, all nodes must have the error, why click on some nodes are ok?

    Thank you!

    Jessica

    I don't know, but why do you need a semicolon at the end of the SQL?

    Denes Kubicek
    -------------------------------------------------------------------
    http://deneskubicek.blogspot.com/
    http://www.Opal-consulting.de/training
    http://Apex.Oracle.com/pls/OTN/f?p=31517:1
    -------------------------------------------------------------------

  • ORA-22835: buffer too small for to CHAR CLOB or BLOB to RAW conversion (real: 22960, maximum: 2000)

    Hi all

    I have the underside of SQL that returns the error in question:

    WITH c_file_imp_data
             
              AS
              (select t_data.src
                from sni_ar_file_import_blob t,
                    xmltable('/a/b'
                        passing xmltype('<a><b>'||replace(UTL_RAW.CAST_TO_VARCHAR2(t.file_blob),chr(10),'</b><b>')||'</b></a>')
                        columns src varchar2(4000) path '.'
                       ) t_data  )
             
             SELECT
             -- regexp_subsr is finding the position of the x occcurrance of a tab delimitter
             -- the format mask for date is reckognizing masks without '-' e.g. 01feb2016 will work as well as 01-Feb-2016
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 1), chr(9))), --RECORD_ID
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 2), chr(9))), --BILL_TO_CUSTOMER_NUMBER,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 3), chr(9))), -- BILL_TO_LOCATION,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 4), chr(9))), -- SHIP_TO_CUSTOMER_NUMBER,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 5), chr(9))), -- SHIP_TO_LOCATION,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 6), chr(9)), -- CURRENCY,
              to_date(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 7), chr(9)),
                      'DD-MON-YYYY'), -- GL_DATE,
              to_date(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 8), chr(9)),
                      'DD-MON-YYYY'), -- TRANSACTION_DATE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 9), chr(9)), -- TRANSACTION_TYPE_NAME,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 10), chr(9)), -- TRANSACTION_SOURCE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 11), chr(9)), -- TERMS,
              to_date(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 12), chr(9)),
                      'DD-MON-YYYY'), -- DUE_DATE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 13), chr(9)), -- PAYMENT_METHOD,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 14), chr(9))), -- SALESREP_NUMBER,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 15), chr(9)), -- ITEM,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 16), chr(9)), -- DESCRIPTION,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 17), chr(9))), -- QUANTITY,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 18), chr(9))), -- UNIT_SELLING_PRICE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 19), chr(9)), -- UNIT_OF_MEASURE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 20), chr(9)), -- WAREHOUSE,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 21), chr(9))), -- TAX_RATE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 22), chr(9)), -- TAX_CODE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 23), chr(9)), -- GL_ACCOUNT_STRING,
              to_number(rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 24), chr(9))), -- CURRENCY_EXCHANGE_RATE,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 25), chr(9)), -- LINE_TRX_DFF_CONTEXT_VAL,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 26), chr(9)), -- LINE_TRANSACTION_FIELD1,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 27), chr(9)), -- LINE_TRANSACTION_FIELD2,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 28), chr(9)), -- LINE_TRANSACTION_FIELD3,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 29), chr(9)), -- LINE_TRANSACTION_FIELD4,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 30), chr(9)), -- LINE_TRANSACTION_FIELD5,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 31), chr(9)), -- LINE_TRANSACTION_FIELD6,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 32), chr(9)), -- LINE_TRANSACTION_FIELD7,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 33), chr(9)), -- LINE_TRANSACTION_FIELD8,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 34), chr(9)), -- LINE_TRANSACTION_FIELD9,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 35), chr(9)), -- LINE_TRANSACTION_FIELD10,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 36), chr(9)), -- LINE_TRANSACTION_FIELD11,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 37), chr(9)), -- LINE_TRANSACTION_FIELD12,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 38), chr(9)), -- LINE_TRANSACTION_FIELD13,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 39), chr(9)), -- LINE_TRANSACTION_FIELD14,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 40), chr(9)), -- LINE_TRANSACTION_FIELD15,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 41), chr(9)), -- INV_LINE_INFO_DFF_CONT_VAL,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 42), chr(9)), -- NO_ANIMALS,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 43), chr(9)), -- MX_WEIGHT,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 44), chr(9)), -- MX_SLAUGHTER,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 45), chr(9)), -- REBILLED,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 46), chr(9)), -- NON_STAT,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 47), chr(9)), -- ATTRIBUTE12,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 48), chr(9)), -- ATTRIBUTE13,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 49), chr(9)), -- ATTRIBUTE14,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 50), chr(9)), -- ATTRIBUTE15,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 51), chr(9)), -- ATTRIBUTE8,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 52), chr(9)), -- ATTRIBUTE11,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 53), chr(9)), -- ATTRIBUTE2,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 54), chr(9)), -- ATTRIBUTE3,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 55), chr(9)), -- ATTRIBUTE4,
              rtrim(regexp_substr(src, '[^' || chr(9) || ']*' || chr(9) || '', 1, 56), chr(9)) -- ATTRIBUTE9
                      
               FROM c_file_imp_data
               ;
    
    
    
    
    
    

    The sni_ar_file_import_blob of source table has the FILE_BLOB column as blob data type. The data inside the tab delimeted and as we can see above the limit.

    Is anyone know anything how to get this data and select as stated above?

    Oracle version: 12 c

    Kind regards

    Alex

    Hello

    You must use dbms_lob.writeappend

    Here is an example here:

    https://Doganay.WordPress.com/2016/02/10/BLOB-to-CLOB/

  • SQL error: ORA-01873: the interval leading precision is too small

    Hello

    My requirement is to get the current timestamp in the format microsec Epoch.

    I am trying to execute the following query

    Select (CAST (((current_timestamp-TO_DATE (1er janvier 1970 00:00:00 ', ' 'JJ-MM-AAAA HH24:MI:SS)) * 24 * 60 * 60 * 1000000) AS varchar (32))) as "dt" from dual;))

    I get the following error
    Error from the 1 in the command line:
    Select (CAST (((current_timestamp-TO_DATE (1er janvier 1970 00:00:00 ', ' 'JJ-MM-AAAA HH24:MI:SS)) * 24 * 60 * 60 * 1000000) AS varchar (32))) as double 'dt'))
    Error report:
    SQL error: ORA-01873: the interval leading precision is too small
    01873 00000 - "the interval leading precision is too small."
    * Cause: The precision of the interval leading is too small to store the
    specified interval.
    * Action: Increase the accuracy of foreground of the interval or specify a
    meantime, with smaller leading precision.

    But if I tried to do
    Select (CAST (((sysdate-TO_DATE (1er janvier 1970 00:00:00 ', ' 'JJ-MM-AAAA HH24:MI:SS)) * 24 * 60 * 60 * 1000000) AS varchar (32))) as "dt" from dual;))
    works fine, but I get the bad epochtime sysdate has no time zone information.

    Please help me how to do the first query to work so that I can get the current_timestamp change to gmt and convert it in time.
    Please let me know if there is another way to get the Epochtime.

    Depending on whether you want to or not to include the fraction of a second use:

    with t as (
               select  current_timestamp at time zone 'gmt' - to_timestamp_tz('01/01/1970 00:00:00 GMT','MM-DD-YYYY HH24:MI:SS TZR') interval_diff,
                       cast(current_timestamp at time zone 'gmt' as date) - to_date('01/01/1970 00:00:00', 'MM-DD-YYYY HH24:MI:SS') num_diff
                 from  dual
              )
    select  cast(
                 (
                  (
                   (
                    extract(day from interval_diff) * 24 + extract(hour from interval_diff)
                   ) * 60 + extract(minute from interval_diff)
                  ) * 60 + extract(second from interval_diff)
                 ) * 1000000
                 AS varchar(32)
                ) as "ts",
            cast(num_diff * 24 * 60 * 60 * 1000000 AS varchar(32)) as "dt"
      from t
    / 
    
    ts                   dt
    -------------------- --------------------
    1336237158093000     1336237158000000
    
    SQL>  
    

    SY.

  • ORA-06502: PL/SQL: digital or value error: character string buffer too small in the functions

    Hi all

    FUNCTION to CREATE or REPLACE fnc_two (p_in_job IN VARCHAR2)

    RETURN VARCHAR2

    AS

    CUR CURSOR

    IS

    SELECT ename

    WCP

    WHERE job = p_in_job;

    v_first_name emp.ename%TYPE;

    BEGIN

    FOR my heart IN rec

    LOOP

    IF v_first_name IS NULL

    THEN

    v_first_name: = rec.ename;

    ON THE OTHER

    v_first_name: = v_first_name | ',' || Rec.Ename;

    END IF;

    END LOOP;

    RETURN v_first_name;

    END;

    SQL > SELECT fnc_two ('CLERK')

    2 FROM dual;

    SELECT fnc_two ('CLERK')

    *

    ERROR on line 1:

    ORA-06502: PL/SQL: digital or value error: character string buffer too small

    ORA-06512: at the 'APPS '. FNC_TWO', line 17

    SQL > select distinct work of emp

    2.

    JOB

    ---------

    CLERK

    SELLER

    PRESIDENT

    MANAGER

    ANALYST

    v_first_name: = v_first_name | ',' || Rec.Ename;

    The above statement is the original error. The value has been assinged to v_first_name is larger than the computer can handle.

    Increase the size of the variable v_first_name to avoid the error example

    v_first_name varchar2 (100);

  • too small Oracle of the buffer character ora-19011 chain

    Hello.

    I have the following XML:

    rowset <>

    < row >

    < code > < code > 01

    < details > 123 < / details >

    < / row >

    < row >

    < code > < code > 03

    < details > 1233 < / details >

    < / row >

    < row >

    < code > < code > 07

    < details > 12333 < / details >

    < / row >

    < / lines >

    I have Norman to extract the data of 1 in the sql query in this format:

    CodesList

    --------------

    01,02,03

    I use following code e:

    Select RTRIM (XMLAGG (XMLELEMENT(E,t.process_xml ||) ',')). Extract (' Row/Rowset/Code / Text () '). GETStringVAL(), ',') from table1 t

    The XML is being clob "process_xml."

    But I got the error message: too small oracle of the buffer character ora-19011 chain

    Help, please.

    The result is:

    ORA-19280: XQuery dynamic type mismatch: expected has atomic value - get the node

    My bad, I didn't test it.

    It works on 10.2.0.5 (the closest version I have at my disposal):

    Select t.id

    dbms_xmlgen.convert (x.column_value.getstringval (), 1) as val

    Table 1 t

    xmltable ("string-join(/Rowset/Row/Code,",")"

    by the way of xmltype (t.myxml)

    ) x ;

    or equivalent:

    Select t.id

    dbms_xmlgen.convert)

    XMLQUERY ('string-join(/Rowset/Row/Code, ",")"

    by the way of xmltype (t.myxml)

    contents of return

    ). getStringVal()

    1

    ) as val

    Table 1 t;

    DBMS_XMLGEN. Call CONVERT is here to ensure that the entity is referred to in elements (if any) will be unescaped back to their readable forms.

    If you know for sure that there's no entity occurrence, you can remove that extra step.

  • Text editor enriched ORA-06502: PL/SQL: digital or value error: character string buffer too small

    Hello

    I have apex user 4.2.3 with enterprise database edition 11, I page include RICH TEXT EDITOR, when I add data to this text and save it will record successfully and when I try to view this information in another page I see all the data, as expected, the problem when I try to go to the same page as RICH TEXT EDITOR error message apper ORA-06502 : PL/SQL: digital or value error: buffer string too small, I see this link https://forums.oracle.com/thread/2461151?tstart=0 but I don't know how it solve it, the problem is made data at the point of the rich text editor.


    Any suggestion?


    Thank you

    Thanks for the reply,

    Its standard form with text rich field, my question she same as link above I added before

  • "Is:java.sql.SQLException error: ORA-01555: snapshot too old: rollback segment number with the name ' ' too small '.

    Hello

    We conduct apply CM which is a failure with the Error: "declared:java.sql.SQLException: ORA-01555: snapshot too old: rollback segment number with the name '' too small'."

    Its in our unique the production instance. I checked on the return parameter. Here are the details.

    SQL > show Cancel parameter

    VALUE OF TYPE NAME

    ------------------------------------ ----------- ------------------------------

    _in_memory_undo Boolean TRUE

    _undo_debug_usage integer 2

    UNDO_MANAGEMENT string AUTO

    UNDO_RETENTION integer 40000

    undo_tablespace string APPS_UNDOTS1

    SQL > select max (maxquerylen) of v$ undostat;

    MAX (MAXQUERYLEN)

    ----------------

    637116

    Please suggest what needs to be done to go further.


    Kind regards

    Prabhat.

    Post edited by: 942633

    Hello

    ORA-02067: the rollback transaction or registration required

    As mentioned, you will need to look at the design of the code:

    Error: ORA 2067
    Text: rollback transaction or registration required
    -------------------------------------------------------------------------------
    Cause: A failure (typically a trigger or a stored procedure with several updates remotely) has occurred, such as the execution of all or nothing from a previous call to Oracle cannot be guaranteed.
    Action: return to a previous point of backup or restore the transaction and resubmit.

    ------

    ORA-01555 caused by the following SQL statement (SQL ID: 5y0q4u8r2hdy9, query term s = 637608, SCN: 0x0bcc.4ed82762):

    ------

    ACTUAL SIZE [MB] UNDO UNDO RETENTION [s] NECESSARY UNDO SIZE [MB]

    ------------------------                   ------------------------------------------------------------------------- ------------------------

    304849 40000 267232.292

    To better help you, please let us know:

    -What is the function of this program.

    -Did you recently parameter changes until you have this error.

    Please ensure that the validation controls are implemented correctly, the DBA team and development will work hand in hand.

    Thank you &

    Best regards

  • Select this OPTION to generate XML data from the table using XMLELEMENT, XMLAGG gives error ORA-19011 string buffer too small

    My select statement fails with the error:


    The ORA-19011 string buffer too small


    The select statement looks like:


    SELECT TO_CLOB)

    XMLELEMENT ("accounts",

    XMLELEMENT ("count",

    XMLATTRIBUTES)

    rownum AS "recordId."

    To_date('20130520','YYYYMMDD') AS "datestarted."

    123456 AS "previousBatchId."

    56789 AS 'previousRecordId '.

    ),

    ....

    .... .

    .....

    XMLFOREST)

    SIG_ROLE AS "SignatoryRole."

    To_char(TRANSFER_DATE,'YYYY-mm-DD') AS "TransferDate."

    NVL(Reason,0) AS 'reason '.

    ) AS the 'transfer '.

    )

    ()) AS CRDTRPT

    OF ANY_TABLE;

    • It looks like I can choose only 4000 characters using the SELECT statement (please, correct me if I'm wrong)

    I'd use the XMLGEN package. But the environment team says no mounted drives in the future with the arrival of the EXADATA.

    NO HARD DRIVE MOUNTED, NO ACCESS TO THE DATABASE DIRECTORIES

    No UTL_FILE

    I need to use the REEL spool the resulting XML data of the SELECT query.

    SQL is a standard in my org, but I can do with a PL/SQL solution also to load data into a table (cannot use a COIL with PL/SQL)

    What I do is:

    1. a column of type CLOB to a xml_report of the loading of the above SELECT query table
    2. Then using SELECT * FROM xml_report to SPOOL the data to a file report.xml

    No need of XMLTYPE data behind. Xml data stream is fine for me.

    In addition, I need to validate the XML file, also using XSD.

    Problem is that the resulting lines of the select query are supposed to be from 15000 to 20000 bytes long.

    Oracle database version: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    A Suggestion or a solution to this problem would be appreciated.

    (Sorry for the use of "BOLD", just to make it more readable and highlight the imp points)

    Bravo!

    Rahul

    It looks like I can choose only 4000 characters using the SELECT statement (please, correct me if I'm wrong)

    You use the right method.

    There is an implicit conversion from XMLType to the data type VARCHAR2 as expected by the function TO_CLOB, where the limitation, and the error.

    To serialize XMLType to CLOB, use the XMLSerialize function:

    SELECT XMLSerialize (DOCUMENT

    XMLELEMENT ("accounts",

    ...

    )

    )

    OF ANY_TABLE;

    For the rest of the requirement, I wish you good luck trying to spool the XML correctly.

    You may need to play around with the SET LONG and SET LONGCHUNKSIZE commands to operate.

  • ORA-02354: Error exporting/importing data, ORA-01555: snapshot too old: rollback segment number with the name "" too small

    Hello

    I am getting below error while taking expdp backup table of BLOB.

    ORA-31693: Data Table object 'HCLM_ADMIN '. "' SCAN_UPLOADEDFILES_TEMP ' failed to load/unload and being ignored because of the error:

    ORA-02354: Error exporting/importing data

    ORA-01555: snapshot too old: rollback segment number with the name "" too small

    ORA-22924: snapshot too old

    ORA-31693: Data Table object 'HCLM_ADMIN '. "' TPA_FAXWATCHER ' failed to load/unload and being ignored because of the error:

    ORA-02354: Error exporting/importing data

    ORA-01555: snapshot too old: rollback segment number with the name "" too small

    ORA-22924: snapshot too old

    We have already set aside retention to 50000 .table structure are:

    SQL > show Cancel parameter

    VALUE OF TYPE NAME

    ------------------------------------ ----------- ------------------------------

    UNDO_MANAGEMENT string AUTO

    UNDO_RETENTION integer 50000

    undo_tablespace string UNDOTBS1

    SQL > alter table hclm_admin. SCAN_UPLOADEDFILES_TEMP modify lob (FILE_BLOB) (RETENTION);

    Modified table.

    SQL > select nom_de_colonne, pctversion and retention

    from dba_lobs where owner = 'HCLM_ADMIN' and table_name = "SCAN_UPLOADEDFILES_TEMP";

    COLUMN_NAME

    --------------------------------------------------------------------------------

    PCTVERSION RETENTION

    ---------- ----------

    FILE_BLOB

    50000

    SQL > alter table hclm_admin. TPA_FAXWATCHER modify lob (FILEDATA_BLOB) (RETENTION);

    Modified table.

    SQL > select column_name, pctversion and retention of dba_lobs where owner = 'HCLM_ADMIN' and table_name = "SCAN_UPLOADEDFILES_TEMP";

    Column_name PCTVERSION RETENTION

    ---------- ----------

    FILE_BLOB

    50000

    CREATE TABLE HCLM_ADMIN. TPA_FAXWATCHER

    (

    FILENAME_VAR VARCHAR2 (50 BYTE),

    DATE OF CREATED_DATE_DTE,

    FILEPATH_VAR VARCHAR2 (100 BYTE),

    DATE OF TIMESTAMP_DTE,

    FAXNO_VAR VARCHAR2 (15 BYTE),

    DEPARTMENT_VAR VARCHAR2 (50 BYTE),

    REQUESTTYPE_VAR VARCHAR2 (50 BYTE),

    TAGTO_VAR VARCHAR2 (50 BYTE),

    REMARK_VAR VARCHAR2 (1000 BYTE),

    DOCTYPE_VAR VARCHAR2 (50 BYTE),

    TAGTOVALUE_VAR VARCHAR2 (50 BYTE),

    DOCTYPE_OTHER_VAR VARCHAR2 (50 BYTE),

    HEGIC_NO_VAR VARCHAR2 (50 BYTE),

    RECORDNO_NUM NUMBER OF NON-NULL,

    FILEDATA_BLOB BLOB,

    DATE OF FAXLOCKDATE_DTE,

    NUMBER OF FAXLOCKSTATUS_VAR

    FAXLOCKBYUSER_VAR VARCHAR2 (50 BYTE)

    )

    (STORE AS) LOB (FILEDATA_BLOB)

    TABLESPACE HCLM_ALERTSVC

    ALLOW ONLINE STORAGE

    8192 CHUNK

    RETENTION

    NOCACHE

    LOGGING

    INDEX)

    TABLESPACE HCLM_ALERTSVC

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    TABLESPACE HCLM_ALERTSVC

    PCTUSED 0

    PCTFREE 10

    INITRANS 1

    MAXTRANS 255

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    )

    LOGGING

    NOCOMPRESS

    NOCACHE

    NOPARALLEL

    MONITORING;

    ALTER TABLE HCLM_ADMIN. (ADD) TPA_FAXWATCHER

    KEY ELEMENTARY SCHOOL

    (RECORDNO_NUM)

    USING INDEX

    TABLESPACE HCLM_ALERTSVC

    PCTFREE 10

    INITRANS 2

    MAXTRANS 255

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    ));

    CREATE TABLE HCLM_ADMIN. SCAN_UPLOADEDFILES_TEMP

    (

    NUMBER OF TEMPID_NUM

    SESSION_ID VARCHAR2 (200 BYTE),

    NUMBER OF UPLOADFILE_NUM

    NUMBER OF DOCNO_NUM

    NUMBER OF SCANJOB_NUM

    FILENAME_VAR VARCHAR2 (200 BYTE),

    FILETYPE_VAR VARCHAR2 (200 BYTE),

    FILE_BLOB BLOB,

    VARCHAR2 (200 BYTE) FLAG,

    NUMBER OF USERID_NUM

    CREATED_DATE DATE

    )

    (STORE AS) LOB (FILE_BLOB)

    TABLESPACE PHCLMDBTBS

    ALLOW ONLINE STORAGE

    8192 CHUNK

    RETENTION

    NOCACHE

    LOGGING

    INDEX)

    TABLESPACE PHCLMDBTBS

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    ))

    TABLESPACE PHCLMDBTBS

    PCTUSED 0

    PCTFREE 10

    INITRANS 1

    MAXTRANS 255

    STORAGE)

    64K INITIALS

    ACCORDING TO 1 M

    MINEXTENTS 1

    MAXEXTENTS UNLIMITED

    PCTINCREASE 0

    DEFAULT USER_TABLES

    )

    LOGGING

    NOCOMPRESS

    NOCACHE

    NOPARALLEL

    MONITORING;

    Kind regards

    Hello

    First check the lob corrupt as:

    SQL > create table corrupted_lob_data (corrupted_rowid rowid);

    Table created.

    SQL > set off concat

    SQL >

    declare

    SQL > error_1555 exception;

    pragma exception_init (error_1555,-1555);

    number num.

    Start

    for cursor_lob in (select rowid r, & lob_column of table_owner. & table_with_lob) loop

    Start

    NUM: = dbms_lob.instr (. cursor_lob & lob_column, hextoraw ('889911'));

    exception

    When error_1555 then

    insert into corrupted_lob_data values (cursor_lob.r);

    commit;

    end;

    end loop;

    end;

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

    17.

    Enter the value of lob_column: FILE_BLOB

    Enter the table_owner value: hclm_admin

    Enter the value of table_with_lob: SCAN_UPLOADEDFILES_TEMP

    former 6: for cursor_lob in (select rowid r, & lob_column of table_owner. & table_with_lob) loop

    6 news: for cursor_lob (select rowid r, FILE_BLOB of hclm_admin loop SCAN_UPLOADEDFILES_TEMP.)

    old 8: num: = dbms_lob.instr (. cursor_lob & lob_column, hextoraw ('889911'));

    8 new: num: = dbms_lob.instr (cursor_lob. FILE_BLOB, hextoraw ('889911'));

    PL/SQL procedure successfully completed.

    SQL > select * from corrupted_lob_data;

    CORRUPTED_ROWID

    ------------------

    AAASF/AAKAABacyAAA

    To resolve this problem, we have 3 options

    (1) to restore and recover the LOB segment using physical backup.

    (2) empty LOBs affected using the UPDATE, as mentioned in the Note 787004.1statement:

    SQL > update SCAN_UPLOADEDFILES_TEMP

    Set FILE_BLOB = empty_blob()

    where rowid in (select corrupted_rowid

    of corrupted_lob_data);

    SQL > commit;

    (3) perform the export, excluding the corrupt ROWID. by adding the following to export command parameter

    Query =------"where rowid not in (\'AAASF/AAKAABacyAAA\'\) \ \" "

    Kind regards

    Alok Dwivedi

  • ORA-00838 MEMORY_TARGET value specified is too small

    Aloha!

    I rebooted a server and after restarting, when I bring all instances on this subject. One of the instance at startup, an error has been plunged for me.
    SQL > startup
    ORA-00838: MEMORY_TARGET specified value is too small, must be at least 268 m
    how can I change the setting of the said?

    Kind regards
    Hades

    Hello

    create pfile from spfile--> will create pfile (init .ora) in the folder $ORACLE_HOME/dbs. Change theinit .ora folder and start the instance using pfile startup pfile =/dbs/init.ora.

    Anand

Maybe you are looking for