Hmm, /bin/ksh is ok. Then the last thing I can think of is, that somewhere in the startup sequence of oracle's shell (like .profile /etc/profile, ...) a different shell is exec'd and the user works with this shell instead of the login-shell.
The kornshell includes /etc/profile and ~/.profile at startup and also the file identified by $ENV, if set. Check these files if they execute shells or other scripts that may execute shells.
The history file is set in the $HISTFILE variable. This variable is not set in your case, so the default is ~/.sh_history.
What you do not say is "How" does the user oracle connects himself...(telnet, ssh... or as a user then su (without -)).
On all unix systems ther is a command called last...If this one says last connection for oracle is in Feb then it may be that all is fine and normal...