通过RMAN备份duplicate创建dataguard

说明:

创建dataguard方式很多,本文分绍了其中一种方式, 10g/11g都适用。
本文通过RMAN target主库与本地辅助库,通过本地备份恢复数据文件创建Oracle 11g Dataguard物理备库。

 

一、环境介绍

1. 主数据库环境

操作系统版本  : OEL5.8 x64
数据库版本    : Oracle 11.2.0.3 x64
数据库名      : orcl
数据库SID     : orcl
db_unique_name: orcl
instance_name : orcl


2. 备库环境

操作系统版本  : OEL5.8 x64
数据库版本    : Oracle 11.2.0.3 x64 (只安装oracle数据库软件,no netca dbca)
数据库名      : slave
数据库SID     : slave
db_unique_name: slave
instance_name : slave


3. DataGuard启动顺序

启动顺序:先启备库,后启主库
关闭顺序:先关主库,后关备库

 

二、主数据库环境准备


1. 主库环境对比

重新创建口令文件

# su - oracle
$ orapwd file='/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl' password=oracle entries=10 force=y


2. 修改配置lisener监听文件

说明:添加dgmgrl静态监听配置,为后面的dg broker配置打基础。

$ cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora  

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle


4. 修改配置tnsname.ora文件

说明:ORCL是主库的服务名,DG是备库的服务名。

$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

SLAVE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = slave)
    )
  )


5. 修改配置成规档模式

1)、检查数据库是否处于归档状态

SQL> archive log list;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;


2)、将主库设置为 FORCE LOGGING 模式

SQL> alter database force logging;
SQL> select force_logging from v$database;

FOR 
--- 
YES


6. 修改主库参数文件

SQL> 
alter system set instance_name='orcl' scope=spfile;  
alter system set db_unique_name='orcl' scope=spfile;  
alter system set local_listener='orcl' scope=spfile;
alter system set log_archive_config='DG_CONFIG=(orcl,slave)';  
alter system set log_archive_dest_1='LOCATION=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=orcl' scope=spfile; 
alter system set log_archive_dest_2='SERVICE=slave lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=slave' scope=spfile;  
alter system set log_archive_format='arch_%r_%t_%s.arc' scope=spfile;
alter system set fal_client='orcl' scope=spfile; 
alter system set fal_server='slave' scope=spfile;  
alter system set standby_file_management=AUTO;  
alter database add standby logfile group 4 '/u01/app/oracle/oradata/orcl/standby_redo04.log' size 50M;  
alter database add standby logfile group 5 '/u01/app/oracle/oradata/orcl/standby_redo05.log' size 50M;  
alter database add standby logfile group 6 '/u01/app/oracle/oradata/orcl/standby_redo06.log' size 50M;  
alter database add standby logfile group 7 '/u01/app/oracle/oradata/orcl/standby_redo07.log' size 50M;  

SQL> shutdown immediate;
SQL> startup;


#准备一些测试数据,只创建表结构

SQL> conn / as sysdba;
SQL> create user abc identified by abc ;
SQL> grant dba to abc;
SQL> conn abc/abc
SQL> create table abc ( id integer , name char(10));

在备份之前这个表还没有数据。下面的备份集中没有表记录。


7. rman备份主库

 

$ rman target /

恢复管理器: Release 11.2.0.3.0 - Production on 星期二 8月 20 21:22:40 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

已连接到目标数据库: ORCL (DBID=1351765128)

 

RMAN> backup format '/u01/rman/fulldb_%d_%U' database include current controlfile plus archivelog delete input;  


启动 backup 于 20-8月 -13
当前日志已存档
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=1 设备类型=DISK
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=6 RECID=1 STAMP=823986366
输入归档日志线程=1 序列=7 RECID=2 STAMP=823986369
输入归档日志线程=1 序列=8 RECID=3 STAMP=823987442
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_01ohq37j_1_1 标记=TAG20130820T212403 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在删除归档日志
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_6.arc 线程=1 序列=6
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_7.arc 线程=1 序列=7
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_8.arc 线程=1 序列=8
完成 backup 于 20-8月 -13

启动 backup 于 20-8月 -13
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=/u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件: 文件号=00002 名称=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件: 文件号=00003 名称=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件: 文件号=00004 名称=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_02ohq37l_1_1 标记=TAG20130820T212405 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:02:13
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_03ohq3bq_1_1 标记=TAG20130820T212405 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 20-8月 -13

启动 backup 于 20-8月 -13
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动归档日志备份集
通道 ORA_DISK_1: 正在指定备份集内的归档日志
输入归档日志线程=1 序列=9 RECID=4 STAMP=823987583
通道 ORA_DISK_1: 正在启动段 1 于 20-8月 -13
通道 ORA_DISK_1: 已完成段 1 于 20-8月 -13
段句柄=/u01/rman/fulldb_ORCL_04ohq3bv_1_1 标记=TAG20130820T212623 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在删除归档日志
RMAN-08137: 警告: 归档日志未删除, 因为备用或上游捕获进程需要它
归档日志文件名=/u01/archivelog/arch_823984394_1_9.arc 线程=1 序列=9
完成 backup 于 20-8月 -13

RMAN> 
RMAN> quit


备份后,插入一条记录,创建测试数据,不切换日志,查看备份是否使用主库redo日志。

$ sqlplus / nolog
SQL> conn abc/abc
SQL> insert into abc values ( 0 , 'aaa' );
SQL> commit;

 

三、备库配置


1. 备库环境

操作系统版本  : OEL5.8 x64
数据库版本    : Oracle 11.2.0.3 x64 (只安装oracle数据库软件,no netca dbca)
数据库名      : slave
数据库SID     : slave
db_unique_name: slave
instance_name : slave


2. 修改配置lisener监听文件

$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora  

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = slave)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = slave)
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle


3. 修改配置tnsname.ora文件

说明:ORCL是主库的服务名,DG是备库的服务名。

$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.200)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

SLAVE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.150)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = slave)
    )
  )


测试服务名连通性:

tnsping orcl
tnsping slave


3. 创建11g数据库基本目录

# su - oracle

mkdir -p /u01/app/oracle/admin/slave/{adump,dpdump,pfile,scripts}  
mkdir -p /u01/app/oracle/oradata/slave  
mkdir -p /u01/app/oracle/fast_recovery_area/slave
mkdir -p /u01/archivelog


4. 拷贝主库口令文件并改名

$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/
$ scp [email protected]:/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl  $ORACLE_HOME/dbs/
$ mv orapworcl orapwslave


5. 拷贝rman备份

$ scp -r [email protected]:/u01/rman  /u01/


测试远程登录

$ sqlplus sys/oracle@orcl as sysdba;
$ sqlplus sys/oracle@slave as sysdba;


6. 启动到nomount状态

$ echo 'db_name=slave' > $ORACLE_HOME/dbs/initslave.ora  
$ sqlplus /nolog
SQL> conn / as sysdba;
SQL> startup nomount;



四、 开始在RMAN duplicate数据库


1. RMAN同进连接主库与备库

[oracle@slave dbs]$ rman target sys/oracle@orcl auxiliary sys/oracle@slave

恢复管理器: Release 11.2.0.3.0 - Production on 星期二 8月 20 22:55:38 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

已连接到目标数据库: ORCL (DBID=1351765128)
已连接到辅助数据库: SLAVE (未装载)


2. 开始duplicate数据库

RMAN>

run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby nofilenamecheck
dorecover
spfile
parameter_value_convert 'orcl','slave'
set instance_name='slave' 
set db_unique_name='slave'
set local_listener='slave'
set db_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/slave/'
set log_file_name_convert='/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/slave/'
set control_files='/u01/app/oracle/oradata/slave/control01.ctl','/u01/app/oracle/oradata/slave/control02.ctl','/u01/app/oracle/oradata/slave/control03.ctl'
set log_archive_dest_1='LOCATION=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=slave'
set log_archive_dest_2='SERVICE=orcl lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl'
set log_archive_max_processes='5'
set standby_file_management='AUTO'
set fal_client='slave'
set fal_server='orcl';
release channel c1;
release channel c2;
release channel stby;
}


使用目标数据库控制文件替代恢复目录
分配的通道: c1
通道 c1: SID=48 设备类型=DISK

分配的通道: c2
通道 c2: SID=42 设备类型=DISK

分配的通道: stby
通道 stby: SID=18 设备类型=DISK

启动 Duplicate Db 于 20-8月 -13

内存脚本的内容:
{
   set until scn  1071039;
   restore clone spfile to  '/u01/app/oracle/product/11.2.0/db_1/dbs/spfileslave.ora';
   sql clone "alter system set spfile= ''/u01/app/oracle/product/11.2.0/db_1/dbs/spfileslave.ora''";
}
正在执行内存脚本

正在执行命令: SET until clause

启动 restore 于 20-8月 -13

WARNING: A restore time was estimated based on the supplied UNTIL SCN
通道 stby: 正在开始还原数据文件备份集
通道 stby: 还原 SPFILE
输出文件名=/u01/app/oracle/product/11.2.0/db_1/dbs/spfileslave.ora
通道 stby: 正在读取备份片段 /u01/rman/fulldb_ORCL_03ohq3bq_1_1
通道 stby: 段句柄 = /u01/rman/fulldb_ORCL_03ohq3bq_1_1 标记 = TAG20130820T212405
通道 stby: 已还原备份片段 1
通道 stby: 还原完成, 用时: 00:00:01
完成 restore 于 20-8月 -13

sql 语句: alter system set spfile= ''/u01/app/oracle/product/11.2.0/db_1/dbs/spfileslave.ora''

内存脚本的内容:
{
   sql clone "alter system set  audit_file_dest = 
 ''/u01/app/oracle/admin/slave/adump'' comment=
 '''' scope=spfile";
   sql clone "alter system set  dispatchers = 
 ''(PROTOCOL=TCP) (SERVICE=slaveXDB)'' comment=
 '''' scope=spfile";
   sql clone "alter system set  instance_name = 
 ''slave'' comment=
 '''' scope=spfile";
   sql clone "alter system set  db_unique_name = 
 ''slave'' comment=
 '''' scope=spfile";
   sql clone "alter system set  local_listener = 
 ''slave'' comment=
 '''' scope=spfile";
   sql clone "alter system set  db_file_name_convert = 
 ''/u01/app/oracle/oradata/orcl/'', ''/u01/app/oracle/oradata/slave/'' comment=
 '''' scope=spfile";
   sql clone "alter system set  log_file_name_convert = 
 ''/u01/app/oracle/oradata/orcl/'', ''/u01/app/oracle/oradata/slave/'' comment=
 '''' scope=spfile";
   sql clone "alter system set  control_files = 
 ''/u01/app/oracle/oradata/slave/control01.ctl'', ''/u01/app/oracle/oradata/slave/control02.ctl'', ''/u01/app/oracle/oradata/slave/control03.ctl'' comment=
 '''' scope=spfile";
   sql clone "alter system set  log_archive_dest_1 = 
 ''LOCATION=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=slave'' comment=
 '''' scope=spfile";
   sql clone "alter system set  log_archive_dest_2 = 
 ''SERVICE=orcl lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl'' comment=
 '''' scope=spfile";
   sql clone "alter system set  log_archive_max_processes = 
 5 comment=
 '''' scope=spfile";
   sql clone "alter system set  standby_file_management = 
 ''AUTO'' comment=
 '''' scope=spfile";
   sql clone "alter system set  fal_client = 
 ''slave'' comment=
 '''' scope=spfile";
   sql clone "alter system set  fal_server = 
 ''orcl'' comment=
 '''' scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
正在执行内存脚本

sql 语句: alter system set  audit_file_dest =  ''/u01/app/oracle/admin/slave/adump'' comment= '''' scope=spfile

sql 语句: alter system set  dispatchers =  ''(PROTOCOL=TCP) (SERVICE=slaveXDB)'' comment= '''' scope=spfile

sql 语句: alter system set  instance_name =  ''slave'' comment= '''' scope=spfile

sql 语句: alter system set  db_unique_name =  ''slave'' comment= '''' scope=spfile

sql 语句: alter system set  local_listener =  ''slave'' comment= '''' scope=spfile

sql 语句: alter system set  db_file_name_convert =  ''/u01/app/oracle/oradata/orcl/'', ''/u01/app/oracle/oradata/slave/'' comment= '''' scope=spfile

sql 语句: alter system set  log_file_name_convert =  ''/u01/app/oracle/oradata/orcl/'', ''/u01/app/oracle/oradata/slave/'' comment= '''' scope=spfile

sql 语句: alter system set  control_files =  ''/u01/app/oracle/oradata/slave/control01.ctl'', ''/u01/app/oracle/oradata/slave/control02.ctl'', ''/u01/app/oracle/oradata/slave/control03.ctl'' comment= '''' scope=spfile

sql 语句: alter system set  log_archive_dest_1 =  ''LOCATION=/u01/archivelog/ valid_for=(all_logfiles,all_roles) db_unique_name=slave'' comment= '''' scope=spfile

sql 语句: alter system set  log_archive_dest_2 =  ''SERVICE=orcl lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl'' comment= '''' scope=spfile

sql 语句: alter system set  log_archive_max_processes =  5 comment= '''' scope=spfile

sql 语句: alter system set  standby_file_management =  ''AUTO'' comment= '''' scope=spfile

sql 语句: alter system set  fal_client =  ''slave'' comment= '''' scope=spfile

sql 语句: alter system set  fal_server =  ''orcl'' comment= '''' scope=spfile

Oracle 实例已关闭

已连接到辅助数据库 (未启动)
Oracle 实例已启动

系统全局区域总计     839282688 字节

Fixed Size                     2233000 字节
Variable Size                494931288 字节
Database Buffers             339738624 字节
Redo Buffers                   2379776 字节
分配的通道: stby
通道 stby: SID=19 设备类型=DISK

内存脚本的内容:
{
   set until scn  1071039;
   restore clone standby controlfile;
}
正在执行内存脚本

正在执行命令: SET until clause

启动 restore 于 20-8月 -13

通道 stby: 正在开始还原数据文件备份集
通道 stby: 正在还原控制文件
通道 stby: 正在读取备份片段 /u01/rman/fulldb_ORCL_03ohq3bq_1_1
通道 stby: 段句柄 = /u01/rman/fulldb_ORCL_03ohq3bq_1_1 标记 = TAG20130820T212405
通道 stby: 已还原备份片段 1
通道 stby: 还原完成, 用时: 00:00:07
输出文件名=/u01/app/oracle/oradata/slave/control01.ctl
输出文件名=/u01/app/oracle/oradata/slave/control02.ctl
输出文件名=/u01/app/oracle/oradata/slave/control03.ctl
完成 restore 于 20-8月 -13

内存脚本的内容:
{
   sql clone 'alter database mount standby database';
}
正在执行内存脚本

sql 语句: alter database mount standby database

内存脚本的内容:
{
   set until scn  1071039;
   set newname for tempfile  1 to 
 "/u01/app/oracle/oradata/slave/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to 
 "/u01/app/oracle/oradata/slave/system01.dbf";
   set newname for datafile  2 to 
 "/u01/app/oracle/oradata/slave/sysaux01.dbf";
   set newname for datafile  3 to 
 "/u01/app/oracle/oradata/slave/undotbs01.dbf";
   set newname for datafile  4 to 
 "/u01/app/oracle/oradata/slave/users01.dbf";
   restore
   clone database
   ;
}
正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

临时文件 1 在控制文件中已重命名为 /u01/app/oracle/oradata/slave/temp01.dbf

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 20-8月 -13

通道 stby: 正在开始还原数据文件备份集
通道 stby: 正在指定从备份集还原的数据文件
通道 stby: 将数据文件 00001 还原到 /u01/app/oracle/oradata/slave/system01.dbf
通道 stby: 将数据文件 00002 还原到 /u01/app/oracle/oradata/slave/sysaux01.dbf
通道 stby: 将数据文件 00003 还原到 /u01/app/oracle/oradata/slave/undotbs01.dbf
通道 stby: 将数据文件 00004 还原到 /u01/app/oracle/oradata/slave/users01.dbf
通道 stby: 正在读取备份片段 /u01/rman/fulldb_ORCL_02ohq37l_1_1
通道 stby: 段句柄 = /u01/rman/fulldb_ORCL_02ohq37l_1_1 标记 = TAG20130820T212405
通道 stby: 已还原备份片段 1
通道 stby: 还原完成, 用时: 00:01:06
完成 restore 于 20-8月 -13

内存脚本的内容:
{
   switch clone datafile all;
}
正在执行内存脚本

数据文件 1 已转换成数据文件副本
输入数据文件副本 RECID=1 STAMP=823993324 文件名=/u01/app/oracle/oradata/slave/system01.dbf
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=2 STAMP=823993324 文件名=/u01/app/oracle/oradata/slave/sysaux01.dbf
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=3 STAMP=823993324 文件名=/u01/app/oracle/oradata/slave/undotbs01.dbf
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=4 STAMP=823993324 文件名=/u01/app/oracle/oradata/slave/users01.dbf

内存脚本的内容:
{
   set until scn  1071039;
   recover
   standby
   clone database
    delete archivelog
   ;
}
正在执行内存脚本

正在执行命令: SET until clause

启动 recover 于 20-8月 -13

正在开始介质的恢复

通道 stby: 正在开始将归档日志还原到默认目标
通道 stby: 正在还原归档日志
归档日志线程=1 序列=9
通道 stby: 正在读取备份片段 /u01/rman/fulldb_ORCL_04ohq3bv_1_1
通道 stby: 段句柄 = /u01/rman/fulldb_ORCL_04ohq3bv_1_1 标记 = TAG20130820T212623
通道 stby: 已还原备份片段 1
通道 stby: 还原完成, 用时: 00:00:01
归档日志文件名=/u01/archivelog/arch_823984394_1_9.arc 线程=1 序列=9
通道 clone_default: 正在删除归档日志
归档日志文件名=/u01/archivelog/arch_823984394_1_9.arc RECID=1 STAMP=823993326
介质恢复完成, 用时: 00:00:02
完成 recover 于 20-8月 -13
完成 Duplicate Db 于 20-8月 -13

释放的通道: c1

释放的通道: c2

释放的通道: stby

RMAN> 
RMAN> quit

 

3. 查看备库状态

说明:duplicate数据库之后,备库只是处于mount状态,查看备库状态。

$ sqlplus / as sysdba

# 查看备库状态

SQL> select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE            DATABASE_ROLE    DB_UNIQUE_NAME
-------------------- ---------------- ------------------------------
MOUNTED              PHYSICAL STANDBY slave


说明:duplicate数据库之后,备库只是处于mount状态,查看备库状态。


SQL> alter database open;

4. 将备库置与应用日志模式状态

SQL> alter database recover managed standby database using current logfile disconnect from session;  
Database altered.  


5. 查看表数据


SQL> conn abc/abc
已连接。
SQL> select * from abc;

        ID NAME
---------- ----------
         0 aaa

SQL> 

#发现主库提交的记录已经应用过来了。
到时通过rman备份duplicate oracle 11g dataguard物理备库测试成功。


本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1280119,如需转载请自行联系原作者



你可能感兴趣的:(通过RMAN备份duplicate创建dataguard)