Oracle 11gR2 Active DataGuard配置Step By Step(三)

 

进行各种配置之后,我们就可以进行duplicate过程了。

 

7RMAN进行duplicate操作

 

构建physical standby的方法,历代Oracle版本是有不同的方法,而且这些方法是向下兼容的。也就是说,旧版本standby构建方法在新版本下是可以的。而且,一些方法还有比较强的实用场景。

11g Oracle推出了使用RMAN进行active database的构建方法,在主库不停机的情况下也能进行持续的standby构建。传统需要单独准备的参数文件和控制文件,也可以通过脚本方法方式进行整理。

standby实例启动的时候,我们只是设置了db_name参数。其他Data Guard相关的参数,是需要在RMAN执行过程中进行配置的。在过去的版本中,这些参数是需要手工设置的。

准备脚本程序:

 

 

run {

  duplicate target database for standby from active database

  spfile

     parameter_value_convert 'ora11g','ora11gsy'

     set db_unique_name='ora11gsy'

     set control_files='/u01/app/oradata/ORA11GSY/controlfile/ora11gsby01.ctl'

     set db_file_name_convert='ORA11G','ORA11GSY'

     set log_file_name_convert='ORA11G','ORA11GSY'

     set log_archive_max_processes='5'

     set fal_client='ora11gsy'

     set fal_server='ora11g'

     set standby_file_management='AUTO'

     set log_archive_config='dg_config=(ora11g,ora11gsy)'

     set log_archive_dest_2='service=ora11g async valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=ora11g';

}

 

这里有一些注意点:control_files是必须加入的,表示standby数据库的控制文件方法。其他DG相关参数在脚本中都有所涉及。Log_archive_dest_2中配置的valid_for项目,表示数据库在primary_role角色的时候才会向主库ora11g传递日志的。

将脚本保存为文件,cr_standby_script

 

[oracle@SimpleLinux dbs]$ ls -l | grep cr

-rw-r--r--. 1 oracle oinstall  653 Apr 13 13:31 cr_standby_script

 

启动RMAN进行duplicate,连接targetauxiliary

 

[oracle@SimpleLinux dbs]$ rman nocatalog

 

Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 13 13:32:18 2014

 

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

 

RMAN> connect target sys/oracle@ora11g

connected to target database: ORA11G (DBID=4239941846)

using target database control file instead of recovery catalog

 

RMAN> connect auxiliary sys/oracle@ora11gsy

connected to auxiliary database: ORA11GSY (not mounted)

 

执行脚本:

 

RMAN> @cr_standby_script

RMAN> run {

2>   duplicate target database for standby from active database

3>   spfile

4>      parameter_value_convert 'ora11g','ora11gsy'

5>      set db_unique_name='ora11gsy'

6>      set control_files='/u01/app/oradata/ORA11GSY/controlfile/ora11gsby01.ctl'

7>      set db_file_name_convert='ORA11G','ORA11GSY'

8>      set log_file_name_convert='ORA11G','ORA11GSY'

9>      set log_archive_max_processes='5'

10>      set fal_client='ora11gsy'

11>      set fal_server='ora11g'

12>      set standby_file_management='AUTO'

13>      set log_archive_config='dg_config=(ora11g,ora11gsy)'

14>      set log_archive_dest_2='service=ora11g async valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=ora11g';

15> }

Starting Duplicate Db at 13-APR-14

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=19 device type=DISK

(篇幅原因,有省略……

input datafile copy RECID=3 STAMP=844781878 file name=/u01/app/oradata/ORA11GSY/datafile/o1_mf_undotbs1_9mnjs068_.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=4 STAMP=844781878 file name=/u01/app/oradata/ORA11GSY/datafile/o1_mf_users_9mnjs074_.dbf

 

Finished Duplicate Db at 13-APR-14

 

RMAN> **end-of-file**

 

脚本没有报错,执行成功。

 

8DG测试

 

下面,我们检查一下安装DG效果。在standby端,可以登录数据库检查状态。

 

[oracle@SimpleLinux dbs]$ env | grep ORACLE_SID

ORACLE_SID=ora11gsy

 

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

 

NAME      OPEN_MODE            DATABASE_ROLE

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

ORA11G    MOUNTED              PHYSICAL STANDBY

 

Standby默认情况下,是维持mounted状态。主库此时状态如下:

 

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

 

NAME      OPEN_MODE            DATABASE_ROLE

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

ORA11G    READ WRITE           PRIMARY

 

注意:我们修改主库数据,是在scope=spfile基础上。重启主库:

 

 

SQL> startup force

ORACLE instance started.

 

Total System Global Area  372449280 bytes

Fixed Size                  1364732 bytes

Variable Size             301993220 bytes

Database Buffers           62914560 bytes

Redo Buffers                6176768 bytes

Database mounted.

Database opened.

 

检查数据库DG传递,首先检查log_archive_dest状态。如果显示valid,就表示已经联通。

 

 

SQL> select dest_id, dest_name, status, binding, archiver, destination from v$archive_dest;

 

   DEST_ID DEST_NAME            STATUS    BINDING   ARCHIVER   DESTINATION

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

         1 LOG_ARCHIVE_DEST_1   VALID     MANDATORY ARCH       USE_DB_RECOVERY_FILE_DEST

         2 LOG_ARCHIVE_DEST_2   VALID     OPTIONAL  LGWR       ora11gsy

       

 

同步情况,通过v$archived_log视图中查看,注意其中的applied列。如果传递到standby端,并且应用上apply,数据为Yes

 

 

SQL> select sequence#, name, STANDBY_DEST, ARCHIVED, APPLIED from v$archived_log where standby_dest='YES' order by sequence#;

 

 SEQUENCE# NAME       STANDBY_DEST ARCHIVED APPLIED

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

         6 ora11gsy   YES          YES      NO

         7 ora11gsy   YES          YES      NO

         8 ora11gsy   YES          YES      NO

 

启动同步,要在standby数据库中启动操作。Apply是一个持续的过程,我们启动连接操作一定要加入disconnect from session命令,这样就可以在后台进行应用执行动作。

 

 

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

Database altered

 

主库各归档日志应用情况如下:

 

 

SQL> select sequence#, name, STANDBY_DEST, ARCHIVED, APPLIED from v$archived_log where standby_dest='YES' order by sequence#;

 

 SEQUENCE# NAME       STANDBY_DEST ARCHIVED APPLIED

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

         6 ora11gsy   YES          YES      YES

         7 ora11gsy   YES          YES      YES

         8 ora11gsy   YES          YES      YES

         9 ora11gsy   YES          YES      NO

 

Standby端中的归档日志,也可以看到应用过程。

 

 

SQL> select sequence#, name, STANDBY_DEST, ARCHIVED, APPLIED from v$archived_log  order by sequence#;

 

 SEQUENCE# NAME                                                                             STANDBY_DEST ARCHIVED APPLIED

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

         6 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_6_9nn99r20_.a NO           YES      YES

         7 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_7_9nn99k17_.a NO           YES      YES

         8 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_8_9nn99qff_.a NO           YES      YES

         9 /u01/app/fast_recovery_area/ORA11GSY/archivelog/2014_04_13/o1_mf_1_9_9nn9zxyx_.a NO           YES      IN-MEMORY

 

同步成功!

 

9、同步测试

 

下面我们通过一个简单实验来验证数据库同步动作。在scott用户下创建一个数据库表。

 

SQL> conn scott/tiger@ora11g

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.4.0

Connected as scott

 

SQL> create table t_psby as select * from dba_objects;

Table created

 

SQL> select count(*) from t_psby;

 

  COUNT(*)

----------

     86032

 

切换到standby库,在mount状态中是不能读取的,需要首次的open数据库。但是实验室失败的。

 

[oracle@SimpleLinux ~]$ sqlplus /nolog

 

SQL*Plus: Release 11.2.0.4.0 Production on Sun Apr 13 14:05:26 2014

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected.

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-10456: cannot open standby database; media recovery session may be in

Progress

 

当前我们在应用日志同步的状态。在进行同步的时候,是不能open的。我们需要首先将这个日志同步动作cancel中。

 

SQL> conn / as sysdba

Connected.

SQL> alter database recover managed standby database cancel;

Database altered.

 

SQL> alter database open;

Database altered.

 

Scott用户数据表创建。

 

SQL> conn scott/tiger@ora11gsy

Connected.

SQL> select count(*) from t_psby;

 

  COUNT(*)

----------

     86032

 

主库数据表添加数据,进行修改。

 

SQL> insert into t_psby select * from dba_objects;

86032 rows inserted

 

SQL> commit;

Commit complete

 

SQL> select count(*) from t_psby;

 

  COUNT(*)

----------

172064

 

此时standby库,并没有同步。因为我们刚刚关闭cancel同步。下面启动同步过程,接受新的数据。

 

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

Database altered.

 

 

SQL> select open_mode from v$database;

OPEN_MODE

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

READ ONLY WITH APPLY

 

SQL> select count(*) from scott.t_psby;

 

  COUNT(*)

----------

172064

 

同步成功!注意:在11g中,READ ONLY WITH APPLY状态表示在同步同时,也可以应用数据库Redo Log。如果是之前的版本,数据库需要恢复到mount状态。这个也就是11gAdvanced

 

10、结论

 

Oracle 11g Data Guard被称为Active Data Guard,是一个重要的升级版本。对我们而言,DG是一种最简单的HA策略。用好DG是我们必须掌握的能力。


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

转载于:http://blog.itpub.net/17203031/viewspace-1142885/

备库报ORA-10456错误 ORA-10456: cannot open standby database; media recovery session may be in progress SQL>select * from hr.aa; select * from hr.aa *ERRORat line 1: ORA-01219: database not open... 阅读详情

相关推荐

oracle11gr2 active data guard,Oracle 11gR2 Active DataGuard配置Step By Step

进行各种配置之后,我们就可以进行duplicate过程了。7、RMAN进行duplicate操作构建physical standby的方法,历代Oracle版本是有不同的方法,而且这些方法是向下兼容的。也就是说,旧版本standby构建方法在新版本下是可以的。而且,一些方法还有比较强的实用场景。11g Oracle推出了使用RMAN进行active database的构建方法,在主库不停机的情况下...

weixin_31107269的博客 199

oracle11gr2 active data guard,Oracle 11gR2 Active DataGuard配置Step By Step(二)

上篇我们进行了Oracle Dataguard基础配置部分。同RAC相同,Oracle DG很大一部分工作都是真正执行前的准备过程。本篇继续讨论配置项目。3、Oracle NET配置Oracle DG是建立在两个核心技术Redo Transfer和Redo Apply的基础上。Redo Transfer是将日志在Primary和Standby传输的技术,其基础就是Oracle Net配置Orac...

weixin_28933797的博客 226

oracle11gr2 active data guard,Oracle 11gR2 Active DataGuard配置Step By Step

Oracle作为目前最流行的商业数据库,除了单独数据库DBMS之外,还针对实际运维系统需求,提供了一系列高可用HA解决方案。这其中,Oracle作为目前最流行的商业数据库,除了单独数据库DBMS之外,还针对实际运维系统需求,提供了一系列高可用HA解决方案。这其中,RAC+Dataguard是我们最常见的HA策略方案,也是普遍认为成熟的策略。Data Guard11G中有了很大的发展,最典型的两个...

weixin_34378148的博客 187

oracle11gr2 active data guard,Oracle11gR2 Aactive DataGuard(手动)装配部署及维护文档()之升级及rman...

Oracle11gR2 Aactive DataGuard(手动)安装部署及维护文档()之升级及rmanl 第六部分: dataguard其它管理问题一.滚动升级DG升级概要:1. 升级备用数据库2. 将应用程序转移至备用数据库。3. 升级主数据库。4. 将应用程序转移回原来的主数据库。逻辑、物理DG具体升级过程:逻辑DG滚动升级过程:1. 停止恢复逻辑备库。2....

weixin_29999895的博客 255

oracle11gr2 active data guard,oracle 11gR2 搭建dataguard

1、搭建环境主库 oracle11gR2 备库 oracle11gR2db_name orcl orcldb_unique_name orcl standby239配置host文件主库:primaryHost 备库:standbyHost准备库都置于归档模式。2配置静态监听主备库都配置listener.oraSID_LIST_LISTENER...

weixin_33851180的博客 205

Oracle 11gR2 Active DataGuard配置Step By Step(一)

Oracle作为目前最流行的商业数据库,除了单独数据库DBMS之外,还针对实际运维系统需求,提供了一系列高可用HA解决方案。这其中,RAC+Dataguard是我们最常见的HA策略方案,也是普遍认为成熟的策...

ciqu9915的博客 244

oracle 11g dataguard 视频,Linux系统Oracle11gR2 RAC下DataGuard安装容灾实施2+1视频培训教程...

Oracle11gR2 RAC下DataGuard容灾实施2+1视频课程1、解讲方法全程视频实施,本课程以Oracle RAC 11gR2+Single数据库为中心展开讲解Dataguard实施过程。2、课程核心全程培训视频教程,高品质的课程。从实践中学习理论,从理论中掌握实践。整个课程以“核心概念+实践动手+胜任实际工作”的方式讲解。完成实际项目,在实践中进一步检验所学内容,获得实际项目经验。3...

weixin_32386693的博客 250

Oracle 11G 通过 duplicate 配置单实例DataGuard

DATE  : 2012年1220日 ABOUT : Install Oracle 11.2.0.1 on Linux 5.5 uname : Linux node2 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux   一、Primary端操作:  1.Primary设置

Aamir 的专栏 1733

oracle27章 11gR2 DG

2015-10-24 目录 参考资料 [1]Oracle Dataguard 基本原理 [2]Oracle Dataguard搭建 [3]ORACLE 11g dataguard配置练习 [4]ORACLE 11G 搭建dataguard详细步骤(所有操作总结) [5]Oracle Dataguard 简介 [6]ORACLE Dataguard安装 ...

87

Oracle 11gR2 Active Data Guard 安装配置

今天成功安装了一个测试环境,安装方法记录如下。 Oracle 11gR2 Active Data Guard 安装配置   一、测试环境 主库(primary): os: oracle linux 5.8 IP:129.100.253.62 主机名:pc01 primary database:11.2.0.3 single node+asm 数据库名:sgerp5   从库

rgb_rgb的博客 4833

oracle11gr2 快速搭建dataguard,Oracle11gR2创建物理DataGuard

11G版本对Dataguard上有了比较大的改进,就是在open备库的情况下,备库依然可以应用主库传过来的归档日志,记得在10g的时候,想打开备环境:OS:Red Hat Linux As 5DB:11.2.0.111G版本对Dataguard上有了比较大的改进,就是在open备库的情况下,备库依然可以应用主库传过来的归档日志,记得在10g的时候,想打开备库查看数据数据是否已经传输过来,还必须先停...

weixin_33067503的博客 326

Oracle11gR2 Active DataGuard

Oracle Data Guard 确保企业数据的高可用性、数据保护以及灾难恢复。Data Guard 提供 了一套全面的服务来创建、维护、管理和监控一个或多个备数据库,使得生产数据 库从灾难和数据损坏中得以幸存。Data Guard 维护这些备数据库作为生产数据库的事务一致 性拷贝。然后,如果生产数据库因为计划的或计划外的中断而变得不可用。Data Guard 能切 换任何备数据

技术成就梦想 1732

Oracle 11g R2 Dataguard configuration step by step

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34148508的博客 227

Oracle 11g Data Guard 使用duplicate from active database 创建 standby database

在blog:Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库       http://blog.csdn.net/tianlesoftware/archive/2011/03/08/6230498.aspx演示了11gR2 下duplicate from active database的例子。 在这里继续使用这个命令来创建一个物理

David Dai -- Focus on Oracle 2万+

oracle 11g active dataguard,oracle 11gR2 active dataguard duplicate database ORA-17628

搭建adg的时候 报错ORA-17628,检查备份脚本信息,发现convert 涉及的目录没有创建,比如datafile onlinelog tempfile 目录相当于datafile copy 无法copy 应该报个linux 的no directory 就好了创建后 重新startup nomount force 重新duplicate 就ok了rman target ...

weixin_35662417的博客 748

Oracle 11gr2 duplicate active database 搭建物理DG

源网址: Oracle 11gr2 duplicate active database 搭建物理DG  (2011-11-28 11:24:04) 转载▼ 标签:  杂谈   一、duplicate active database特性说明 在进行standby dat

笑平风 1043
上一篇: Oracle 11gR2 Active DataGuard配置Step By Step(一)
下一篇: ASH内存强制Flush日志解决一例
ciqu9915
博客等级 码龄10年 11粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值