Quando seu banco de dados sofre algum nível de corrupção e não abre por isso, a primeira saída é remeter o problema para o DBA responsável.
Jamais remova, modifique ou mova de lugar qualquer arquivo do banco de dados porque o Oracle possui muitas referências à estes arquivos para seu controle e, inclusive, para permitir a recuperação de falhas.
Se você não tiver um DBA em sua empresa e for você mesmo o responsável, segue uma receita para tentar restaurar o banco de dados.
1) Diagnóstico
O diagnóstico pode ser realizado através do log de abertura do banco de dados. Na máquina do banco de dados, utilize um prompt do MS-DOS:
C:\>set ORACLE_SID=nomeinstancia
C:\>sqlplus /nolog
SQL>conn / as sysdba
SQL>shutdown immediate
SQL>startup
Após executar estes comandos, caso a sua instância tenha problema para iniciar, o erro será apresentado.
2) Solução para CONTROLFILE corrompido
Avalie se o problema tem relação com CONTROLFILE corrompido, caso tenha ocorrido isso, vá até a pasta do CONTROLFILE e copie o control01.ctl como control03.ctl. Depois execute um novo SHUTDOWN IMMEDIATE seguido de um novo STARTUP.
Se quiser entender melhor sobre CONTROLFILES, acesse: http://docs.oracle.com/cd/B10500_01/server.920/a96521/control.htm
3) Solução para outras corrupções
Há situações de corrupção relacionadas a logs ou datafiles, diferente de CONTROLFILE, neste caso, pode ser uma saída indicar ao Oracle para tentar recuperar a instância automaticamente na abertura.
Os comandos abaixo podem restaurar a instância se o nível de corrupção não for extremamente severo.
C:\>set ORACLE_SID=nomeinstancia
C:\>sqlplus /nolog
SQL>conn / as sysdba
SQL>shutdown immediate
SQL>startup mountSQL>alter database recover until cancel using backup controlfile;
SQL>alter database recover continue default;
SQL>alter database recover cancel;
SQL>alter database open resetlogs;
Boa sorte!