recreate the control file
You can recreate the control file and modify the path of the datafiles.
Shutdown your database and after that, startup nomount the db, recreate the control files adding the new datafile locations. AFTER this step is SUCCESS you CAN OPEN your database.
The steps are below:
1. SHUTDOWN
$sqlplus /nolog
SQL> CONNECT INTERNAL
SQL> SHUTDOWN IMMEDIATE
2. STARTUP NOMOUNT
$sqlplus /nolog
SQL> CONNECT INTERNAL
SQL> STARTUP NOMOUNT
3. RECREATE CONTROL FILE. In this step you can create a "test" control file modifying your parameter file FIRST so you can keep the old control files. In this step you can also change the database name, etc. Please verify the current settings of your db in order to configure the MAX clauses, CHARACTER SET, etc.
VERY IMPORTANT: REMEMBER TO INCLUDE ALL THE DATAFILES AND THEIR PATHS.
SQL> CREATE CONTROL FILE REUSE SET DATABASE "yourdatabasename" RESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXINSTANCES 2
MAXLOGHISTORY 113
LOGFILE
...
DATAFILE
'/newroure1/datafile1.dbf',
'/newroute2/datafile2.dbf',
...
CHARACTER SET ...
;
4) ALTER DATABASE OPEN RESETLOGS
SQL> ALTER DATABASE OPEN RESETLOGS;
This will open your database.
5) Include your temp files.
ALTER TABLESPACE TEMP ADD TEMPFILE /tempfileroute/temp01.dbf'
SIZE .. REUSE ... AUTOEXTEND ON NEXT .. MAXSIZE ...;
That's all good look.