When designing a column of type NUMBER in Oracle, you will find the use of not indicating a precision or scale. Exactly what do these default to if you do not specify them?

In my opinion the default precision is 38, default scale is zero. Nevertheless the actual size a clear case of this column, is dynamic. It will require just as much space when needed to keep the worthiness, or max 21 bytes.

NUMBER (precision, scale)

If your precision isn't specified, the column stores values as given. If no scale is specified, the size is zero.

Much more info at:

http://download.oracle.com/paperwork/compact disc/B28359_01/server.111/b28318/datatype.htm#CNCPT1832

Oracle keeps amounts in following way: 1 byte for energy, 1 byte for that first significand digit (that's one prior to the separator), the relaxation for that other numbers.

By digits here Oracle means centennial digits (i. e. base 100)

SQL> INSERT INTO t_numtest VALUES (LPAD('9', 125, '9'))
  2  /

1 row inserted

SQL> INSERT INTO t_numtest VALUES (LPAD('7', 125, '7'))
  2  /

1 row inserted

SQL> INSERT INTO t_numtest VALUES (LPAD('9', 126, '9'))
  2  /

INSERT INTO t_numtest VALUES (LPAD('9', 126, '9'))

ORA-01426: numeric overflow

SQL> SELECT DUMP(num) FROM t_numtest;

DUMP(NUM)
--------------------------------------------------------------------------------
Typ=2 Len=2: 255,11
Typ=2 Len=21: 255,8,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,79

As possible see, the maximal number here's 7.(7) * 10^124, and that he have 19 centennial numbers for precision, or 38 decimal numbers.