если есть все архивлоги то в документации говорят надо делать так:
Re-Creating Datafiles When Backups Are Unavailable
If a datafile is damaged and no backup of the file is available, then you can still recover the datafile if:
All archived log files written after the creation of the original datafile are available
The control file contains the name of the damaged file (that is, the control file is current, or is a backup taken after the damaged datafile was added to the database)
To re-create a datafile for recovery:
Create a new, empty datafile to replace a damaged datafile that has no corresponding backup. For example, assume that the datafile /disk1/users1.f has been damaged, and no backup is available. The following statement re-creates the original datafile (same size) on disk2:
ALTER DATABASE CREATE DATAFILE '/disk1/users1.f' AS '/disk2/users1.f';
This statement creates an empty file that is the same size as the lost file. Oracle looks at information in the control file and the data dictionary to obtain size information. The old datafile is renamed as the new datafile.
Perform media recovery on the empty datafile. For example, enter:
RECOVER DATAFILE '/disk2/users1.f'
All archived redo logs written after the original datafile was created must be mounted and reapplied to the new, empty version of the lost datafile during recovery.
А если нету, то полная жопа....