Oracle DataGuard数据同步技术及配置详解
oracle dataguard原理(一)
oracle dataguard原理(一)Oracle DataGuard原理详解介绍Oracle DataGuard是Oracle数据库提供的一种数据冗余和灾难恢复解决方案。
它通过实时数据复制和自动故障转移来提供数据保护和高可用性。
本文将从浅入深,逐步解释Oracle DataGuard的相关原理。
数据冗余•数据冗余是指将数据库中的数据复制到另一个位置,以保护数据免受硬件故障、自然灾害和人为错误的影响。
•在Oracle DataGuard中,数据冗余是通过将主数据库中的数据异步或同步复制到一个或多个备用数据库实现的。
•备用数据库是主数据库的精确副本,它可以提供故障转移和灾难恢复的能力。
主备同步•主备同步是指主数据库和备用数据库之间的数据复制是实时的并保持同步。
•在Oracle DataGuard中,主备同步有两种模式,即同步模式和异步模式。
•同步模式要求主数据库将数据写入本地磁盘后,等待至少一个备用数据库确认接收并写入数据,确保数据一致性和可靠性。
•异步模式允许主数据库立即提交事务,并异步地将数据发送给备用数据库。
这种模式下,主备数据库之间可能存在一定的数据延迟。
数据传输•数据传输是指主数据库将数据发送给备用数据库的过程。
•在Oracle DataGuard中,数据传输可以通过物理复制或逻辑复制来实现。
•物理复制是将主数据库的物理数据文件复制到备用数据库。
这种复制方式效率高,适用于大型数据库。
•逻辑复制是将主数据库的逻辑数据写入备用数据库。
这种复制方式可以跨不同操作系统平台和数据库版本。
自动故障转移•自动故障转移是指在主数据库发生故障时,备用数据库可以自动接管主数据库的功能。
•Oracle DataGuard提供了故障切换的功能,可以迅速将备用数据库切换为主数据库,实现连续的应用程序可用性。
•故障切换是基于Oracle Grid Infrastructure和Fast-Start Failover技术实现的,它能够在故障发生时自动检测和处理。
oracledg同步原理
oracledg同步原理
oracle dg同步原理
Oracle Data Guard(DG)同步原理
Oracle数据库的Data Guard(DG)同步技术是一种数据库管理技术,它可以实现跨距离的数据同步,并实现高可用性。
它的核心是通过Redo日志流和数据库状态的同步来实现的。
在DG环境中,有一个主服务器,它负责执行数据库操作,并将所有更改记录在Redo日志中,另外还有一个备份服务器,它将主服务器上的Redo日志复制到自己的本地日志中,以供以后使用。
当发生故障时,备份服务器可以通过分析本地日志文件以及主服务器上的日志文件,获取最新的数据库信息,并将自己的数据库状态更新为和主服务器一致。
这样,即使发生故障,也不会丢失任何数据,从而实现数据保护和高可用性。
当主服务器恢复正常后,可以恢复为原来的操作模式,也就是主服务器执行操作,然后将更改记录在Redo日志中,备份服务器将Redo日志复制到自己的本地日志中,以便以后使用。
Oracle Data Guard(DG)同步技术是一种非常有效的数据库管理技术,它可以实现跨距离的数据同步,并实现高可用性。
它的核心是通过Redo日志流和数据库状态的同步来实现的,从而保证数据的一致性。
Oracle_Data_Guard配置步骤
Oracle Data Guard配置步骤一:测试环境主数据库:windows English XP;版本ora9i(9.2.0.1.0);IP地址192.168.1.38;主机名:CISCOSYS;实例SID:PRIMARY备用数据库:windows English XP;版本ora9i(9.2.0.1.0);IP地址192.168.1.111;主机名:CISCOROUTER;实例SID:STANDBY二:运行Data Guard的条件1、在主数据库和备用数据库的所有机器上必须安装同一个版本的Oracle企业版。
:SELECT * FROM V$VERSION;2、主数据库必须运行在归档模式下,推荐主和备用数据库都是force Logging模式,这样方便双向自由切换:ALTER DATABASE FORCE LOGGING;3、主数据库和备用数据库的操作系统必须一样(允许版本不同),备用数据库可以使用与主数据库不同的目录结构,ORACLE推荐使用相同的目录结构。
4、主备用数据库硬件系统的体系结构必须相同,但允许主备数据库硬件的配置可以不同如:CPU数量、内存大小、存储配置等。
5、主备数据库可以是单实例的数据库,也可以是多实例的RAC数据库。
6、每个主备数据库必须有它自己的控制文件,ORACLE NET不同,必须分别修改。
三:运行Data Guard的具体步骤1、主数据库和备用数据库的Oracle安装的时候都选择相同的安装路径D:\oracle\ora92;并且先不要安装数据库,即在安装过程中“数据库配置”一项下面选择“只安装软件”;2、在主数据库上使用DBCA命令建一个数据库,SID设为PRIMARY;3、设置主数据库归档路径为D:\oracle\ora92\database\Archive:SQL>alter system setlog_archive_dest_1='LOCATION=d:\oracle\ora92\database\Archive MANDATORY' scope=both;4、将主数据库实例、数据库关闭,然后启动实例,但不打开数据库,只启动到数据库挂载模式: SQL>shutdown immediate; SQL>startup mount;5、将主数据库设置成归档状态和自动归档模式:SQL>alter database archivelog; SQL>alter system set log_archive_start=true scope=spfile;6、在主数据库上面创建备用数据库的控制文件standby.ctl:SQL>alter database create standby controlfile as 'd:\oracle\oradata\standby.ctl';7、在主数据库上面创建备用数据库的初始化参数文件standby.ora(将其拷贝回备用数据库后转换成备用数据库的spfile):SQL>createpfile='e:\oracle\oradata\standby.ora' from spfile;8、查看主数据库的数据文件及其的位置:SQL>select name from v$datafile;记下查询结果中的数据文件的位置。
dataguard简介
Oracle DataGuard简介Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。
DataGuard可以提供Oracle数据库的冗灾、数据保护、故障恢复等,实现数据库快速切换与灾难性恢复。
在生产数据库的保证"事务一致性"时,使用生产库的物理全备份创建备库,备库会通过生产库传输过来的归档日志或重做条目自动维护备用数据库。
DataGuard数据同步技术有以下优势:1)Oracle数据库自身内置的功能,与每个Oracle新版本的新特性都完全兼容,且不需要另外付费。
2)配置管理较简单,不需要熟悉其他第三方的软件产品。
3)物理Standby数据库支持任何类型的数据对象和数据类型;4)逻辑Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作。
5)在最大保护模式下,可确保数据的零丢失。
一、架构Oracle DataGuard由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成。
组成Data Guard的数据库通过Oracle Net连接,并且有可以分布于不同地域。
只要各库之间可以相互通信,它们的物理位置并没有什么限制,不受操作系统的限制。
1.Primary 数据库DataGuard包含一个primary数据库即被大部分应用访问的生产数据库,该库既可以是单实例数据库,也可以是RAC。
2.Standby 数据库Standby数据库是primary数据库的复制(事务上一致)。
在同一个Data Guard中可以最多创建9个standby数据库。
一旦创建完成,Data Guard通过应用primary数据库的redo 自动维护每一个standby数据库。
Standby数据库同样即可以是单实例数据库,也可以是RAC结构。
(完整版)oracle11g dataguard 完全手册
oracle11g dataguard 完全手册一、前言:网络上关于dataguard的配置文章很多,但是很多打着oracle11g的文章实际都是只能在9 10 上运行,比如FAL_CLIENT在11g中已经废弃,但是现在网络上的文章都是没有标注这一点。
而且对于具体含义语焉不详对于新手只能知其然而不知其所以然。
这篇文章我就想让像我这样的人对于dataguard配置不仅仅知道怎么配置,还要知道为什么需要这样配置,这样的效果才是最好的。
这篇文章不仅仅是记录如何配置,还介绍了为什么是这样,以及注意要点,我希望这个文章可以作为进行dataguard配置的一个参考手册。
二、前提1.主库是归档模式:如果我们不清楚为什么是归档模式,那我们就应该也不会清楚dataguard是用来做什么的。
透过很多修饰的官方语言,我们需要明确DG(dataguard简称,后同)实际上的作用就是用来高可用。
而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化。
可以一个主库,最多9个从库。
同时分为逻辑standby和物理standby这里我们讨论的是物理standby.一旦创建并配置成standby 后,dg 负责传输primary数据库redo data 到standby 数据库,standby 数据库通过应用接收到的redo data 保持与primary 数据库的事务一致。
这下清楚了吧,需要保证主从库一致,需要传输archive log和redo log到从库,如果不是归档模式无法保证主从库的数据一致。
2.从库只需要安装数据库软件,数据从主库传输后完成。
3.很多人说11g有了active dataguard(ADG),逻辑standby 实际上已经没什么用处了。
4.主从库硬件最好一致。
oracle数据库版本需要一致。
(1)内存检查项:# grep MemTotal /proc/meminfo交换分区检查项:如果内存在1-2G,swap是1.5倍;2-16G,1倍;超过16G,设置为16G即可。
DATAGUARD配置参数详细解释
DATAGUARD配置参数详细解释DB_NAME只需注意DataGuard的主备各节点instance使用相同的db_name即可。
推荐与service_name一致。
Primary Site Standby Site*.DB_NAME='DB'*.DB_NAME='DB’DB_UNIQUE_NAMEPrimary与Standby端数据库的唯一名字,设定后不可再更改。
注意:配合使用如果主备db_unique_name不一样,需要与LOG_ARCHIVE_CONFIGdb_unique_name并未规定需要与数据库service_name一致,可以自定义任意名称。
Primary Site Standby Site*.db_unique_name='Primary’ *.db_unique_name='StandbLOG_ARCHIVE_CONFIG参数。
默认情况下,定义该参数能确保主备库数据库能够互相识别对方列出主备库上的DB_UNIQUE_NAMEPrimary与Standby端的db_unique_name不一致时Primary Site Standby Site*.db_unique_name=Primary *.db_unique_name=Standby*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(Primary,Standby)' *.LOG_ARCHIVE_CONFIG='DG_CONFIG=(Primary,Standby)'则会出现如下报错如在主备库db_unique_name不一致的情况下未配置LOG_ARCHIVE_CONFIGORA-16057: DGID from server not in Data Guard configuration原因:主库没有设置参数log_archive_config解决方法*.log_archive_config='dg_config=( Primary, Standby)'alter system set log_archive_config='dg_config=( Primary, Standby)' scope=both;Primary与Standby端的db_unique_name一致时Primary Site Standby Site*.db_unique_name=test*.db_unique_name=test*.LOG_ARCHIVE_CONFIG=''*.LOG_ARCHIVE_CONFIG='LOG_ARCHIVE_DEST_1本地归档路径。
oracle dg同步原理
oracle dg同步原理oracle dg同步原理:1、Oracle dg同步原理Oracle Data Guard是oracle提供的用于双机实时同步备份和恢复数据的服务,是一种数据库容灾技术,其原理是:主数据库每次完成的一次操作,会立即被旁路机接收复制到当前的备份数据库,比如数据更新、删除、插入等操作。
如果发生了系统故障,计算机要确保完整性,并发现主库已经挂掉,这时就可以自动迁移到备库,让备库继续服务到客户,这就是oracle dg的功能。
2、具体的oracle dg的步骤(1)安装oracle dg环境:先配置Oracle dg的双机环境,安装双机oracle数据库,数据文件等等;(2)配置Oracle dg:在主机上配置Oracle dg环境,配置dataguard broker,根据双机环境安装data guard manager,配置备库恢复参数;(3)确认备份模式:确认archving和增量备份模式,选择恰当的备份集策略;(4)准备备份:准备备份数据文件和online备份,开启archiving,设置online redo log;(5)建立同步:开启同步工具的控制,进行网络同步,并且进行数据库同步;(6)检查同步:检查主备库的表空间状态,确认是否完全一致,如果不一致,可以使用rman进行表空间的同步;(7)测试恢复:用sqlplus或者第三方客户端测试备库是否可以正确恢复,可以测试数据更新,删除,查询,写操作等多种功能,保证dg服务正常。
3、Oracle dg的优点(1)可用性:可以迅速地将主库数据复制到备库,保证数据备份的准确性,同时还具备可用性优势,可以在发生系统故障时自动将服务迁移到备库;(2)安全性:可以使用dg上的log文件和oracle streams来实现系统的实时备份,降低单一机器发生故障带来的威胁,保证系统的安全性和容错性;(3)均衡性:Oracle dg能够均衡地将日志文件传送到主库和备库,备份时间和服务响应时间相统一,保证了数据备份的完整性;(4)可配置性:支持多种可配置的容灾方案,如非实时的冗余系统,即保持数据库的完整性,实现在主备库间的数据一致性,实现oracle dg所期望的业务灾备环境。
oracle dg 方案
Oracle DG 方案1. 简介Oracle Data Guard(DG)是Oracle数据库提供的一种高可用性和灾难恢复解决方案。
它通过在主数据库和一个或多个辅助数据库之间建立物理或逻辑复制,实现数据的实时备份和同步,从而提供了数据的可用性和保护。
2. 物理复制2.1 主数据库配置在主数据库上配置DG,需要执行以下步骤:•创建物理复制所需的日志传输服务•配置主数据库的归档模式•启用日志传输和应用服务首先,我们需要创建一个可用于日志传输的网络服务,以便主数据库可以将归档日志传输到辅助数据库。
然后,将主数据库配置为归档模式,确保归档日志可以被传输和应用到辅助数据库上。
最后,需要启用日志传输和应用服务,以确保日志的实时传输和辅助数据库的数据同步。
2.2 辅助数据库配置在辅助数据库上配置DG,需要执行以下步骤:•创建辅助数据库实例•配置辅助数据库的连接和归档信息•启动辅助数据库实例•应用主数据库的归档日志首先,需要创建一个辅助数据库实例,该实例将用于接收和应用主数据库的归档日志。
然后,需要配置辅助数据库的连接信息,以确保它可以与主数据库进行通信,并获取归档日志。
接下来,启动辅助数据库实例,并配置归档日志的应用方式。
3. 逻辑复制逻辑复制是另一种Oracle DG的实现方式,它基于逻辑单位(如表或模式)的复制,而不是物理上的块复制。
逻辑复制可以在主数据库和辅助数据库之间实现数据的实时同步和备份。
3.1 主数据库配置在主数据库上配置逻辑复制,需要执行以下步骤:•创建逻辑复制所需的逻辑连接和组织形式•配置主数据库的归档模式(可选)•启用逻辑复制首先,我们需要创建逻辑复制所需的逻辑连接和组织形式。
逻辑连接是主数据库和辅助数据库之间的连接,它使得数据可以被传输和同步。
接下来,如果需要,我们可以将主数据库配置为归档模式,以便归档日志可以被传输和应用到辅助数据库上。
最后,启用逻辑复制,以确保数据的实时同步。
3.2 辅助数据库配置在辅助数据库上配置逻辑复制,需要执行以下步骤:•创建逻辑复制所需的逻辑连接和组织形式•启用逻辑复制服务首先,我们需要创建逻辑复制所需的逻辑连接和组织形式,以确保辅助数据库可以与主数据库进行通信,并接收和同步数据。
DataGuard同步检查操作指引
作业指导书编码:
版号: 01
DataGuard同步检查操作指引页号: 1/1
1.0目的
1.1正确检查DataGuard的同步。
2.0范围及基本责任
2.1本指引适用于集团资讯管理部。
2.2资讯管理部负责人及同事负责本流程的执行和维护。
3.0基本内容
3.1 Archivelog同步的检查
3.1.1 以appl115用户登录到PROD11I
cd /home/appl115
./check_archivelog.sh
执行完后,输出以下类似内容:
PRIMARY_MAX_SEQUENCE# PRIMARY_M STANDBY_MAX_SEQUENCE# STANDBY_M --------------------- --------- --------------------- ---------
30407 06-JUL-07 30407 06-JUL-07
当PRIMARY_MAX_SEQUENCE#和STANDBY_MAX_SEQUENCE#相同时,即表示同步成
功。
3.2 客户化程序同步的检查
3.2.1以appl115用户登录到PROD11I
cd /home/appl115
./check_rsync.sh
执行完后,如果没有输出,即表示同步成功。
如果有输出一些文件名,即表示这些文件没有同步,也就是同步不成功。
编制:审核:批准:
日期:2007-7-6 日期:日期:。
DATAGUARD配置参数详细解释
DATAGUARD配置参数详细解释
一、数据库参数
1.特定于数据库的参数
db_unique_name
功能:定义数据库唯一名称。
含义:该参数定义数据库唯一名称,该参数不应更改,否则可能会导
致一系列问题。
该参数必须在创建数据库时设置,并且不能更改。
2.remote_login_passwordfile
功能:指定远程用户的登录认证文件。
含义:此参数指定远程用户的登录认证文件,在数据库定义期间,远
程用户可以使用该文件登录数据库。
可以使用此参数将一些远程用户的标识指定为NONE,以确保只有本
地用户可以连接,而不允许远程用户连接。
3.log_archive_dest_state_2
功能:指定第二个归档日志目的地状态。
含义:此参数指定第二个归档日志目的地状态,如果设置为enable,则表示活动日志会被归档到该备用目的地,如果设置为disable,则表示
活动日志不会被归档到该备用目的地。
4.fal_server
功能:指定应用程序服务器名称。
含义:此参数指定应用程序服务器名称,例如,Fal_server等。
这些服务器用于远程归档日志,应用服务器可以是一台服务器,也可以是一组服务器。
5.log_archive_dest
功能:指定将归档日志文件发送到哪里。
含义:此参数指定将归档日志文件发送到哪里,可以是一个本地文件路径,也可以是一个远程服务器的文件路径。
oracle两台数据库数据同步
oracle两台数据库数据同步在企业应用中,数据库是承载重要数据的核心存储系统。
为了满足不同业务需求和数据处理能力的要求,有些企业会设计和建立多台数据库。
然而,在多台数据库使用的情况下,数据同步成为一个关键问题。
本文将介绍Oracle数据库中两台数据库数据同步的方法和步骤。
一、概述数据同步是指在不同数据库之间保持数据的一致性,确保多台数据库中的数据始终保持同步。
在Oracle数据库中,有多种方法可以实现数据同步,如使用Oracle Data Guard、Oracle GoldenGate和Oracle Streams等。
下面将针对Data Guard和GoldenGate进行详细介绍。
二、Oracle Data GuardOracle Data Guard是Oracle数据库的一种内置工具,用于在两台或多台数据库之间实现数据同步和容灾。
它通过将主数据库上的事务日志传输给备用数据库,实现数据的同步。
Data Guard提供了两种数据同步模式:物理数据同步和逻辑数据同步。
1. 物理数据同步物理数据同步是指直接将主数据库的数据文件复制到备用数据库,实现数据的一致性。
物理数据同步可以通过Data Guard的物理备用来实现。
在物理备用中,主数据库和备用数据库通过Redo Apply进程将主数据库上的事务日志应用到备用数据库上,从而实现数据的同步。
2. 逻辑数据同步逻辑数据同步是指将主数据库中的逻辑变更操作转换为备用数据库上的等效操作。
逻辑数据同步可以通过Data Guard的逻辑备用来实现。
在逻辑备用中,主数据库和备用数据库之间使用SQL Apply进程将主数据库上的逻辑变更应用到备用数据库上。
逻辑备用还可以实现跨操作系统平台的数据同步。
三、Oracle GoldenGateOracle GoldenGate是Oracle提供的一套高效灵活的实时数据复制、迁移和整合解决方案。
它可以在Oracle数据库之间,或者Oracle数据库与其他非Oracle数据库之间实现数据同步。
[DataGuard全解析]1.OracleDataGuard概念介绍
[DataGuard全解析]1.OracleDataGuard概念介绍从这期开始讲Oracle Data Guard方面的内容,先将基本的概念,然后介绍如何搭建Data GuardData Guard作为Oracle提供的一个高可用及灾备解决方案,理解并可以实施它对于DBA来说是非常重要套的技能首先介绍一下有关Data Guard的概念一张思维导图1.Data Guard 相关类型1.1 主库(Primary Database)指的是我们的生产环境,我们需要新建Data Guard来保护主库的高可用性主库可以既可以是单节点实例或者RAC实例1.2 备库(Standby Databases)备库是主库的一个完整拷贝,在一个Data Guard环境中可以有最多30个备库备库建立后Data Guard 自动从主库传输日志文件并应用备库可以既可以是单节点实例或者RAC实例备库分为如下1.2.1 物理备库(Physical standby database)物理备库要求备库的物理结构和主库一致,包括数据文件,schema以及索引物理备库通过应用从主库传过来的redo数据进行同步11g开始物理备库提供 Active Data Guard 功能可以使物理备库可以在open read only的状态也可以应用日志1.2.2 逻辑备库(Logical standby database)只要求和主库保持逻辑信息一致物理备库通过应用从主库传过来的SQL语句进行同步1.2.3 快照备库(Snapshot Standby Database)快照备库是个可以更新的备库和其他备库一样它接收从主库来的日志,但是不会应用它除非被转换成物理备库,这时所做的操作会全部取消2. Data Guard 服务Data Guard提供以下三种服务确保功能的实现:2.1 Redo传输服务(Redo Transport Services)该服务有如下功能:•控制redo 数据(online 和archive)如何传输到一个或多个备库路径•检查损坏或者丢失的归档日志文件并自动从主库或者其他备库获取2.2 应用服务(Apply Services)该服务负责应用从主库传输过来的数据,物理备库应用的是redo 数据逻辑备库应用的是SQL语句2.3角色转换服务(Role Transitions)该服务负责将主库转换为备库或者从备库到主库其使用switchover和failover 方法•switchover为主动的做角色转换,首先将主库切换到备库,然后将原来的备库切换至主库角色•failover为当主库出现故障时将备库切换至主库3. Data Guard Broker其主要功能是监控Data Guard状态,当主库异常时自动切换角色4. Data Guard 保护模式Data Guard 保护模式指的是主库的保护模式,在主库上执行命令4.1 最大可用模式(Maximum Availability)该模式分为2个阶段:•当备库连接正常时,该模式首先确保主库的redo数据传输到备库•如备库无法连接,也不会影响主库的操作,待备库恢复后继续同步4.2 最大性能模式(Maximum Performance)该模式下主库不用等待redo数据传输到备库即可完成操作,此为默认模式4.3 最大保护模式(Maximum Protection)该模式下需要主库将redo数据传输到备库后才可完成操作如备库无法访问,则会导致主库无法使用该模式下备库无法正常关闭,应先关闭主库5. Data Guard 同步模式Data Guard 同步模式指的是备库的同步模式,在备库上执行命令5.1 实时同步该模式下备库实时应用主库的操作,要求建立standby redo log5.2 非实时同步该模式下备库不会实时应用主库的操作,应用时机分为以下两种:•如建立standby redo log ,应用发生在主库切换日志的时候,这时备库也会同步切换日志•如未建立standby redo log,应用发生在主库归档日志传输到备库时非实时同步也可设定延迟同步,如延迟2小时同步,这时主库传输过来的日志会先归档处理6.其他的一些概念redo 数据(redo Data)Data Guard 主库传输的的redo数据包括 online redo log 以及archive redo log如备库未建立standby redo log,则会传输archive redo log至备库standby redo logstandby redo log是备库用来接收主库传过来的online redo 数据的最大性能模式下是可选的但Oracle强烈建议无论什么模式都需要建立standby redo log,原来后面介绍ADGOracle 11g提供的新功能可以使物理备库在只读的状态下同时应用redo数据好了,关于Data Guard相关的概念就这么多了,下面的一节将介绍基本参数。
ORACLE-11G-搭建DATAGUARD步骤
ORACLE-11G-搭建DATAGUARD步骤ORACLE 11G 搭建DATAGUARD步骤1安装环境在主机1上安装数据库软件,并建监听和实例,在主机2上安装数据库软件,并建监听,但不建实例。
2主数据库配置2.1设置数据库强制归档sqlplus / as sysdbaSQL> ALTER DATABASE FORCE LOGGING;SQL> select force_logging from v$database;FOR---YES2.2添加STANDBY日志文件SQL>alter database add standby logfile group 4 ('/oradata/dbtest/redo04.log') size 50m;SQL>alter database add standby logfile group 5 ('/oradata/dbtest/redo05.log') size 50m;SQL>alter database add standby logfile group 6 ('/oradata/dbtest/redo06.log') size 50m;SQL>alter database add standby logfile group 7 ('/oradata/dbtest/redo07.log') size 50m;SQL> select * from v$logfile order by 1;2.3修改参数文件2.3.1生成pfileSQL>create pfile from spfile;SQL>shutdown immediate;2.3.2修改pfilevi $ORACLE_HOME/dbs/initdbtest.ora在最后添加如下容:*.db_unique_name=dbtest1*.fal_server='dbtest2'*.fal_client='dbtest1'*.standby_file_management=auto*.db_file_name_convert='/oradata/dbtest/','/oradata/dbtest /'*.log_file_name_convert='/oradata/dbtest/','/oradata/dbtest /'*.log_archive_config='dg_config=(dbtest1,dbtest2)'*.log_archive_dest_2='service=dbtest2 LGWR SYNC AFFIRM valid_for=(online_logfiles,primary_role)db_unique_name=dbtest2'*.log_archive_dest_state_2='ENABLE'2.3.3生成spfileSQL> shutdown immediate[oracledbserver01 ~]$ cd $ORACLE_HOME/dbs[oracledbserver01 dbs]$ mv spfilejkfwdb.ora spfilejkfwdb.ora.bakSQL> startup nomountSQL> create spfile from pfile;File created.SQL> show parameter uniqSQL> shutdown immediate;SQL> startupSQL> show parameter spfile2.4修改监听配置文件2.5修改TNS配置文件[oracledg1 admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/db_1/network/admin/tnsna mes.ora # Generated by Oracle configuration tools.DBTEST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.3)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbtest1)))DBTEST1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.3)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbtest1)))DBTEST2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.4)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbtest2)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))2.6重启监听服务lsnrctl stoplsnrctl start2.7配置最大可用模式SQL> alter database set standby database to maximizeavailability;Database altered.SQL> exit2.8备份数据库[oracledg1 admin]$ rman target /RMAN> backup database plus archivelog;RMAN> backup current controlfile for standby;RMAN> exit备份完成后会在闪回区生产备份文件3备数据库配置3.1建立相应的文件目录包括dump文件目录,闪回区,数据文件目录,可以通过show parameter dest 命令查看mkdir -p /oracle/app/oracle/admin/dbtest/adumpmkdir -p /oracle/app/oracle/admin/dbtest/dpdumpmkdir -p /oracle/app/oracle/diag/rdbms/dbtest1/dbtest/trace mkdir -p /oracle/app/oracle/diag/rdbms/dbtest1/dbtest/cdump mkdir -p /oracle/app/oracle/flash_recovery_areamkdir -p /oradata/dbtest3.2从主数据库服务器上拷贝文件注意:下面命令在主数据库上执行3.2.1拷贝闪回区容[oracledg1 admin]$ cd /oracle/app/oracle/flash_recovery_areascp -r ./* 192.168.132.4:/oracle/app/oracle/flash_recovery_area/ 3.2.2拷贝参数文件[oracledg1 flash_recovery_area]$ cd $ORACLE_HOME/dbsscp ./* 192.168.132.4:/oracle/app/oracle/product/11.2.0/db_1/dbs/ 3.2.3拷贝密码文件3.2.4拷贝监听文件和tns文件[oracledg1 dbs]$ cd ../network/admin/scp *.ora192.168.132.4:/oracle/app/oracle/product/11.2.0/db_1/netw ork/admin/ 3.3修改监听配置文件修改ip地址3.4修改TNS配置文件修改ip地址3.5重启监听服务lsnrctl stoplsnrctl start3.6修改参数文件并启动数据库到nomountCd $ORACLE_HOME/dbsCp initdbtest.ora initdbtest.ora.bakvi $ORACLE_HOME/dbs/initdbtest.ora去掉上面添加的部分即:*.db_unique_name=dbtest1*.fal_server='dbtest2'*.fal_client='dbtest1'……3.7恢复数据库[oracledg2 admin]$ rman target sys/funo1234dbtest1 auxiliary / RMAN> duplicate target database for standby nofilenamecheck;RMAN> exit3.8修改参数文件[oracledg2 admin]$ sqlplus / as sysdbaSQL> shutdown immediate;vi $ORACLE_HOME/dbs/initdbtest.ora添加如下容*.db_unique_name=dbtest2SQL> create spfile from pfile;3.9启动数据库SQL> startup nomount;SQL> alter database mount standby database;SQL> alter database recover managed standby database using current logfile disconnect from session;3.10验证主库备库均执行如下命令:SQL> archive log list;主库备库如果最后一行数字相同,说明配置成功3.11切换到只读模式SQL> alter database recover managed standby database cancel;SQL> alter database open read only;3.12切换到同步模式(不需要停库)SQL> alter database recover managed standby database using current logfiledisconnect from session;。
Oracle11g_DataGuard配置方案
Oracle Data Guard 实施与维护方案1.项目背景介绍在2台RedHat5.4上使用ORACLE 的DataGuard组件实现容灾。
设备配置(VMWare虚拟机环境)清单如下:2.Oracle DataGuard 介绍备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH AVAILABLE)数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。
●STANDBY DATABASE的类型:有两种类型的STANDBY:物理STANDBY和逻辑STANDBY两种类型的工作原理可通过如下图来说明:physical standby提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。
它是可以直接应用REDO实现同步的。
l ogical standby则不是这样,在logical standby中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。
逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表,但其数据库用户相关对象均需要有主键。
✧本次实施将选择物理STANDBY(physical standby)方式●对主库的保护模式可以有以下三种模式:–Maximum protection (最高保护)–Maximum availability (最高可用性)–Maximum performance (最高性能)✧基于项目应用的特征及需求,本项目比较适合采用Maximum availability (最高可用性)模式实施。
3.Dataguard 实施前提条件和注意事项:●灾备环境中的所有节点必须安装相同的操作系统,尽可能令详细补丁也保持相同。
●灾备环境中的所有节点必须安装完全相同版本的Oracle数据库软件,包括版本号和发布号,比如必须都是Oracle 11.2.0.1●主库必须处于归档(ARCHIVELOG)模式。
oracle Dataguard配置详细步骤
如果你想在备库进行备份,并同时备份归档日志的话,必须使用 all_logfiles。
2)配置重做日志到备库
alter system set log_archive_dest_2='SERVICE=orcldg lgwr sync valid_for=(online_logfile,primary_role)
************************************************************************************
六、闪回数据库
建议开始闪回特性
1)配置闪回恢复区
查询:
show parameter db_recovery_file_dest
)
)
LISTENER =
(DESCRIPTION_LIST = (DESCFra bibliotekIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primaryDB)(PORT = 1521))
)
)
****************************************************************************************
三、创建standby logfiles
1.standby logfiles的大小和redo logfiles一样
2.standby redo日志文件组数比primary数据库的online redo日志组数至少多一个
2)配置tnsnames
#vi $ORACLE_HOME/network/admin/tnsnames.ora
oracle adg同步原理
oracle adg同步原理Oracle ADG同步原理是指解决在Oracle多节点集群环境下发生宕机或数据丢失时,如何在备库上保证经过验证的数据完整性。
该问题主要通过Active Data Guard (ADG)进行解决。
下面将分步骤阐述Oracle ADG同步原理。
步骤一:启用Active Data Guard(ADG)Active Data Guard 是Oracle数据库的一个附加功能,用于启用物理备库用于读取。
在ADG中,备库会实时复制主库的数据。
此外,主库可以与备库进行同步,以确保备库中的数据始终与主库中的数据一致。
步骤二:同步数据当主库上进行更改时,这些更改将立即提交到备库。
ActiveData Guard能够将同步和应用更改的速度提高到每秒钟100次以上。
这样,即使在主库上发生宕机或其他数据丢失情况时,备库中的数据也是最新的。
步骤三:验证数据完整性Oracle ADG同步原理的关键在于验证备库中的数据完整性。
为了确保数据完整性,Oracle数据库使用了Redo Apply进程。
Redo Apply 进程将Redo日志中的更改应用到备库中,从而使数据的副本始终与主库保持一致。
Oracle还使用了日志挂起和重新启动、全局事务管理等技术来保证数据完整性。
步骤四:监控备库在ADG中,备库需要时刻处于就绪状态,以应对可能发生的宕机或其他故障。
为了保证备库的稳定性和可用性,需要使用监控系统来检测备库的运行状态。
如果发现备库出现问题,则需要尽快修复,以确保其稳定性和可用性。
总结:以上便是Oracle ADG同步原理的步骤描述。
Oracle ADG同步原理通过启用Active Data Guard,同步数据、验证数据完整性和监控备库的方式来确保Oracle多节点集群环境下的可用性和稳定性。
通过这种方式,即使在主库发生宕机或其他数据丢失情况下,Oracle数据库仍然能够保持高可用性和稳定性,从而有效地解决了这一问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracl e DataGuard数据同步技术及配置详解一、DataGuard数据同步技术DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。
DataGuard提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。
在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。
最大性能模式:这种模式是默认的数据保护模式,在不影响源数据库性能的条件下提供尽可能高的数据保护等级。
在该种模式下,一旦日志数据写到源数据库的联机日志文件,事务即可提交,不必等待日志写到目标数据库,如果网络带宽充足,该种模式可提供类似于最大可用模式的数据保护等级。
最大保护模式:在这种模式下,日志数据必须同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交。
这种模式可确保数据零丢失,但代价是源数据库的可用性,一旦日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库将会被关闭。
这也是目前市场上唯一的一种可确保数据零丢失的数据同步解决方案。
最大可用模式:这种模式在不牺牲源数据库可用性的条件下提供了尽可能高的数据保护等级。
与最大保护模式一样,日志数据需同时写到源数据库的联机日志文件和至少一个目标库的备用日志文件(standby redo log),事务才能提交,与最大保护模式不同的是,如果日志数据不能写到至少一个目标库的备用日志文件(standby redo log),源数据库不会被关闭,而是运行在最大性能模式下,待故障解决并将延迟的日志成功应用在目标库上以后,源数据库将会自动回到最大可用模式下。
根据在目标库上日志应用(Log Apply)方式的不同,DataGuard可分为Physical Standby(Redo Apply)和Logical Standby(SQL Apply)两种。
Physical Standby数据库,在这种方式下,目标库通过介质恢复的方式保持与源数据库同步,这种方式支持任何类型的数据对象和数据类型,一些对数据库物理结构的操作如数据文件的添加,删除等也可支持。
如果需要,Physical Standby 数据库可以只读方式打开,用于报表查询、数据校验等操作,待这些操作完成后再将数据库置于日志应用模式下。
Logical Standby数据库,在这种方式下,目标库处于打开状态,通过LogMiner 挖掘从源数据库传输过来的日志,构造成SQL语句,然后在目标库上执行这些SQL,使之与源数据库保持同步。
由于数据库处于打开状态,因此可以在SQL Apply更新数据库的同时将原来在源数据库上执行的一些查询、报表等操作放到目标库上来执行,以减轻源数据库的压力,提高其性能。
DataGuard数据同步技术有以下优势:1)Oracle数据库自身内置的功能,与每个Oracle新版本的新特性(如ASM)都完全兼容,且不需要另外付费;2)配置管理较简单,不需要熟悉其他第三方的软件产品;3)Physical Standby数据库支持任何类型的数据对象和数据类型;4)Logical Standby数据库处于打开状态,可以在保持数据同步的同时执行查询等操作;5)在最大保护模式下,可确保数据的零丢失;DataGuard数据同步技术的劣势体现在以下几个方面:1)由于传输整个日志文件,因此需要较高的网络传输带宽;2)Physical Standby数据库虽然可以只读方式打开,然后做些查询、报表等操作,但需要停止应用日志,这将使目标库与源数据不能保持同步,如果在此期间源数据库发生故障,将延长切换的时间;3)Logical Standby数据库不能支持某些特定的数据对象和数据类型;4)不支持一对多复制,不支持双向复制,因此无法应用于信息集成的场合;5)只能复制整个数据库,不能选择某个schema或表空间进行单独复制;6)不支持异构的系统环境,需要相同的操作系统版本和数据库版本;DataGuard技术是Oracle推荐的用于高可用灾难恢复环境的数据同步技术。
二、ORACLE Dataguard配置步骤说明:主服务器dbsrv1(10.55.88.1),standby服务器dbsrv2(10.55.88.2),两台机器都安装相同版本的数据库,安装在相同位置,安装时都不创建数据库,本例中数据库都安装在d:\oracle下,数据库版本oracle 9.2.0.11. 在dbsrv1用dbca(数据库创建助手)创建一个归档数据库2. 设置主节点为force Logging模式(为了双向切换,建议备用节点也设置为force logging模式)具体做法:sqlplus /nologconnect / as sysdba;ALTER DATABASE FORCE LOGGING;3. 生成备用数据库控制文件和主库pfile文件具体做法:alter database create standby controlfile as 'd:\oracle\standby.ctl';create pfile='d:\oracle\init.ora' from spfile;关闭主数据库:shutdown immediate;备份控制文件,数据文件以及参数文件:控制文件和数据库文件一般在oradata下的WDS文件夹下(备份整个WDS文件夹),参数文件在oraclehome的ora92下的database子目录下名称为spfileWDS.ora.4. 登陆备份节点,进行数据库恢复,拷贝备用数据库控制文件和主库pfile文件具体做法:(在备机的ORACLE目录下先建好ADMIN和ORADATA两个目录)copy控制文件,数据文件以及参数文件到dbsrv2上,拷贝后要清除ARCHIVE目录下的文件。
将新生成的standby.ctl和init.ora也拷贝到dbsrv2将,standby.ctl放置在d:\oracle\oradata\WDS\下,init.ora文件放在d:\ORACLE目录下。
(注意一定要在主和备数据库关闭状态下做这些文件的拷贝,否则拷贝出来的文件将是无效的)copy d:\oracle\admin\wds\*.* 目录拷贝到备机的相应目录下,并删除子目录里面的文件。
5. 编辑copy到dbsrv2的init.ora文件,增加*.standby_archive_dest='d:\oracle\oradata\wds\archive'*.fal_server='wds'*.fal_client='wds_standby'*.standby_file_management=auto*.remote_archive_enable=TRUE同时修改*.control_files='d:\oracle\oradata\WDS\standby.ctl'6. 配置主节点上的Listener.ora及tnsnames.ora文件Listener.ora(在D:\oracle\ora92\network\admin下)# LISTENER.ORA Network Configuration File: d:\oracle\ora92\network\admin\listener.ora# Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1)(PORT = 1521)))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = d:\oracle\ora92)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = WDS)(ORACLE_HOME = d:\oracle\ora92)(SID_NAME = WDS)))Tnsname.ora(在D:\oracle\ora92\network\admin下)# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.ora # Generated by Oracle configuration tools.WDS =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv1)(PORT = 1521)))(CONNECT_DA TA =(SERVER = DEDICATED)(SERVICE_NAME = WDS)))WDS_STANDBY =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv2)(PORT = 1521)))(CONNECT_DA TA =(SERVICE_NAME = WDS)))(注意删除结尾处的空格)改好以后将这两个文件拷贝到备机的相应文件夹下。
7. 配置备机上的standby点监听器及tnsnames.ora文件# LISTENER.ORA Network Configuration File: d:\oracle\ora92\network\admin\listener.ora # Generated by Oracle configuration tools.LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = dbsrv2)(PORT = 1521)))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = d:\oracle\ora92)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = WDS)(ORACLE_HOME = d:\oracle\ora92)(SID_NAME = WDS)))Tnsnames.ora和主节点一样8.重建密码文件到命令行:orapwd file=d:\oracle\ora92\\database\pwdwds.ora password=narisq entries=5在dbsrv2上用oradim重建wds服务Oradim –new –sid WDS –usrpwd narisq在命令行输入LSNRCTL命令,用START启动监听器sqlplus /nologSQL>conn sys/narisq@wds_standby as sysdbaSQL>create spfile from pfile='d:\oracle\init.ora';注意:将控制文件放到init.ora中指定的目录SQL> startup nomount;SQL> alter database mount standby database;SQL> shutdown immediate;SQL> startup nomount;SQL> alter database mount standby database;SQL> alter database recover managed standby database disconnect from session;数据库处于管理恢复模式下9. 在dbsrv1上设置归档路径SQL> startup;SQL> alter system set log_archive_dest_2='service=wds_standby LGWR reopen=60' scope=both; (修改内存和spfile文件中该参数的值)SQL> alter system switch logfile;SQL> /在备用节点观察日志,看是否主节点的归档日志同时归档到备节点上。