ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMAN Duplicate Database From RAC ASM To RAC ASM [ID 461479.1]

RMAN Duplicate Database From RAC ASM To RAC ASM [ID 461479.1]

原创 Linux操作系统 作者:尛样儿 时间:2011-07-31 14:20:58 0 删除 编辑
RMAN Duplicate Database From RAC ASM To RAC ASM [ID 461479.1]

  修改时间 22-JUN-2011     类型 HOWTO     状态 MODERATED  

In this Document
  
     

     


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

Applies to:

Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.2.0.4 - Release: 10.1 to 10.2
Information in this document applies to any platform.

Goal

RMAN Duplicate Database From RAC ASM to RAC ASM

Solution

Assumptions


This note assumes the following:

You are using recovery catalog database catdb

The target database trgt is on host1 and contains ASM datafiles and online logs in diskgroup +DISK1

You want to duplicate the target to database dupdb on remote host host2.

host2 has diskgroup +DISK2

You want to store the datafiles for dupdb to +DISK2

You want to store two controlfiles in +DISK2

The backups and archivelogs created by host1 are accessible by host2

Procedure

1) Create an initialization parameter for auxiliary instance by copying the target database initialization parameter file. Change the parameters as follows:

Set DB_NAME to the new database name dupdb

Set CONTROL_FILES to store two copies of the control file in +DISK2

Set DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT to convert the datafile and online log file names from +DISK1 to +DISK2

Set any other initialization parameters that end in _DEST, such as DB_CREATE_FILE_DEST and DB_CREATE_ONLINE_DEST_n, to reference +DISK2

Comment all the RAC related parameters in the dupdb parameter file. We will re-enable them once the duplicate is completed.

2) For an active production RAC environment, you must use a SET UNTIL clause, otherwise the archivelogs would not have been backed up and the duplicate would fail with RMAN-06025.

To get the sequence number, you need to look at the following:

   RMAN> list backup of archivelog all;

We need to determine the most recent archivelog backed up from each thread, and then take the least recent of these.


Example

Parameter file (init.ora) would include:

DB_NAME=dupdb
CONTROL_FILES=+DISK2,+DISK2
DB_FILE_NAME_CONVERT=+DISK1,+DISK2
LOG_FILE_NAME_CONVERT=+DISK1,+DISK2


Create an SPFILE from the parameter file, and start the auxiliary instance:


SQL> CONNECT SYS/oracle@dupdb;
SQL> CREATE SPFILE FROM PFILE='location of auxiliary instance pfile';
SQL> STARTUP NOMOUNT;
 

Then run the following RMAN commands to duplicate the database:


RMAN> CONNECT TARGET /;
RMAN> CONNECT CATALOG rman/cat@catdb;
RMAN> CONNECT AUXILIARY SYS/oracle@dupdb;
RMAN> run {
set until sequence x thread y;
DUPLICATE TARGET DATABASE TO dupdb;
}

 ==> replace the sequence and thread number as appropriate



When the DUPLICATE command completes, the duplicate database is created, with datafiles, online logs and control files in ASM disk group +DISK2.

Shutdown the database and add all the RAC related parameters and then start the database.

Note:-  The only difference between duplicate from RAC ASM and standalone ASM is not to perform. the last step i.e. adding of the RAC related parameters

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23135684/viewspace-703619/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle数据库管理员,Oracle数据库系统构架员;2012年7月出版《构建最高可用Oracle数据库系统:Oracle 11gR2 RAC管理、维护与性能优化》一书;Oracle 10g OCM。

注册时间:2010-01-05

  • 博文量
    483
  • 访问量
    5367766