Saturday, July 13, 2013

ORA-01438: value larger than specified precision allowed for this column

You have receive this error while trying to insert big Value In Column with Specific Range ,

Below are some option to trace this issue .

option -1
Enable Audit On know which One of these Column caused the error

SQL > Create table error_ora as select * from scott.dept
SQL> desc dept
 Name                                Null?    Type
 ----------------------------------- -------- ------------------------
 DEPTNO                              NOT NULL NUMBER(2)
 DNAME                                        VARCHAR2(14)
 LOC                                          VARCHAR2(13)

SQL> audit insert on joshiv.error_ora whenever not successful;

Audit succeeded.

SQL> insert into joshiv.error_ora values(2000,'joshiv','joshiv');
insert into scott.dept values(2000,'joshiv','joshiv')
                              *
ERROR at line 1:
ORA-01438: value larger than specified precision allowed for this
column


SQL> select sql_text,returncode from dba_audit_trail
  2  where owner='joshiv' and obj_name='error_ora';

SQL_TEXT
----------------------------------------------------------------------
RETURNCODE
----------
insert into scott.dept values(2000,'joshiv','joshiv')
      1438
 option #2 :

Enable Tracing Level 1438


SQL > conn joshiv/joshiv ;
SQL> create table error_ora as select * from scott.dept ;

SQL> select * from error_ora ;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON


SQL> alter system set events='1438 trace name Errorstack forever,level 10';


SQL> insert into error_ora values (100000000000000000,'joshiv','vinodj');                        
insert into error_ora values (100000000000000000,'joshiv','vinodj')
                         *
ERROR at line 1:
ORA-01438: value larger than specified precision allowed for this column

In Trace File :

ORA-01438: value larger than specified precision allowed for this column
Current SQL statement for this session:
insert into error_ora values (100000000000000000,'joshiv','vinodj')


No comments:

Post a Comment