Even if it's difficult to be in such a position, if you can't open your database because it needs recovery and you don't have archivelogs to recover or a cold backup to restore, this situation does not mean you'll say 'bye bye' to your database.
There is an undocumented parameter "_allow_resetlogs_corruption" that you can use in this situation. Setting this parameter TRUE in init.ora file may help you save (maybe not all) data. Procedure includes backing up the database, opening it with the updated pfile, discover the problematic data and try to recover all you can...
Here is a detailed article about the use of _allow_resetlogs_corruption parameter. Thanks to Terry Sutton, the author, for this very useful article which covers this lifesaver topic systematically.
Do not forget that you should not use an undocumented parameter without the support of Oracle.