终于有空闲的机器腾出来了,生产环境上的一套Oracle环境终于可以鸟枪换炮了,生产环境有Data Guard,为了减少停机时间,而且避免重新构建Data Guard的麻烦(其实也不麻烦,就是浪费时间),计划借助Data Guard的switchover来完成。

不打无准备的仗,观察了一下某生产环境的Data Guard,发现配置极其简单,趁机抄袭了一下并搭建好测试环境,怎么个简单呢,配置如下:

(1) 主备节点没有配置standby log file ;

(2) 只在主节点配置了日志发送的路径;

(3) 没有配置FAL;

还是贴配置吧,主节点:

1
2
*.log_archive_dest_2='service=standby'
*.standby_file_management='AUTO

备节点:

1
*.standby_file_management='AUTO'

当然 spfile 中的配置是不止这些的,但是与Data Guard 相关的就这几条,简单吧,从同事的口中了解到该Data Guard就是只为了Failover,也不打算搞实时apply,就采用maximum performance的保护模式(其他都是浮云)。

介绍一下测试环境,两台Oracle服务器,primary节点 test02 ,standby节点 test03,tnsname分别是 mydb_test02 和 mydb_test03。

众所周知,搞Data Guard要折腾三个地方:初始化参数(spfile/pfile),控制文件和数据文件,参数文件的设置如上,将primary节点的spfile和password文件复制到standby节点的$ORACLE_HOME/dbs/目录下面,然后将standby启动到nomount。

1
2
3
##### Standby #####
sys$mydb@test03 SQL> startup nomount ;
sys$mydb@test03 SQL> alter system set standby_file_management='AUTO';

设置一下primary节点的spfile:

1
2
3
##### Primary #####
sys$mydb@test02 SQL> alter system set log_archive_dest_2='service=mydb_test03';
sys$mydb@test02 SQL> alter system set standby_file_management='AUTO';

以下是如何配置standby controlfile和数据文件:

在 primary 节点中先使用rman备份数据文件并准备 standby controlfile:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
##### Primary #####
run
{
  sql"alter system switch logfile";
  allocate channel c1 device type disk ;
  backup
    as compressed backupset
    tag 'compressed_full'
  database ;
  backup tag 'standby_controlfile'
    current controlfile
    for standby;
  release channel c1 ;
}

注意看输出中的备份集信息,先不要退出rman会话,后面还有用,将以上rman脚本产生的两个备份集复制到standby机器的相同目录中

1
2
3
4
5
##### Primary #####
[oracle@test02 ~]$ cd /u01/app/flash_recovery_area/MYDB/backupset/2010_12_16/
[oracle@test02 2010_12_16]$ ls
o1_mf_ncnnf_STANDBY_CONTROLFILE_6jlx5w8x_.bkp  o1_mf_nnndf_COMPRESSED_FULL_6jlwvnyx_.bkp
[oracle@test02 2010_12_16]$ scp ./* test03:`pwd`

复制所需的归档日志到standby机器,先确定归档的路径:

1
2
3
4
5
6
7
8
9
10
11
##### Primary #####
sys$mydb@test02 SQL> archive log list ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/flash_recovery_area/MYDB/archivelog
Oldest online log sequence     2906
Next log sequence to archive   2910
Current log sequence           2910
sys$mydb@test02 SQL> host
 
[oracle@test02 archivelog]$ find ./ -name "*.arc" -cmin -300 -exec scp {} test03:`pwd` \;

还是回到primary机器的rman会话中,执行duplicate语句来创建Data Guard的备用数据库:

1
2
3
##### Primary #####
RMAN> connect auxiliary sys/oracle@mydb_test03
RMAN> duplicate target database for standby dorecover nofilenamecheck;

最后启动Data Guard Standby节点的归档恢复进程:

1
2
##### Standby #####
sys$mydb@test03 SQL> alter database recover managed standby database disconnect from session;

自此,测试环境的Data Guard搭建完成。

data guard折腾记一的更多相关文章

  1. ORACLE DATAGURARD 折腾记二

    前文再续,书接上一回,这次折腾Data Guard的一个重要目的是利用switchover实现机器的升级,怎么switchover呢?按照我的理解,Data Guard的角色切换是这样一个过程: (1 ...

  2. Vue折腾记 - (3)写一个不大靠谱的typeahead组件

    Vue折腾记 - (3)写一个不大靠谱的typeahead组件 2017年07月20日 15:17:05 阅读数:691 前言 typeahead在网站中的应用很多..今天跟着我来写一个不大靠谱的ty ...

  3. 一步一步搭建 Oracle Data Guard

    前言 为什么要写前言,因为我要吐槽一下.作为一个Java后端,搭建Oracle Data Guard真的是一件,嗯,既不专业也不擅长的事情,然而,为什么还是要我来弄? 因为DBA出差了,我们这边急着要 ...

  4. 个人总结OLinux上安装oracle11G Data Guard

    一.准备环境 1.swap要求 swap最好设置3G以上,如果安装过程中报swap不足,可参考: https://www.jianshu.com/p/46635a12c8d0 2.官网必须安装包列表: ...

  5. Oracle Data Guard的配置

    概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...

  6. 场景7 Data Guard

    场景7  Data Guard 官方文档 :Oracle Data Guard Concepts and Administration 用于数据容灾,通过主备库同步(主库将redo日志传送到备库,一个 ...

  7. 【原】Configuring Oracle Data Guard In Physical Standby Database

    作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...

  8. DG - 开启Active Data Guard

    在配置active data guard之前,phycial standby必须处于以下两个状态之一: (1)standby处于mount状态,并且redo apply正在运行中 (2)standby ...

  9. DATA GUARD架构(一)

    Data Guard传输-应用架构.>图1-1 ------------------------------------------------------------ 重做传输架构>图1 ...

随机推荐

  1. 用Canvas制作小游戏——贪吃蛇

    今天呢,主要和小伙伴们分享一下一个贪吃蛇游戏从构思到实现的过程~因为我不是很喜欢直接PO代码,所以只copy代码的童鞋们请出门左转不谢. 按理说canvas与其应用是老生常谈了,可我在准备阶段却搜索不 ...

  2. IE 坑爹的浏览器兼容模式

    作为作为Web的前端开发人员,最悲催的莫过于要不断的,不断的去调试各种浏览器的显示效果,个人比较喜欢用火狐浏览器来做开发和调试,对于不怎么懂CSS的我来说,IE的样式调整一看就头大了.对于没有美工的团 ...

  3. 1194: [HNOI2006]潘多拉的盒子 - BZOJ

    Description  Input 第一行是一个正整数S,表示宝盒上咒语机的个数,(1≤S≤50).文件以下分为S块,每一块描述一个咒语机,按照咒语机0,咒语机1„„咒语机S-1的顺序描述.每一块的 ...

  4. PAT-乙级-1016. 部分A+B (15)

    1016. 部分A+B (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 正整数A的“DA(为1位整数)部 ...

  5. [BEC][hujiang] Lesson02 Unit1:Working life ---Reading

    2 1.1Working Life p7 reading attitudes to work Question6: 对于Attitude问题 1 I be willing/ unwilling to ...

  6. windows下游戏服务器端框架Firefly安装说明及demo运行

    原地址:http://blog.csdn.net/wangqiuyun/article/details/11150503 本来公司一个网游服务器端选定了pomelo框架,后来出了个Firefly,为做 ...

  7. [Ruby on Rails系列]3、初试Rails:使用Rails开发第一个Web程序

    本系列前两部分已经介绍了如何配置Ruby on Rails开发环境,现在终于进入正题啦! Part1.开发前的准备 本次的主要任务是开发第一个Rails程序.需要特别指出的是,本次我选用了一个(Paa ...

  8. poj 3318 Matrix Multiplication 随机化算法

    方法1:暴力法 矩阵乘法+优化可以卡时间过的. 方法2:随机化 随机构造向量x[1..n],则有xAB=xC;这样可以将小运算至O(n^2). 代码如下: #include<iostream&g ...

  9. 【无聊放个模板系列】BZOJ 3172 (AC自动机)

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...

  10. BZOJ 3747 POI2015 Kinoman

    因为上午没有准备够题目,结果发现写完这道题没题可写了QAQ 又因为这道题范围是100w,我写了发线段树,以为要T,上午就花了一个小时拼命卡常数 结果下午一交居然过了QAQ 我们考虑枚举L,求最大R使得 ...