配置监听及检查相关环境变量,软件的正确安装,需要的文件目录例如数据文件的存放位置,dump文件的位置等
# listener.ora Network Configuration File: /database/oracle10g/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /database/oracle10g)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = aixlab7)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
从源数据库获取数据库的DBID
select dbid from v$database;
使用RMAN在目的主机建立虚拟数据库DUMMY,获取内存进行参数文件的恢复
rman target / nocatalog
恢复参数文件,并修改参数文件使之用于单实例(也可以复制源数据库的参数文件来修改)
run{
allocate channel ch01 type 'sbt_tape' parms="ENV=(NB_ORA_SERV=nbuserver,NB_ORA_CLIENT=racdb1)";
restore spfile to pfile='/home/oracle/pfileSID.ora' from '备份片';(有待斟酌)
release channel ch01;
}
说明:
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
SEND 'NB_ORA_SERV=masterserver, NB_ORA_CLIENT=racdb1';
等效
allocate channel ch01 type 'sbt_tape' parms="ENV=(NB_ORA_SERV=nbuserver,NB_ORA_CLIENT=racdb1)";
关闭实例后用修改后,用修改后的参数文件启动数据库到nomount
RMAN>shutdown immediate
RMAN>startup nomount
RMAN>set DBID=xxxxxxxxx
恢复控制文件到参数文件指定的位置
run{
allocate channel ch01 type 'sbt_tape' parms="ENV=(NB_ORA_SERV=nbuserver,NB_ORA_CLIENT=racdb1)";
restore controlfile from 'cntrl_11_1_748556895'; 一般是备份集的最后一个备份片
release channel ch01;
}
修改数据库到mount状态;
RMAN>alter database mount;
恢复数据文件和临时表空间(只是指定)
从源数据库获得数据文件和临时表空间的信息
SQL>col name format a45
SQL>select file#,name from v$datafile;
1 +DGDATA/racdb/datafile/system.256.748482255