使用RMAN进行同名数据库异地环境搭建实验(一)

2014-11-24 17:24:22 · 作者: · 浏览: 2

随着版本不断地提升,RMAN作为标准备份工具的作用地位是不断的被增强的。从过去传统的备份还原工具,到现在新环境迁移、DG搭建,我们都可以看到RMAN工具增强的身影。


本篇就以RMAN为工具,利用RMAN备份在新主机上搭建服务名相同的数据库。由于环境所限,笔者采用的方法是:先进行备份获取,之后删除掉原数据库,最后使用备份重新搭建(包括参数、控制文件和数据文件恢复)。


推荐阅读:


1、环境介绍


我们选择Linux环境下的10.2.0.1进行实验。


SQL> select * from v$version;


BANNER


---------------------------------


Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod


PL/SQL Release 10.2.0.1.0 - Production


CORE 10.2.0.1.0 Production


TNS for Linux: Version 10.2.0.1.0 - Production


NLSRTL Version 10.2.0.1.0 - Production


当前处在归档模式下。


SQL> archive log list;


Database log mode Archive Mode


Automatic archival Enabled


Archive destination USE_DB_RECOVERY_FILE_DEST


Oldest online log sequence 2


Next log sequence to archive 4


Current log sequence 4


2、备份获取


RMAN支持online和offline两种备份模式。如果选择online备份模式,Oracle就不需要因为备份操作停机,但是恢复过程需要配合redo log的apply过程。如果选择offline备份模式,Oracle需要在备份过程中停机,但是理论上是不需要archive redo log进行支持的。


如果Oracle运行在archived模式下,RMAN可以进行online和offline模式。如果是noarchived模式,RMAN就只能在offline模式备份了。


当前环境变量:


[oracle@SimpleLinuxUp ~]$ env | grep ORA


ORACLE_SID=oratest


ORACLE_BASE=/u01/app/oracle


ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1


笔者对online和offline备份,都进行保留。首先创建驻留目录:


[root@SimpleLinuxUp ~]# cd /


[root@SimpleLinuxUp /]# mkdir onlinebk


[root@SimpleLinuxUp /]# mkdir oflinebk


[root@SimpleLinuxUp /]# chown oracle:oinstall onlinebk/


[root@SimpleLinuxUp /]# chown oracle:oinstall oflinebk/


[root@SimpleLinuxUp /]# ls -l | grep linebk


drwxr-xr-x 2 oracle oinstall 4096 Mar 3 16:46 oflinebk


drwxr-xr-x 2 oracle oinstall 4096 Mar 3 16:46 onlinebk


如果进行online备份,数据库不需要关闭。备份范围为:参数文件、数据文件、控制文件。


(online backup)


RMAN> connect target /


connected to target database: ORATEST (DBID=3370560176)


using target database control file instead of recovery catalog


RMAN> backup database format '/onlinebk/%U'; --数据库


Starting backup at 03-MAR-14


using channel ORA_DISK_1


channel ORA_DISK_1: starting full datafile backupset


(篇幅原因,有省略……)


piece handle=/onlinebk/04p28ubo_1_1 tag=TAG20140303T165227 comment=NONE


channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02


Finished backup at 03-MAR-14


RMAN> backup archivelog all format '/onlinebk/%U'; --已经归档日志


Starting backup at 03-MAR-14


current log archived


using channel ORA_DISK_1


(篇幅原因,有省略……)


piece handle=/onlinebk/05p28uds_1_1 tag=TAG20140303T165420 comment=NONE


channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02


Finished backup at 03-MAR-14


RMAN> backup current controlfile format '/onlinebk/control.bks';


Starting backup at 03-MAR-14


using channel ORA_DISK_1


(篇幅原因,有省略……)


piece handle=/onlinebk/control.bks tag=TAG20140303T165457 comment=NONE


channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01


Finished backup at 03-MAR-14


RMAN> backup spfile format '/onlinebk/spfile.bks';


Starting backup at 03-MAR-14


using channel ORA_DISK_1


(篇幅原因,有省略……)


piece handle=/onlinebk/spfile.bks tag=TAG20140303T165518 comment=NONE


channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01


Finished backup at 03-MAR-14


如果进行offline备份,则需要将数据库完整关闭(非abort关闭)。也不需要进行归档文件备份。


RMAN> shutdown immediate;


database closed


database dismounted


Oracle instance shut down


RMAN> startup mount;


connected to target database (not started)


Oracle instance started


database mounted


进行备份。


RMAN> backup database format '/oflinebk/%U';


Starting backup at 03-MAR-14


al