oracle11g dg方案

合集下载

oracle11g双机热备方案

oracle11g双机热备方案

oracle11g双机热备方案Oracle 11g双机热备方案随着企业对数据可靠性和高可用性的需求越来越高,数据库热备方案成为了重要的考虑因素之一。

Oracle 11g提供了一种高效的双机热备方案,能够实现主机到备机的实时数据同步和快速故障转移。

本文将介绍如何实施Oracle 11g双机热备方案。

1. 概述Oracle 11g双机热备方案通过使用Data Guard技术实现。

Data Guard 是Oracle数据库的可选组件,它提供了可靠的数据保护、高可用性和故障转移能力。

通过主备关系,可以实现主机与备机之间的数据同步,以及在主机宕机时自动切换到备机。

2. 硬件和网络要求在实施双机热备方案之前,需要确保主备服务器之间的网络连接稳定可靠。

另外,为了保证数据同步的效率,建议主备机具备相同的硬件配置,包括CPU、内存和存储。

3. 配置主备服务器首先,在主服务器上创建一个主要数据库实例,配置主库参数文件(init.ora)和监听器(listener.ora)。

然后,在备服务器上创建一个备库实例,同样配置备库参数文件和监听器。

确保主服务器和备服务器之间可以相互访问。

4. 配置数据同步配置主备服务器之后,需要设置主备关系,开始数据同步。

在主服务器上创建一个备用数据库,即填写一个备机标识符,然后将主数据库的归档日志传输到备机。

可以通过Data Guard Broker工具来自动管理主备关系和数据同步。

5. 监控与故障转移在正常运行时,可以通过Data Guard Broker监控主备服务器的状态,包括数据同步进度和网络延迟等。

当主服务器发生故障无法正常工作时,可以手动或自动切换到备服务器。

在切换过程中,需要确保数据文件和控制文件的一致性,以及及时地恢复日志文件。

6. 测试与维护为了确保Oracle 11g双机热备方案的可靠性,需要进行定期的测试和维护工作。

可以通过模拟故障情况来测试备机的可用性和数据恢复能力。

11G_RAC_DG环境配置以及维护文档

11G_RAC_DG环境配置以及维护文档

11G_RAC_DG环境配置以及维护文档Oracle_rac_11g下的DG搭建与维护一.DG基础知识介绍1.Data Guard结构Data Guard是一个集合,由一个Primary数据库(生产数据库)及一个或多个Standby数据库(最多9个Standby)组成。

组成Data Guard的各个Oracle数据库之间,通过Oracle的网络服务名(Net Service Name)连接,并且有可能分布于不同地域,实际上只要各库之间能够相互通信,它们的物理位置并没有什么限制,至于操作系统就更无所谓了(某些情况下),只要支持安装Oracle数据库软件就行了。

1.Primary 数据库Primary数据库在某些资料中也被称为主数据库,相同Data Guard环境中至少要包含一个并且仅能有一个Primary数据库,实际上就是产生修改操作,并负责将这些操作传输到其他服务器的主数据库,该库既可以是单实例主数据库,也可以是RAC结构。

2.Standby 数据库Standby数据库在某些资料中也被称为从数据库,或者备数据库。

Standby数据库可以视作Primary数据库在某个时间点时的备份(事务上一致)。

在同一套Data Guard配置中最多可以创建9个Standby数据库。

一旦创建完成,Data Guard通过在Standby数据库端,应用Primary数据库生成的重做记录(REDO数据)的方式,自动维护每一个Standby数据库。

Standby数据库同样既可以是单实例数据库,也可以是RAC结构。

Standby数据库通常分两类:逻辑Standby和物理Standby,如何区分?两类各有什么特点?如何搭建?这方面内容在后续章节会主要介绍,在这里呢三思先简单白活一下。

逻辑Standby。

就像请人帮你素描画像,基本器官是都会有的,这点你放心,但是各器官位置啦,大小啦,肤色啦,就不一定跟你本人一致了。

具体到数据库,就是说内容可能相同,但结构可能有差异。

数据库读写分离解决方案--DG实施方案

数据库读写分离解决方案--DG实施方案

数据库读写分离解决方案----oracle 11G ADG实施方案1.项目背景介绍1.1目的通过DG实现主库与备库同步,主库作为业务应用库,备库作为查询库,应用根据不同需求配置对应数据库;1.2测试环境在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 实施前提条件和注意事项:●灾备环境中的所有节点必须安装相同的操作系统,尽可能令详细补丁也保持相同。

Oracle11g搭建DG(ADG方式)

Oracle11g搭建DG(ADG方式)

Oracle11g搭建DG(ADG⽅式)1.准备⼯作系统版本: Red Hat Enterprise Linux 6.5(64位)软件版本:Oracle Database 11g Release 2 (11.2.0.4)⾸先得准备两个能够PING通,并且装了Oracle软件且已经建库的Linux虚拟机。

操作系统不限,⾄少有⼀个虚拟机已经建好库,最好两个都建好相同SID的库,这样少很多创建⽬录的⿇烦,这⾥库的SID都是blockOra,Linux严格区分⼤⼩写,所以SID的⼤⼩写得注意。

我这⾥有两个名为dgmaster和standby的Linux虚拟机172.16.7.193 dgmaster(主库)172.16.7.194 standby (备库)2.在主库进⾏操作2.1强制force logging修改数据库为强制记⽇志,这是必须的操作,主库的每⼀步操作都得记录到⽇志中去。

SQL>shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 1653518336 bytesFixed Size 2253784 bytesVariable Size 1006636072 bytesDatabase Buffers 637534208 bytesRedo Buffers 7094272 bytesDatabase mounted.SQL>alter database force logging;Database altered.2.2开启主库的归档模式修改数据库为归档模式,因为dg是通过传送归档⽇志到备库然后应⽤来保证主备库⼀致的。

SQL>alter database archivelog;Database altered.2.3创建standby redo logALTER DATABASE ADD STANDBY LOGFILE GROUP5 ('/u01/oradata/blockOra/stredo05.log') size 200M;ALTER DATABASE ADD STANDBY LOGFILE GROUP6 ('/u01/oradata/blockOra/stredo06.log') size 200M;ALTER DATABASE ADD STANDBY LOGFILE GROUP7 ('/u01/oradata/blockOra/stredo07.log') size 200M;ALTER DATABASE ADD STANDBY LOGFILE GROUP8 ('/u01/oradata/blockOra/stredo08.log') size 200M;ALTER DATABASE ADD STANDBY LOGFILE GROUP9 ('/u01/oradata/blockOra/stredo09.log') size 200M;standby redo log多少组才合理单机情况下所有redo_log组数+1RAC环境下所有redo log组数+实例数正常情况下,⼀般每个实例的redo log组数⽬是⼀样的,⽐如为你,则standbby redo log组数为(n+1)*thread假如有个rac共三个实例,每个实例都是3个log组,那么如果要做dg的standby log要增加12个standby loggroup(3+1)*3=12假如有个rac共三个实例,实例1有3个log组,实例2有4个log组,实例3有5个log组,总共有12个log组,那么如果要做dg的standby log要增加15个standby loggroup所有redo log组数+实例数=(3+4+5)+3=152.4创建pfile这⾥创建pfile是为了做⼀些主库参数的配置,并且还得拷贝到备库再次修改成备库的配置。

oracle dg实施方案

oracle dg实施方案

oracle dg实施方案Oracle DG实施方案在当今信息化时代,数据安全备份和灾难恢复已经成为企业信息化建设中不可或缺的一部分。

Oracle DG(Data Guard)作为Oracle数据库的一项重要功能,为企业提供了可靠的数据保护和灾难恢复方案。

本文将围绕Oracle DG实施方案展开讨论,为大家介绍Oracle DG的基本原理、实施步骤和注意事项。

首先,我们需要了解Oracle DG的基本原理。

Oracle DG是一种基于物理复制的数据保护和灾难恢复解决方案,通过将主数据库的变更记录传输到备库,实现了主备数据库之间的数据同步。

当主数据库发生故障时,可以快速切换到备库,实现灾难恢复。

因此,在实施Oracle DG时,需要确保主备数据库之间的网络连接畅通,并且备库的性能要足够强大,能够满足灾难恢复的需求。

其次,我们来介绍Oracle DG的实施步骤。

首先,需要在主数据库和备库上创建必要的归档模式,并确保主备数据库之间能够成功归档日志文件。

接着,需要配置主数据库和备库之间的网络连接,确保能够正常传输变更记录。

然后,需要在主数据库上启用归档日志模式,并将归档日志传输到备库。

最后,需要在备库上配置应用服务,实现数据的实时应用和灾难恢复功能。

在实施Oracle DG时,还需要注意一些事项。

首先,需要定期测试灾难恢复方案,确保备库的数据能够及时恢复。

其次,需要监控主备数据库之间的网络连接和数据同步情况,及时发现并解决问题。

此外,还需要定期对主备数据库进行性能优化,确保灾难恢复的效率和可靠性。

综上所述,Oracle DG作为一种重要的数据保护和灾难恢复解决方案,在企业信息化建设中具有重要的作用。

通过本文的介绍,相信大家对Oracle DG的基本原理、实施步骤和注意事项有了更深入的了解,希望能够为大家在实施Oracle DG时提供一些帮助和参考。

同时,也希望企业能够重视数据安全备份和灾难恢复工作,保障企业信息化建设的顺利进行。

oracle11g dg容灾方案

oracle11g dg容灾方案

Oracle 11g DG(Data Guard)容灾方案简介Oracle Data Guard(DG)是Oracle数据库中提供的一种高可用性和灾备解决方案,旨在保证数据库的持续性和数据安全性。

本文将介绍如何在Oracle 11g中使用DG实现容灾方案,以确保在主数据库发生故障时,能够快速地切换到备用数据库继续提供服务。

方案概述DG容灾方案基于主备两个数据库之间的物理复制和数据同步策略。

主数据库是业务系统的核心,备用数据库则是主数据库的完全复制。

在主数据库与备用数据库之间,通过网络传输将主数据库的日志传递给备用数据库,以便实时地将数据同步到备用数据库中。

当主数据库发生故障时,可以手动或自动切换到备用数据库,从而保证业务的连续性。

环境准备在开始配置DG容灾方案之前,需要满足以下的环境要求:1.主数据库和备用数据库之间可靠的网络连接。

2.主数据库和备用数据库的硬件和操作系统配置相同或兼容。

3.Oracle数据库版本为11g。

步骤一:配置主数据库首先,需要配置主数据库以支持DG。

1.确保主数据库的参数文件(SPFILE)中包含以下配置:LOG_ARCHIVE_DEST_1='LOCATION=/archivelog'LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'LOG_ARCHIVE_MAX_PROCESSES=30LOG_ARCHIVE_MIN_SUCCEED_DEST=1这些参数用于指定归档日志的存储位置和格式。

2.运行以下SQL脚本创建一个需要归档的日志组:ALTER DATABASE ADD LOGFILE GROUP 4 ('/archivelog/log4a.rdo', '/ar chivelog/log4b.rdo') SIZE 50M;3.启用归档模式:ALTER DATABASE ARCHIVELOG;4.切换日志文件:ALTER SYSTEM SWITCH LOGFILE;5.创建主数据库的连接信息:CREATE UNIQUE INDEX LOGSTDBY$INDEX ON LOGSTDBY$ (DEST_ID, THREAD#, SEQUENCE#);步骤二:配置备用数据库接下来,配置备用数据库以实现与主数据库的数据同步。

oracle11g dg容灾方案

oracle11g dg容灾方案

oracle11g dg容灾方案在当今信息化时代,数据的安全性和可用性对一个企业的重要性不言而喻。

为了保障企业数据的连续性和完整性,许多企业都采用了数据库灾备方案。

而Oracle11g提供了可靠的数据保护和灾难恢复机制,其中,DG(Data Guard)容灾方案是一种备受推崇的选择。

一、DG容灾方案简介DG容灾方案是Oracle11g数据库中一项高度可用和可靠的解决方案。

它通过将主数据库的变更在实时或者延时情况下同步到备库,实现数据的持续传输和自动切换,从而提供了数据的高可用性和灾难恢复能力。

二、DG容灾方案的关键组件1. 主数据库(Primary Database):主数据库是业务系统的核心存储,所有的读写操作都在主数据库上完成。

2. 备库(Standby Database):备库作为主数据库的复制,对主数据库的变更进行实时或延时复制。

3. 数据传送服务(Data Transport Service):负责将主数据库上的变更传输到备库中,保证数据的同步性。

4. 重做日志应用服务(Redo Apply Service):在备库上应用主数据库生成的重做日志,保证备库与主库的数据一致性。

5. 重做日志传送服务(Redo Transport Service):负责将主数据库生成的重做日志传输到备库,以确保备库可以按照变更进行恢复。

三、DG容灾方案的部署模式1. 最大保护模式(Maximum Protection Mode):在该模式下,主库在提交事务之前必须确保重做日志已经传输到备库并应用成功,确保了零数据丢失。

2. 最大可用模式(Maximum Availability Mode):该模式下,主库在提交事务之前必须确保重做日志已经传输到备库,但无需等待重做日志应用成功,从而实现了零数据丢失和最小的性能影响。

3. 最大性能模式(Maximum Performance Mode):在该模式下,主库提交事务后无需等待重做日志传输到备库,从而提高了主库的性能,但会增加一定的数据丢失风险。

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 辅助数据库配置在辅助数据库上配置逻辑复制,需要执行以下步骤:•创建逻辑复制所需的逻辑连接和组织形式•启用逻辑复制服务首先,我们需要创建逻辑复制所需的逻辑连接和组织形式,以确保辅助数据库可以与主数据库进行通信,并接收和同步数据。

DG-11G新特性说明

DG-11G新特性说明

首先, 可以从活动主库构建物理备库是非常简单。

此外, 将物理备库转换为逻辑数据库也是轻而易举。

而最大的优势是, 现在, 可以高效地使用备库通过某种方式来支持业务。

Active DataGuard特性允许打开备库, 在进行查询的同时应用归档的日志。

快照备库允许在其中运行生产数据库负载, 然后闪回到起始点, 继续正常的管理器恢复进程. 这两个特性使用户能够利用备库服务器的处理功能, 极大地推动了到11g 的升级。

物理备库新特点1) 物理备库可实时查询都知道11g以前的物理备库, 可以是只读方式打开数据库, 但是这时Media Recovery(Redo Apply)过程就停止了, 如果备库处于恢复的过程那么数据库就不能打开, 11g解决了这个矛盾, 恢复的同时可以只读打开数据库, 这有点类似逻辑备库的功能。

这样可以更大发挥物理备库的作用(比如对于实时要求比较高的报表服务).2) 加快备库备份的速度在Oracle10g引入了Block Tracking技术, 来监控那些数据库是上次增量备份以来修改了的, 这样可以加快增量备份的数度, 但是这个功能只能在主库上有效, 在备库是不支持这个功能的, Oracle11g解决了这个问题, 备库的备份也支持Block Tracking, 这样用户可以在备库上面快速执行备份, 减轻主库负载。

3) 快照备库就是允许物理备库以读写模式打开, 但是同时没有破坏它作为备库的功能, 这个特性可以用来在物理备库上面执行某些测试, 等测试完成, 把数据库再置为物理备库. 当然在备库以读写方式打开的时候它只能接收主库传过来的Redo, 但是不能应用这些Redo. 实际上因为就是在备库上使用了Flashback技术来实现这个功能.4) 提高Redo Apply的性能Oracle11g可以利用并行技术来进行Redo Apply, 提高恢复的速度.逻辑备库新特点1) 支持的数据类型更多了XMLType data type(CLOB存储)2) 支持下面 O racle包和数据加密DBMS_FGA(Fine Grained Auditing)DBMS_RLS(Virtual Private Database)实际上就是支持在逻辑备库上面支持精细的审计功能和虚拟数据库功能Transparent Data Encryption(TDE)的支持备库上面支持并行DDL3) Fast-Start Failover更快速执行失败切换 , 更精细控制触发Failover的事件 , 比如可以根据某个ORA的错误号来发出切换 .4) 可动态修改的参数在运行逻辑备库环境的过程中, 需要调整该过程并修改一些参数值. 在Oracle11g中, 这些参数中的大部分可以在线更新。

oracle dg 方案

oracle dg 方案

oracle dg 方案Oracle DG (Data Guard) 方案随着数据量的爆炸增长和企业对数据安全性和可用性的要求越来越高,数据库高可用性解决方案变得越来越重要。

Oracle DG (Data Guard)方案被广泛应用于保障数据库的高可用性、灾难恢复和数据保护。

1. 什么是Oracle DG(Data Guard)方案?Oracle DG(Data Guard)是Oracle数据库提供的一种数据保护和高可用性解决方案。

它通过将主数据库的变更流(Redo Log)传输到一个或多个备用数据库,提供了实时的数据备份和复制。

一旦主数据库发生故障,备用数据库可以快速切换为主数据库,实现无感知的故障切换。

2. Oracle DG方案的工作原理Oracle DG方案主要通过三个关键组件实现高可用性和数据保护:主数据库、备用数据库和Redo传输机制。

主数据库用于处理用户的读写请求,生成Redo Log,并将其传输到备用数据库。

备用数据库通过应用主数据库的Redo Log,实时同步数据。

3. Oracle DG方案的优势(1)高可用性:Oracle DG方案可以实现自动故障切换,降低系统停机时间,确保业务连续性。

当主数据库发生故障时,备用数据库可以立即接管。

(2)数据保护:通过实时传输主数据库的Redo Log,Oracle DG方案提供了可靠的数据保护。

即使主数据库发生灾难性故障,备用数据库也可以快速恢复数据。

(3)灾难恢复:Oracle DG可以将备用数据库部署在远程地点,以实现异地灾难恢复。

当主数据中心遭受自然灾害等严重破坏时,备用数据库可以恢复服务,保障业务的持续运行。

4. Oracle DG的几种模式Oracle DG方案可以根据数据库同步方式的不同分为三个模式:最大性能模式、最大可用性模式和最大保护模式。

(1)最大性能模式:主数据库将Redo Log传输给备用数据库,不等待其确认。

这种模式下,主数据库的性能最高,适用于对数据延迟要求较高,可承受一定数据损失的应用场景。

DG_11g_CN[1]

DG_11g_CN[1]
17
Data Guard SQL 应用
额外的索引 &物化视图
主数据库
Data Guard Broker
逻辑备用数据库 转换 Redo 到SQL并且应用
读写方式打开
网络 Redo 传输 备用 Redo Logs


逻辑备用数据库是一个开放,独立的以及活动的数据库 包括了和生产数据库相同的逻辑信息 物理的结构和架构可以不同 可以支持多个的方案对象 当重做数据通过SQL进行应用的时候可以进行报表查询 可以成生额外的索引和物化视图以获得更好的查询性能
Analyzer
19
Data Guard 11g
应用性能对比 • 重做应用 – 物理备用
• OLTP 提高到 50 MB/秒 • 直接路径负载提高到 115 MB/秒
• SQL 应用 – 逻辑备用
• OLTP 工作负载提高到 5 MB/秒 • LOB 插入提高到 30 MB/秒 • 包括了大型事务的SQL应用优化 • 备用数据库上的一组或者批量的DML操作转换为单列的DML • 在主数据库上并行DML,在备用数据库上连续的应用 • 负载, 并行DML的必要调优
SQL 应用
8
Data Guard 传输服务
概述
主数据库
1
备份数据库
同步或异步
内存中的数据库实例
3
内存中的数据库实例
2
Oracle 数据文件
自动故障解决 恢复数据 恢复数据
Oracle 数据文件 4
9
Data Guard 11g 流程架构
同步的Redo传输(SYNC)– 零数据丢失
用户事务
在线 Redo Logs
Redo Buffer SGA

oracle 11g数据库参数及指标

oracle 11g数据库参数及指标

oracle 11g数据库参数及指标Oracle 11g数据库参数及指标Oracle 11g是一种功能强大的关系型数据库管理系统,通过合理设置数据库参数和监控关键指标,可以提高数据库的性能和稳定性。

在本文中,我们将讨论一些重要的Oracle 11g数据库参数及指标,并探讨它们的作用和优化方法。

数据库参数是控制数据库行为的设置,它们可以影响数据库的性能、安全性和可用性。

在Oracle 11g中,有许多重要的数据库参数需要重点关注。

其中,一些关键的参数包括SGA大小、PGA大小、日志文件大小、并行处理器数量等。

SGA(System Global Area)是Oracle数据库中的一个重要参数,它包含了数据库实例运行时所需要的共享内存结构。

通过适当调整SGA的大小,可以提高数据库的整体性能。

通常情况下,应根据实际需求和硬件配置来动态调整SGA的大小,以达到最佳性能。

PGA(Program Global Area)是每个数据库会话独立使用的内存区域,它包含了会话私有的内存结构。

合理设置PGA的大小可以有效控制数据库会话的内存消耗,避免内存不足导致的性能问题。

日志文件大小也是一个需要重点关注的参数。

日志文件用于记录数据库中的变更操作,对数据库恢复和故障恢复非常重要。

如果日志文件过小,可能会导致频繁的日志切换和性能下降;如果日志文件过大,可能会浪费存储空间。

因此,应根据数据库的写入速度和变更频率来合理设置日志文件大小。

除了数据库参数外,监控关键指标也是提高数据库性能的重要手段。

一些重要的数据库指标包括IOPS(每秒输入/输出操作数)、查询响应时间、锁定等待时间等。

IOPS是衡量存储性能的重要指标,它代表了存储系统每秒能够处理的输入/输出操作数量。

通过监控IOPS,可以了解存储系统的性能瓶颈,并采取相应的优化措施,提高数据库的读写性能。

查询响应时间是衡量数据库性能的重要指标之一,它代表了数据库处理查询请求所需的时间。

ORACLE11gR2 RAC集群+单实例DG安装部署配置

ORACLE11gR2 RAC集群+单实例DG安装部署配置

ORACLE 11gR2 RAC集群+单实例DG安装部署配置方案1 参考集群规划1.1硬件环境主库RAC:服务器2台:分别为32核CPU、128G内存双网卡*2 。

共享存储:2T备库单机:服务器1台:为32核CPU、128G内存。

存储:2T1.2软件环境数据库:linux.x64_11gR2集群件:linux.x64_11gR2_grid操作系统:rhel 6.9数据库版本:oracle 11.2.0.4.01.3IP及存储规则每个节点一个public IP每个节点一个public VIP每个节点一个private IP心跳private ip走私有网段,public走公用网段,网段不能相同, Public IP、Virtual IP、SCAN IP必须配置在同一网段。

2RAC主库安装实施2.1 主机环境准备2.1.1 操作系统安装分别在两个节点安装rhel6.9 x86_64位操作系统Root密码:wyq19851215--a2.1.2 服务器内存要求Swap大小:当内存为2.5GB-16GB时,Swap需要大于等于系统内存。

当内存大于16GB时,Swap等于16GB即可。

128内存建议为64或者128.配置方法:1、以下的操作都要在root用户下进行,首先先建立一个分区,采用如下命令创建512M 的swap文件(1024 * 512MB = 524288)。

dd if=/dev/zero of=/swapfile1 bs=1024 count=41943042、接着再把这个分区变成swap分区。

/sbin/mkswap /swapfile13、使用这个swap分区。

使其成为有效状态。

/sbin/swapon /swapfile14、设置系统自激活交换文件。

编辑 /etc/fstab文件,并增加如下第二行代码。

vi /etc/fstab/swapfile1 swap swap defaults 0 0你就会发现你的机器自动启动以后swap空间也增大了。

ODG介绍

ODG介绍

DG是dataguard,也叫standby,是oracle提供的一种容灾解决方案,只有企业版可用,标准版是不能用的,DG最多可以有一个主节点,9个从节点。

可分为逻辑和物理两类,这里注意区分一下,逻辑的是通过redo转换成SQL语句,然后再standby上执行该SQL语句实现的同步,物理standby是接受主节点的redo数据后,以介质恢复的方式进行同步,这是这两者的本质区别。

物理standby只能read only打开,此时只接受redo,不应用redo。

应用redo,就不能打开。

11G,可以以open read only模式打开,继续应用redo.所以大部分时间,物理standby 都是在mount状态。

逻辑standby正常情况下就是read write模式,而且由于是应用sql语句实现同步,所以物理结构可以不一致。

Oracle11gr2RAC到单实例的DG搭建(落地备份)

Oracle11gr2RAC到单实例的DG搭建(落地备份)

Oracle11gr2RAC到单实例的DG搭建(落地备份)⼀、实施⽅案这⼏天给客户的Oracle 11gr2 RAC搭建到单实例的DG,整理了⼀下步骤,理清⼀下思路,⽂中敏感信息已做模糊处理。

RAC⾄单实例的Dataguard为双节点各⾃传递⾃⼰当前线程的归档⾄备库。

由于节点1存储不⾜,备份在节点2上跑。

整体搭建思路如下:备库⽂件⽬录创建à主库force logging(已是归档模式)à备份节点⼆à复制节点⼆⼝令⽂件à创建备库pfileà创建备库à恢复备库à创建主备standby logfileà配置主备监听及TNSà修改主库(节点⼀、节点⼆)参数à打开备库并实时应⽤1.1 主备环境说明Primary Node1Node2Hostname hostname01hostname02Public10.10.10.14110.10.10.143VIP10.10.10.14210.10.10.144SCAN10.10.10.140Instance_name repprod1repprod2DB_name repprodService_names repprodDB_unique_name repprodStorage_mode ASMStandby NodeHostname hostnamedgIP10.10.10.191Instance_name RepproddgDB_name repprodService_names repproddgDB_unique_name repproddgStorage_mode Local disk1.2 ⽂件系统规划Primary Standby+DATADG/repprod/datafile/oradata/datafile+DATADG/repprod/tempfile/oradata/tempfile+ARCDG/repprod/onlinelog/oradata/onlinelog+DATADG/repprod/onlinelog+ARCDG//oradata/arch1.3 实施操作步骤1.3.1 备库存储和⽂件系统创建#standby库上新建各个数据⽂件的存放位置$mkdir -p /oradata/datafile --数据⽂件$mkdir -p /oradata/tempfile --临时⽂件$mkdir -p /oradata/onlinelog --redo⽇志$mkdir -p /oradata/controlfile --控制⽂件$mkdir -p /oradata/arch --归档⽂件#备库为全新安装oracle 11.2.0.4软件,需要⼿⼯建⽴以下⽬录,保持与主库⽬录⼀致。

案例数据库设计(Oracle11g)

案例数据库设计(Oracle11g)
二进制数据类型
01
03 02
Oracle 11g的存储过程和函数
存储过程
01
02
是预编译的SQL语句和PL/SQL代码的集合, 可以接受参数并返回值。
可以用于封装复杂的业务逻辑和操作,提 高代码的可重用性和可维护性。
03
04 函数
是返回单一值的PL/SQL程序单元,可以 接受参数并返回一个值。
05
实施与部署
创建数据库对象,导 入/导出数据,进行 性能优化等。
数据库规范化
第一范式(1NF)
确保每列保持原子性,消除重复组。
第二范式(2NF)
在1NF基础上,消除部分依赖,将数据分解 到相关联的表中。
第三范式(3NF)
在2NF基础上,消除传递依赖,减少数据冗 余。
BCNF范式
更高级的规范化形式,确保表中的函数依赖 都是决定性的和非平凡的。
02
1980年代
Oracle推出适用于大型机的Oracle 3 和Oracle 4。
01
03
1990年代
随着PC的普及,Oracle推出适用于小 型机的Oracle 7和Oracle 8。
2010年代
Oracle推出适用于云端的Oracle 11g, 进一步巩固了其在数据库市场的地位。
05
04
2000年代
03
02
电子商务
支持电子商务平台的快速交易和数 据处理。
政府机构
满足政府部门的海量数据存储和查 询需求。
04
02
数据库设计基础
数据库设计原则
一致性原则
确保数据库中数据的逻辑一致性,避免数据冗余和不一致。
完整性原则
保证数据的准确性和可靠性,防止无效或错误的数据进入数据库。

oracle11g dg方案

oracle11g dg方案

跳归档恢复
• 归档丢失,重建备库
– SELECT CURRENT_SCN FROM V$DATABASE;
• 增量备份 • 同步控制文件 • 数据变化不频繁,恢复过一个丢失半年归档的 数据库 • reset database to incarnation 2;
跳归档恢复
• 主库: • BACKUP INCREMENTAL FROM SCN 2291364 DATABASE FORMAT '/home/oracle/backup_stage/sdataguru_%U' tag 'FORSTANDBY'; • 备份控制文件 • 备库: • 恢复控制文件 • catalog start with '/U01/backup_stage/increment_backup'; • Recover managed standby database cancel; • recover database noredo ; • col CURRENT_SCN format 9999999999999999999999 • SELECT CURRENT_SCN FROM V$DATABASE; • recover managed standby database disconnect from session;
Snapshot Standby
• • • • • • • • 可读可写的备库 切换为Snapshot Standby select database_role,open_mode from v$database; Dgmgrl convert database sdataguru to snapshot standby; SQL Alter database convert to snapshot standby; 切换回Physical Standby dgmgrl convert database sdataguru to physical standby; SQL alter database convert to physical standby; 切换角色之后,需要重启备库

ORACLE11gRAC-RACDGDuplicate搭建(生产操作文档)

ORACLE11gRAC-RACDGDuplicate搭建(生产操作文档)

ORACLE11gRAC-RACDGDuplicate搭建(⽣产操作⽂档)环境:rhel 6.7 64位源库:ORACLE 11204 RAC 未打PSU备库:ORACLE 11204 RAC PSU 20170718⼀、停⽌中间件并做全库备份1、在节点2做全备2、⾸先要规划主、备库db_unique_name主库:备库:============================================================db_name mgrdb db_name mgrdbdb_unique_name mgrdb db_unique_name mgrdbdg============================================================3、vi /etc/hosts 修改主、备共计4个节点=========================================================#主库由于是⽣产系统IP 省略#备库由于是⽣产系统IP 省略============================================================⼆、源库参数设置1、检查源库每个节点⾄少3组redoselect group#,thread#,bytes/1024/1024,members,status from v$log;GROUP# THREAD# BYTES/1024/1024 MEMBERS STATUS---------- ---------- --------------- ---------- ----------------5 1 500 2 INACTIVE6 1 500 2 INACTIVE7 1 500 2 INACTIVE8 1 500 2 CURRENT9 1 500 2 INACTIVE10 1 500 2 INACTIVE11 2 500 2 CURRENT12 2 500 2 INACTIVE13 2 500 2 INACTIVE14 2 500 2 INACTIVE15 2 500 2 INACTIVEGROUP# THREAD# BYTES/1024/1024 MEMBERS STATUS---------- ---------- --------------- ---------- ----------------16 2 500 2 INACTIVE1节点\2节点alter database add logfile thread 1 group 5 ('+DATA1') size 500m;alter database add logfile thread 2 group 6 ('+DATA1') size 500m;2、添加Standby Redo Log如果主库是Rac数据库,standby redo log组数=(所有节点中⽇志组数最⼤值+1)*RAC节点数;#################################################################################################--1节点alter database add standby logfile thread 1 group 21('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 1 group 22('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 1 group 23('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 1 group 24('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 1 group 25('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 1 group 26('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 1 group 27('+DATA1','+DATA1') size 500m;--2节点alter database add standby logfile thread 2 group 31('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 2 group 32('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 2 group 33('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 2 group 34('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 2 group 35('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 2 group 36('+DATA1','+DATA1') size 500m;alter database add standby logfile thread 2 group 37('+DATA1','+DATA1') size 500m;################################################################################################## select group#,thread#,sequence#,BYTES/1024/1024,archived,used,status from v$standby_log;GROUP# THREAD# SEQUENCE# BYTES/1024/1024 ARC USED STATUS---------- ---------- ---------- --------------- --- ---------- ----------21 1 0 500 YES 0 UNASSIGNED22 1 0 500 YES 0 UNASSIGNED23 1 0 500 YES 0 UNASSIGNED24 1 0 500 YES 0 UNASSIGNED25 1 0 500 YES 0 UNASSIGNED26 1 0 500 YES 0 UNASSIGNED27 1 0 500 YES 0 UNASSIGNED31 2 0 500 YES 0 UNASSIGNED32 2 0 500 YES 0 UNASSIGNED33 2 0 500 YES 0 UNASSIGNED34 2 0 500 YES 0 UNASSIGNEDGROUP# THREAD# SEQUENCE# BYTES/1024/1024 ARC USED STATUS---------- ---------- ---------- --------------- --- ---------- ----------35 2 0 500 YES 0 UNASSIGNED36 2 0 500 YES 0 UNASSIGNED37 2 0 500 YES 0 UNASSIGNED3、判断DG软件是否安装select * from v$option where parameter = 'Oracle Data Guard';4、允许Forced Loggingalter database force logging;select INST_ID,name,force_logging from gv$database;--备份原始参数⽂件create pfile='/home/oracle/pfile0908.bak' from spfile;!ls -ltr /home/oracle5、设置主库初始化参数################################################################################################## select name,db_unique_name from v$database;--alter system set db_unique_name=mgrdb scope=spfile sid='*';alter system set log_archive_config='dg_config=(mgrdb,mgrdbdg)' scope=spfile sid='*';alter system set log_archive_dest_1='LOCATION=+DATA1 valid_for=(ALL_LOGFILES, ALL_ROLES) db_unique_name=mgrdb' scope=spfile sid='*';alter system set log_archive_dest_2='SERVICE=standby OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE) DB_UNIQUE_NAME=mgrdbdg' scope=spfile sid='*';alter system set log_archive_format = '%t_%s_%r.arc' scope=spfile sid='*';alter system set log_archive_dest_state_1=enable scope=spfile sid='*';alter system set log_archive_dest_state_2=enable scope=spfile sid='*';alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile sid='*';alter system set log_archive_max_processes = 10 scope=spfile sid='*';--Primary Database:Standby Role initialization parameters FAL参数定义的数据库名同样取⾃本地tnsnames.ora⾥配置的Oracle Net Service Name.alter system set fal_server=standby scope=spfile sid='*';alter system set standby_file_management=auto scope=spfile sid='*';alter system set db_file_name_convert='+DATA1','+DATA1' scope=spfile sid='*'; --备端的磁盘组写前⾯alter system set log_file_name_convert='+DATA1','+DATA1' scope=spfile sid='*'; --备端的磁盘组写前⾯###################################################################################################为使修改⽣效,重启Primary Database:alter system archive log current;alter system archive log current;alter system checkpoint;alter system checkpoint;ps -ef|grep LOCAL=NOset pages 999set lines 200col machine for a30select MACHINE,ERNAME, SID,s.SERIAL#,p.spid from v$session s,v$process pwhere s.paddr = p.addr and ername is not nullorder by spid;ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9#分别关闭2节点shut immediate;#srvctl stop database -d mgrdb#srvctl start database -d mgrdb#重启完后,可通过下⾯语句查看修改地⽅:set lines 500 pages 0col value for a90col name for a50select name,valuefrom v$parameterwhere name in('db_name','db_unique_name','log_archive_config','log_archive_dest_1','log_archive_dest_2','log_archive_dest_1','log_archive_dest_2','remote_login_passwordfile','log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert','log_file_name_convert','standby_file_management')/6、将数据库备份、备份控制⽂件、备份参数⽂件su - oraclemkdir backuprman target /run{allocate channel c1 type disk;allocate channel c2 type disk;backup filesperset 3 database format '/home/oracle/backup/full_%d_%T_%s_%p';sql 'alter system archive log current';sql 'alter system archive log current';backup archivelog from time 'sysdate-1/24' format '/home/oracle/backup/arch_%d_%T_%s_%p';backup current controlfile for standby format '/home/oracle/backup/ctl_std';}7、创建备库的pfilesu - oraclemkdir backupsqlplus / as sysdbaCREATE PFILE='/home/oracle/backup/initstandby.ora' FROM SPFILE;--查看备份出来的参数⽂件cat /home/oracle/backup/initstandby.ora#################################################################################mgrdb1.__db_cache_size=14629732352mgrdb2.__db_cache_size=14361296896mgrdb1.__java_pool_size=939524096mgrdb2.__java_pool_size=939524096mgrdb1.__large_pool_size=134217728mgrdb2.__large_pool_size=402653184mgrdb1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environmentmgrdb2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environmentmgrdb1.__pga_aggregate_target=39996882944mgrdb2.__pga_aggregate_target=39460012032mgrdb1.__sga_target=24427626496mgrdb2.__sga_target=24964497408mgrdb1.__shared_io_pool_size=0mgrdb2.__shared_io_pool_size=0mgrdb1.__shared_pool_size=7784628224mgrdb2.__shared_pool_size=8321499136mgrdb1.__streams_pool_size=268435456mgrdb2.__streams_pool_size=268435456*.audit_file_dest='/u01/app/oracle/admin/mgrdb/adump'*.audit_trail='db'*.cluster_database=true*.compatible='11.2.0.4.0'*.control_files='+DATA1/mgrdb/controlfile/current.260.834178123','+DATA1/mgrdb/controlfile/current.3076.947956273'*.db_block_size=8192*.db_create_file_dest='+DATA1'*.db_domain=''*.db_file_name_convert='+DATA1','+DATA1'*.db_name='mgrdb'*.diagnostic_dest='/u01/app/oracle'*.fal_server='STANDBY'mgrdb1.instance_number=1mgrdb2.instance_number=2*.job_queue_processes=1000*.log_archive_config='dg_config=(mgrdb,mgrdbdg)'*.log_archive_dest_1='LOCATION=+DATA1 valid_for=(ALL_LOGFILES, ALL_ROLES) db_unique_name=mgrdb'*.log_archive_dest_2='SERVICE=standby OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE) DB_UNIQUE_NAME=mgrdbdg'*.log_archive_dest_state_1='ENABLE'*.log_archive_dest_state_2='ENABLE'*.log_archive_format='%t_%s_%r.arc'*.log_archive_max_processes=10*.log_buffer=306790400*.log_file_name_convert='+DATA1','+DATA1'*.memory_max_target=64424509440*.memory_target=64424509440*.open_cursors=300*.parallel_force_local=FALSE*.pga_aggregate_target=25769803776mgrdb2.pga_aggregate_target=0mgrdb1.pga_aggregate_target=0*.processes=1000*.remote_listener='scanip:1521'*.remote_login_passwordfile='EXCLUSIVE'*.sessions=1600*.sga_max_size=38654705664mgrdb2.sga_max_size=64424509440mgrdb1.sga_max_size=64424509440*.sga_target=38654705664mgrdb1.sga_target=0mgrdb2.sga_target=0*.shared_pool_reserved_size=288568115mgrdb2.shared_pool_reserved_size=524288000mgrdb1.shared_pool_reserved_size=524288000*.shared_pool_size=805306368mgrdb1.shared_pool_size=0mgrdb2.shared_pool_size=0*.standby_file_management='AUTO'*.streams_pool_size=268435456mgrdb2.thread=2mgrdb1.thread=1*.undo_retention=86400mgrdb2.undo_tablespace='UNDOTBS2'mgrdb1.undo_tablespace='UNDOTBS1'*.undo_tablespace='UNDOTBS2'################################################################################# 8、修改主库tnsnames.ora 【两个节点都要修改】#修改1节点:vi $ORACLE_HOME/network/admin/tnsnames.ora#拷贝到2节点scp $ORACLE_HOME/network/admin/tnsnames.ora HOSTNAME:$ORACLE_HOME/network/admin ########################################################################33 primary =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = public ip )(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mgrdb)))primary1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = vip1)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mgrdb)(SID = mgrdb1)))primary2 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = vip2)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mgrdb)(SID = mgrdb2)))########################################################################三、准备备库RAC Database1、复制参数⽂件从主库备份出来的参数拷贝到备库上,选择⼀个节点在主库上:scp /home/oracle/backup/initstandby.ora hostname:/app/u01/oracle/product/11.2.0/db_1/dbs/initstandby.ora2、复制源端密码⽂件配置DG需要两边数据库密码保持⼀致,把主库的密码⽂件分别拷贝到【备库两个节点】在主库上:cd $ORACLE_HOME/dbs/scp orapwmgrdb1 hostname:/app/u01/oracle/product/11.2.0/db_1/dbs/scp orapwmgrdb1 hostname:/app/u01/oracle/product/11.2.0/db_1/dbs/拷贝完后修改【备库第⼆节点】的密码⽂件名:在备库2节点:cd $ORACLE_HOME/dbs/mv orapwmgrdb1 orapwmgrdb23、将主库备份⽂件拷贝到备端【因为⽤DUPLICATE⽅式,此步不做】#scp -r /home/oracle/backup hostname:/home/oracle4、按照参数⽂件中指定的⽬录去创建相关⽬录【备端1节点】:su - oraclemkdir -p /app/u01/oracle/admin/mgrdbdg/adumpchmod 775 /app/u01/oracle/admin/mgrdbdg/adump【备端2节点】:mkdir -p /app/u01/oracle/admin/mgrdbdg/adumpchmod 775 /app/u01/oracle/admin/mgrdbdg/adump5、【修改备库参数⽂件】加注释的为修改的地⽅,其他保留即可cd $ORACLE_HOME/dbsvi initstandby.ora##################################################################################################*.audit_file_dest='/app/u01/oracle/admin/mgrdbdg/adump' =============*.audit_trail='db'*.cluster_database=true*.compatible='11.2.0.4.0'*.control_files='+DATA1/mgrdbdg/controlfile/control01.ctl' =============*.db_block_size=8192*.db_create_file_dest='+DATA1' =============*.db_domain=''*.db_file_name_convert='+DATA1','+DATA1' =============*.db_name='mgrdb'*.db_unique_name='mgrdbdg' =============*.diagnostic_dest='/oracle/app/oracle' =============*.dispatchers='(PROTOCOL=TCP) (SERVICE=orcldbXDB)'*.fal_server='primary' =============orcldb2.instance_number=2orcldb1.instance_number=1*.log_archive_config='dg_config=(mgrdb,mgrdbdg)'*.log_archive_dest_1='LOCATION=+DATA1 valid_for=(ALL_LOGFILES, ALL_ROLES) db_unique_name=mgrdbdg' ============= *.log_archive_dest_2='SERVICE=primary OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE) DB_UNIQUE_NAME=mgrdb' =============*.log_archive_dest_state_1='ENABLE'*.log_archive_dest_state_2='ENABLE'*.log_archive_format='%t_%s_%r.arc'*.log_archive_max_processes=10*.log_file_name_convert='+DATA1','+DATA1' =============*.open_cursors=300*.pga_aggregate_target=545259520 =============*.processes=150*.remote_listener='scanip:1521' =============*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=817889280*.standby_file_management='AUTO'orcldb2.thread=2orcldb1.thread=1orcldb2.undo_tablespace='UNDOTBS2'orcldb1.undo_tablespace='UNDOTBS1'##################################################################################################*.audit_file_dest='/app/u01/oracle/admin/mgrdbdg/adump'*.audit_trail='db'*.cluster_database=true*.compatible='11.2.0.4.0'*.control_files='+DATA1/mgrdbdg/controlfile/control01.ctl','+DATA1/mgrdbdg/controlfile/control02.ctl'*.db_block_size=8192*.db_create_file_dest='+DATA1'*.db_domain=''*.db_file_name_convert='+DATA1','+DATA1'*.db_name='mgrdb'*.diagnostic_dest='/app/u01/oracle'*.fal_server='primary'mgrdb1.instance_number=1mgrdb2.instance_number=2*.job_queue_processes=1000*.log_archive_config='dg_config=(mgrdb,mgrdbdg)'*.log_archive_dest_1='LOCATION=+DATA1 valid_for=(ALL_LOGFILES, ALL_ROLES) db_unique_name=mgrdbdg'*.log_archive_dest_2='SERVICE=primary OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE) DB_UNIQUE_NAME=mgrdb'*.log_archive_dest_state_1='ENABLE'*.log_archive_dest_state_2='ENABLE'*.log_archive_format='%t_%s_%r.arc'*.log_archive_max_processes=10*.log_buffer=306790400*.log_file_name_convert='+DATA1','+DATA1'*.memory_max_target=64424509440*.memory_target=64424509440*.open_cursors=300*.parallel_force_local=FALSE*.pga_aggregate_target=25769803776mgrdb2.pga_aggregate_target=0mgrdb1.pga_aggregate_target=0*.processes=1000*.remote_listener='scanip:1521'*.remote_login_passwordfile='EXCLUSIVE'*.sessions=1600*.sga_max_size=38654705664mgrdb2.sga_max_size=64424509440mgrdb1.sga_max_size=64424509440*.sga_target=38654705664mgrdb1.sga_target=0mgrdb2.sga_target=0*.shared_pool_reserved_size=288568115mgrdb2.shared_pool_reserved_size=524288000mgrdb1.shared_pool_reserved_size=524288000*.shared_pool_size=805306368mgrdb1.shared_pool_size=0mgrdb2.shared_pool_size=0*.standby_file_management='AUTO'*.streams_pool_size=268435456mgrdb2.thread=2mgrdb1.thread=1*.undo_retention=86400mgrdb2.undo_tablespace='UNDOTBS2'mgrdb1.undo_tablespace='UNDOTBS1'*.undo_tablespace='UNDOTBS2'################################################################################################## 6、【备库1节点】创建ASM路径通过grid⽤户进⼊到asmcmd,在备库磁盘组下创建db_unique_name⽬录su - gridasmcmdASMCMD> mkdir DATA1/mgrdbdg7、修改备库tnanames.ora 两个节点都要修改修改【备库1、2节点】tnanames.oravi $ORACLE_HOME/network/admin/tnsnames.orascp $ORACLE_HOME/network/admin/tnsnames.ora hostname:$ORACLE_HOME/network/admin################################################################################################## standby =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = scan-ip)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mgrdbdg)))standby1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = vip1)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mgrdbdg)(SID = mgrdb1)))standby2 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = vip2)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = standby)(SID = mgrdb2)))primary =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = scan-ip)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mgrdb)))--标注的primary服务名必须添加,否则启动mrp时⽇志会报如下错误:Error 12154 received logging on to the standbyFAL[client, MRP0]: Error 12154 connecting to orcldb fro fetching gap sequenceFAIL_CLIENT 和 FAIL_SERVER 这两个参数值都需指定⽹络服务器,并⾮是db_unique_nameFAL_SERVER=net_service_nameFAL_CLIENT=net_service_name##################################################################################################四、创建物理备库1、使⽤修改好的参数备库实例启动到nomount连接到oracle⽤户,使⽤上⾯已修改好的参数⽂件将备库实例启动到nomount仅在【备库的1节点】操作:echo $ORACLE_SIDmgrdb1sqlplus / as sysdbastartup nomount pfile = '$ORACLE_HOME/dbs/initstandby.ora'2、RMAN Duplicate复制数据库使⽤Rman Duplicate ⽅式,须先配置监听,添加静态服务名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Active Data Guard
• Select open_mode from v$database;
– READ ONLY WITH APPLY
• Recover managed standby database disconnect from session; • Recover managed standby database disconnect from session using current logfile;
Drop Datafile导致的Oracle Bug 10.2.0.4.0 – Add datafile – Drop datafile – MRP shutdown – Bug 5623467 - Corrupt redo from ALTER TABLESPACE DROP DATAFILE (文档 ID 5623467.8)
Failover to physical standby
1.resolve gap SELECT thread#, low_sequence#, high_sequence# FROM v$archive_gap; ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1‘ 2.Finish recover ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE; 3. Convert to primary ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY Reinstate 避免重复搭建Data Guard, 原理 原来的主库开启 闪回数据库
知识点概览
• • • • • • • • • 简单搭建Data Guard Failover Switchover ADG Snapshot Standby 跳归档恢复 备库的设计方案 闪回数据库 故障分析
简单搭建Data Guard
• fs.aio-max-nr= 3145728 • cat /proc/sys/fs/aio-max-nr • sysctl -w fs.aio-max-nr=3145728 • rman target sys/oracle@dataguru auxiliary sys/oracle@sdataguru nocatalog • Duplicate target database for standby from active database nofilenamecheck; • create configuration dg_dataguru as primary database is dataguru connect identifier is dataguru; • add database sdataguru as connect identifier is sdataguru maintained as physical;
备库的设计方案
备库的设计方案
极端环境的恢复
闪回数据库
闪回数据库
• Startup mount • Alter database flashback on;
11g的改进 Alter database flashback on Alter database flashback off
故障分析
11g备库无法开启ADG的原因分析 – Show parameter compatible – 备库的compatible为11.1.0.7以上
Snapshot Standby
• • • • • • • • 可读可写的备库 切换为Snapshot Standby select database_role,open_mode from v$database; Dgmgrl convert database sdataguru to snapshot standby; SQL Alter database convert to snapshot standby; 切换回Physical Standby dgmgrl convert database sdataguru to physical standby; SQL alter database convert to physical standby; 切换角色之后,需要重启备库

跳归档恢复
• 归档丢失,重建备库
– SELECT CURRENT_SCN FROM V$DATABASE;
• 增量备份 • 同步控制文件 • 数据变化不频繁,恢复过一个丢失半年归档的 数据库 • reset database to incarnation 2;
跳归档恢复
• 主库: • BACKUP INCREMENTAL FROM SCN 2291364 DATABASE FORMAT '/home/oracle/backup_stage/sdataguru_%U' tag 'FORSTANDBY'; • 备份控制文件 • 备库: • 恢复控制文件 • catalog start with '/U01/backup_stage/increment_backup'; • Recover managed standby database cancel; • recover database noredo ; • col CURRENT_SCN format 9999999999999999999999 • SELECT CURRENT_SCN FROM V$DATABASE; • recover managed standby database disconnect from session;
Switchover
• 1.Verify that it is possible select database_role,switchover_status from v$database; • 2.Initiate the switchover operation on the primary database alter database commit to switchover to physical standby with session shutdown wait; • 3.Shut down and restart the original primary instance • 5.Verify the switchover status in standby • 6.Switch the physical standby database role to the primary role alter database commit to switchover to primary; • 7.open the new primary database • 8.Start recover alter database recover managed standby database disconnect from session; alter database recover managed standby database using current logfile Disconnect from session;
相关文档
最新文档