В настоящее время в Oracle нет типа данных, который будет храниться как целое число компьютера (C int?).Числа Oracle хранятся в виде строк байтов переменной длины:
SQL> SELECT DUMP(99), DUMP(999999), DUMP(9999.99) FROM dual;
DUMP(99) DUMP(999999) DUMP(9999.99)
-------------------- ---------------------------- ----------------------------
Typ=2 Len=2: 193,100 Typ=2 Len=4: 195,100,100,100 Typ=2 Len=4: 194,100,100,100
Первый байт хранит масштаб, остальные байты - это базовое представление числа 100.
Некоторое пространство потерянос этим методом хранения, но, в конечном счете, большую часть времени накладные расходы будут незаметны.
Для столбца с менее чем 10 миллиардами идентификаторов вы можете использовать NUMBER (10), который займет максимум 6 байтов.