According to the docs, oracle uses 1 byte for the magnitude, and 1 or more bytes for significant digits.
HOWEVER, it assigns that space dynamically, so even if you say NUMBER(11), you will still only need 2 bytes to represent the number "5". All NUMBER(11) gives you is some range checking on input.
So, from that, I read that there's no real benefit from using SmallIntegerField, since it'll still only take up as much space as you need. Any range checking can be done in the Model's save method, or a Form's clean methods, and be much more specific to the application's requirements than oracle's range checking can provide.