实验目的:将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径
第一步:在源端取得备份数据
开始备份:
$ rman target /
RMAN> run{
allocate channel c1 device type disk format '/u01/backup/%T_%U';
backup database plus archivelog;
backup current controlfile format '/u01/backup/%T_CTL_%U';
backup spfile format '/u01/backup/%T_SPFILE_%U';
release channel c1;
}
第二步:备端的准备
1、安装数据库软件
2、创建相关的目录:
$ env | grep ORACLE
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
$ oracle@model ~> cd $ORACLE_BASE
$ oracle@model /u01/app/oracle> mkdir flash_recovery_area
$ oracle@model /u01/app/oracle> mkdir -p admin/orcl
$ oracle@model /u01/app/oracle> cd admin/orcl
$ oracle@model /u01/app/oracle/admin/orcl> mkdir {a,b,c,d,u}dump
第三步:开始恢复,此时恢复的实例名为orcl
$ export ORACLE_SID=orcl
$ rman target /
RMAN> startup nomount
1、恢复spfile:
RMAN> restore spfile from '/u01/backup/20120829_SPFILE_05njss0m_1_1';
RMAN> shutdown immediate;
2、编辑参数文件,使参数中的相关路径变更为新路径
$ oracle@model ~> sqlplus / as sysdba
SYS@test > create pfile from spfile;
编辑生成的$ORACLE_HOME/dbs/inittest.ora文件,将文件中的路径改为新的路径
$ oracle@model ~> sqlplus / as sysdba
SYS@test > create spfile from pfile;
[oracle@weblogic01 ~]$ rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Mon Mar 3 18:28:18 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (not mounted)
3、恢复控制文件:
RMAN> restore controlfile from '/u01/backup/control_20p1otrb_1_1';
4、恢复数据文件:
RMAN> run {
set newname for datafile 1 to '/u01/app/oracle/oradata/orcl/system01.dbf';
set newname for datafile 2 to '/u01/app/oracle/oradata/orcl/sysaux01.dbf';
set newname for datafile 3 to '/u01/app/oracle/oradata/orcl/undotbs01.dbf';
set newname for datafile 4 to '/u01/app/oracle/oradata/orcl/users01.dbf';
set newname for datafile 5 to '/u01/app/oracle/oradata/orcl/example01.dbf';
set newname for datafile 6 to '/u01/app/oracle/oradata/orcl/data01_A5ADMIN01.dbf';
set newname for datafile 7 to '/u01/app/oracle/oradata/orcl/schema-4-01.dbf';
set newname for datafile 8 to '/u01/app/oracle/oradata/orcl/data01_A5ADMIN_1.dbf';
restore database;
recover database;
}
5、以resetlogs方式打开数据库
SQL> alter database open resetlogs;