I believe there is no way of doing this using just standard UNIX privileges. The problem here is that (as far as I know) a newly created file is always owned by its creator — and if you are able to create the file, you have write privileges to the parent directory, and can therefore delete the file as well.
You can use the sticky bit to prevent users from deleting other users files, and you can use the SETGID bit on the directory to change the group of newly created files, but on Linux, the SETUID directory bit is ignored.
You could create a daemon that monitors the directory (perhaps using some kind of file alteration monitor) and changes ownership to oracle.dba after the file is created. There is a race condition, though – an attacker can delete the file before the daemon notices it's there.
And even if you succeed, be aware that as long as you have write permissions, you can truncate the file to zero length, thus destroying the contents without having to explicitly delete the file.