使用RAC和Data Guard构建MAA架构
在前面的单实例数据库迁移至rac环境配置过程中,介绍了使用standby技术构建单实例主库对应rac物理备库的data guard模型,本节中将介绍rac主库对应单实例物理备库的data guard模型构建;在MAA架构中,ASM提供了存储方面的网格,RAC提供了数据库层面上的网格计算,data guard则着重强调在数据的备份和容灾方面,更多MAA方面的知识,参考下面的链接!
http://www.oracle.com/technetwork/database/features/availability/maa-090890.html
一:主备库的环境介绍
主库:
数据库版本:10.2.0.5
OS版本:centos4.8 64位
数据库名:rac(两个实例)
实例名:rac1,rac2
IP地址:192.168.1.41/24,192.168.1.42/24
db_unique_name: rac
服务名:rac.yang.com
监听器端口:1521
存储类型:OMF+ASM磁盘组,+DATA,+FRA
备库:
数据库版本:10.2.0.5
OS版本:rhel5.4 64位
数据库名:rac (单实例)
实例名:orcl
IP地址:192.168.1.49/24
db_unique_name: orcl
服务名:orcl.yang.com
监听器端口:1521
存储类型:文件系统+OMF
在开始前确保主库rac环境正常,备库只需要安装数据库软件即可,不需要建库
[oracle@rac1 ~]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora.rac.db application 0/0 0/1 ONLINE ONLINE rac1 ora....c1.inst application 0/5 0/0 ONLINE ONLINE rac1 ora....c2.inst application 0/5 0/0 ONLINE ONLINE rac2 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip application 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip application 0/0 0/0 ONLINE ONLINE rac2 |
二:配置监听器和tnsnames.ora文件如下,rac节点2上需要同样进行配置
[oracle@rac1 ~]$ cat $ORACLE_HOME/network/admin/listener.ora SID_LIST_LISTENER_RAC1 = [oracle@rac1 ~]$ sqlplus sys/123456@192.168.1.41:1521/rac_DGMGRL.yang.com as sysdba Connected to: [oracle@rac1 ~]$ cat $ORACLE_HOME/admin/tnsnames.ora LISTENER_RAC1 = LISTENER_RAC2 = RAC = RAC1 = RAC2 = ORCL = |
三:备库的静听器配置和tnsnames.ora文件如下
[oracle@server49 ~]$ cat /u01/app/oracle/product/10.2.0/db1/network/admin/listener.ora SID_LIST_LISTENER_ORCL = [oracle@server49 ~]$ cat /u01/app/oracle/product/10.2.0/db1/network/admin/tnsnames.ora RAC = RAC1 = RAC2 = ORCL = |
四:在主库上修改初始化参数文件如下
[oracle@rac1 ~]$ sqlplus /nolog SQL> alter database force logging; SQL> alter system set log_file_name_convert='+FLASH/rac','/u01/app/oracle/flash_recover_area/orcl','+DATA/rac','/u01/app/oracle/oradata/orcl' scope=spfile; SQL> alter system set db_file_name_convert='+DATA/rac','/u01/app/oracle/oradata/orcl' scope=spfile; SQL> alter system set dg_broker_config_file1='+DATA/rac/dgbroker/dg_config_file1.dat'; SQL> alter system set dg_broker_config_file2='+FRA/rac/dgbroker/dg_config_file2.dat'; SQL> alter system set fal_client='rac1' sid='rac1'; SQL> alter system set fal_client='rac2' sid='rac2'; SQL> alter system set fal_server='orcl'; SQL> alter system set local_listener='LISTENER_RAC1' sid='rac1'; SQL> alter system set local_listener='LISTENER_RAC2' sid='rac2'; SQL> alter system set log_archive_config='DG_CONFIG=(rac,orcl)'; SQL> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=rac'; SQL> alter system set log_archive_dest_state_2='defer'; SQL> alter system set log_archive_dest_2='SERVICE=orcl LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'; SQL> alter system set log_archive_dest_3='LOCATION=+FRA/rac/standbylog/ VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=rac'; SQL> alter system set log_archive_dest_state_1=enable; SQL> alter system set log_archive_dest_state_3=enable; SQL> alter system set log_archive_max_processes=5; SQL> alter system set remote_listener='LISTENERS_RAC'; SQL> alter system set remote_login_passwordfile='EXCLUSIVE' scope=spfile; SQL> alter system set standby_archive_dest='+FRA/rac/standbylog'; SQL> alter system set standby_file_management='auto'; |
五:由spfile生成pfile,同时增加相应的standby日志组
SQL> create pfile='/home/oracle/backup/initrac.ora' from spfile; SQL> select thread#,group# from v$log; THREAD# GROUP# SQL> alter database add standby logfile thread 1 group 11 size 50M,group 12 size 50M,group 13 size 50M; SQL> alter database add standby logfile thread 2 group 14 size 50M,group 15 size 50M,group 16 size 50M; SQL> select thread#,group# from v$standby_log; THREAD# GROUP# |
六:利用rman备份主库文件,并复制到备库上
[oracle@rac1 ~]$ rman target / RMAN> run { RMAN> backup current controlfile for standby format '/home/oracle/backup/control01.ctl'; |
七:在备库上进行duplicate操作,需要创建相关的目录,准备密码文件,以及修改参数文件等
[oracle@server49 orcl]$ env |grep ORA [oracle@server49 orcl]$ pwd [oracle@server49 ~]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=123456 [oracle@server49 ~]$ sqlplus /nolog SQL> conn /as sysdba Total System Global Area 213909504 bytes SQL> create spfile from pfile='/home/oracle/backup/initrac.ora'; [oracle@server49 ~]$ rman target sys/123456@rac auxiliary / connected to target database: RAC (DBID=2360349352) RMAN> duplicate target database for standby; RMAN> report schema; using target database control file instead of recovery catalog List of Permanent Datafiles |
八:在备库上还原日志文件,修改onlinelog和standby log的路径
SQL> show parameter name; NAME TYPE VALUE NAME TYPE VALUE SQL> archive log list; RMAN> restore archivelog all; [oracle@server49 ~]$ ls /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2012_01_12/ SQL> select group#,member from v$logfile; GROUP# MEMBER SQL> alter system set standby_file_management=manual; SQL> alter database rename file '+FRA/rac/onlinelog/group_2.306.772367347' to '/u01/app/oracle/oradata/ORCL/onlinelog/group_2.306.772367347'; SQL> select member from v$logfile; MEMBER SQL> alter system set standby_file_management=auto; |
九:将备库置于实时应用归档日志状态并观察日志输出
SQL> select name,database_role from v$database; NAME DATABASE_ROLE SQL> alter database recover managed standby database using current logfile disconnect from session; [oracle@server49 ~]$ tail -f /u01/app/oracle/admin/orcl/bdump/alert_orcl.log SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log order by 5,3; FIRST_TIME NEXT_TIME SEQUENCE# APP THREAD# FIRST_TIME NEXT_TIME SEQUENCE# APP THREAD# FIRST_TIME NEXT_TIME SEQUENCE# APP THREAD# |
十:测试,主库上新建表空间,建表后切换日志,备库置于只读模式验证数据一致性
[oracle@rac1 ~]$ sqlplus sys/123456@rac as sysdba Connected to: SQL> create tablespace maa datafile size 100M; SQL> create table hr.maa_test tablespace maa as select * from dba_source; SQL> alter system archive log current; SQL> alter system set log_archive_dest_state_2=enable; SQL> alter system archive log current; SQL> select first_time,next_time,sequence#,applied,thread# from v$archived_log where sequence# >10 order by 5,3; FIRST_TIME NEXT_TIME SEQUENCE# APP THREAD# 节点1: 节点2: SQL> alter database recover managed standby database cancel; SQL> alter database open read only; SQL> select tablespace_name from dba_tablespaces; TABLESPACE_NAME SQL> select count(*) from hr.maa_test; COUNT(*) SQL> alter database recover managed standby database using current logfile disconnect from session; SQL> select * from v$archive_gap; SQL> select process, client_process, sequence#, status from v$managed_standby; PROCESS CLIENT_P SEQUENCE# STATUS PROCESS CLIENT_P SEQUENCE# STATUS SQL> select thread#, max (sequence#) from v$log_history group by thread#; THREAD# MAX(SEQUENCE#) 备库上相关的文件如下: [oracle@server49 ~]$ ls /u01/app/oracle/oradata/ORCL/controlfile/ |
参考文档:http://www.oracledba.org/10g/dr/10gR2_dataguard_RAC_to_RAC.html,感谢作者分享!
本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/762927如需转载请自行联系原作者
ylw6006
使用RAC和Data Guard构建MAA架构相关推荐
- DATA GUARD架构(一)
Data Guard传输-应用架构.>图1-1 ------------------------------------------------------------ 重做传输架构>图1 ...
- Oracle9i数据库Data Guard实施及维护手册 1
Oracle9i数据库Data Guard实施及维护手册 By Kamus 一.Data Guard介绍 备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH A ...
- 【mos 1265700.1】Oracle Patch Assurance - Data Guard Standby-First Patch Apply
Oracle Patch Assurance - Data Guard Standby-First Patch Apply (文档 ID 1265700.1) In this Document Pur ...
- Oracle 11g Data Guard环境中的归档管理
在11g里面,随着ASM.RAC.Data Guard(包括Active Data Guard)的成熟,使用RAC+ASM+Data Guard越来越成为一种可靠的.维护简单.稳定的高可用性和容灾保护 ...
- 构建Oracle高可用环境HA rac:企业级高可用数据库架构、实战与经验总结
1.1 理解Oracle数据库 1.2 Oracle高可用特性(High Availability) 1.3 搭建高可用的周边辅助环境 1.4 高可用应用设计 1.5 高可用数据库设计 1. ...
- Oracle Data Guard (RAC+DG) 归档删除策略及脚本
1.Data Guard 主库归档文件删除策略: 当我们设置: RMAN>configure archivelog deletion policy to applied on standby; ...
- DG(Data Guard)
它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)......................Oracle D ...
- 炎炎夏日-恩墨小王子带你玩转“数据卫士”Data Guard
杨俊 云和恩墨西区技术专家 本文整理自上周四晚云和恩墨大讲堂分享的关于主题:炎炎夏日 - 恩墨小王子带你玩转"数据卫士"Data Guard. 在数据库的世界里有一个被称为数据卫士 ...
- oracle Data guard
DATA GUARD的最主要的功能是冗灾.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑S ...
最新文章
- JavaScript中的+0与-0
- 查看平台内核信息脚本
- 第七天总结:字符编码
- centos6.8防火墙模块未加载
- cocos2dx之lua项目开发中MVC框架的简单应用
- 面向对象编程思想概览(一)类和对象
- mysql show status 过滤_在线更改复制过滤选项的方法
- VC++运行时静默安装
- 【图像融合】基于matlab PCA图像融合【含Matlab源码 723期】
- Spring 源码(四)解析配置类
- 小仲马《茶花女》读后感
- 计算机怎样更新卡驱动,电脑显卡驱动怎么更新(NVIDIA显卡手动更新教程)
- Codeforces1324D Pair of Topics (思维 + 二分)
- 使用余弦定理计算反三角函数却报超出定义域
- DC综合的一些基本概念
- 方正如何禁止从网络启动计算机,我来问问方正电脑怎么关网卡启动
- 想高质量交付,需要先回答这三个问题
- 曝光房屋租售合同诈骗6手段~~!!!!大家注意了·~~~
- 计算机网络和电信网络融合趋势,网络的发展趋势
- 10.15补卡 第1届ICPC青少年程序设计竞赛(正式赛)D题
热门文章
- 【iOS开发】跳转到『设置App』的任意条目
- Kinect开发资源汇总
- 解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- Spring Ioc (Inversion of Control)
- parallels desktop虚拟机与Mac共享网络设置方法
- autpmapper映射忽略某个属性
- 在vsphere6.5启用Tesla K80
- [原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定...
- Js里面IF(var)表示什么意思?js中if的写法、含义
- c#操作word表格