Make sure datafiles, archivelogs, etc. are available and in the right location as described in controlfile -from now on your_control_file.sql

Edit your controlfile:

Make sure the first line of your control file reads like...
CREATE CONTROLFILE REUSE SET DATABASE "your_db_name" RESETLOGS ARCHIVELOG

Make sure to comment out anything you may have after DATAFILES description like startup, alter database, etc.

Startup/recover your database:

sqlplus /nolog
conn sys as sysdba
--hit enter--
STARTUP NOMOUNT
@/your_path/your_control_file.sql
RECOVER DATABASE USING BACKUP CONTROLFILE until cancel
--apply your logs--
alter database open resetlogs;

Once your database is up, bounce it and be sure your alertlog is clean.