起一个新实例名newdata


1、准备pfile


cp ...../dbs/init.ora ..../dbs/initnewdata.ora


vim initnewdata.ora


改变controlfile的位置


control_files='/u01/app/oracle/oradata/newdata/control.ctl'


 


2、创建spfile


sqlplus / as sysdba


startup pfile='..../dbs/initnewdata.ora' nomount;


create spfile from pfile;


shutdown immediate;


startup nomount;


 


3、拷贝种子控制文件


cp /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates/Seed_Database.ctl /u01/app/oracle/oradata/newdata


alter database mount;


 


4、拷贝种子数据文件备份片


cp /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates/Seed_Database.dfb /u01/app/oracle/oradata/newdata


 


5、导入数据备份片信息到控制文件


rman


connect target /


delete noprompt backupset 1;


catalog start with '/u01/app/oracle/oradata/newdata/Seed_Database.dfb';


 


6、还原并恢复数据库


run {

set newname for datafile '/ade/b/2125410156/oracle/oradata/seeddata/system01.dbf' to '/u01/app/oracle/oradata/raw/system01.dbf';

set newname for datafile '/ade/b/2125410156/oracle/oradata/seeddata/sysaux01.dbf' to '/u01/app/oracle/oradata/raw/sysaux01.dbf';

set newname for datafile '/ade/b/2125410156/oracle/oradata/seeddata/undotbs01.dbf' to '/u01/app/oracle/oradata/raw/undotbs01.dbf';

set newname for datafile '/ade/b/2125410156/oracle/oradata/seeddata/usres01.dbf' to '/u01/app/oracle/oradata/raw/users01.dbf';

restore database;

recover database;

}



7、打开数据库


alter database open resetlogs;