windows-oracle 11g dataguard with dgbroker
一: DG的配置
oracle dg 考验dba综合能力。首先明确3个知识点: SID, SERVICE_NAME,,DB_NAME, DB_UNIQUE_NAME
SID: 实例名,用于标识一个数据库的。oracle在启动的时候,会根据SID和 ORACLE_HOME hash 内存地址,可以观察pfile文件可以更加清晰:

这就是系统参数启动的时候sid,在安装数据库时候定义。注意,她在整个域里面并不是唯一标识。
service_name 服务名,pfile。spfile都可配置,可随时更改!!服务名注册到监听,然后请求数据库的信息才能由监听反馈到实例,dg 相互通信可以用服务名来区别2个不同的服务。

DB_NAME:数据库名称,这个就是sid
DB_UNIQUE_NAME 数据库名称的全局唯一标识!!!,dg 就是靠这个来传送信息到standby的。 通常在tnsnames.ora 的连接标识符 用 DB_UNIQUE_NAME 表示,这样准确无误。
但是注意, tnsnames.ora的连接表示符,压根和db_unique_name 一点关系都没有
看GIS1,GIS2就是连接标识符。

有了上述知识开搞
配置pfile,pfile,pfile,重要的说三遍
---主库
DB_UNIQUE_NAME=gis1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(gis1,gis2)'
LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/product/archive/dg1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=gis1'
LOG_ARCHIVE_DEST_2='SERVICE=gis2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=gis2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=10
FAL_SERVER=dg2
FAL_CLIENT=dg1
DB_FILE_NAME_CONVERT='gis2','gis1'
LOG_FILE_NAME_CONVERT='/home/oracle/product/archive/','/home/oracle/product/archive/'
STANDBY_FILE_MANAGEMENT=AUTO --备库 DB_NAME=dg1
DB_UNIQUE_NAME=dg2
LOG_ARCHIVE_CONFIG='DG_CONFIG=(dg1,dg2)'
LOG_ARCHIVE_DEST_1= 'LOCATION=/home/oracle/product/archive/dg2/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg2'
LOG_ARCHIVE_DEST_2='SERVICE=dg1 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg1'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=10
FAL_SERVER=dg1
FAL_CLIENT=dg2
DB_FILE_NAME_CONVERT='dg1','dg2'
LOG_FILE_NAME_CONVERT='/home/oracle/product/archive/dg1/','/home/oracle/product/archive/dg2/'
STANDBY_FILE_MANAGEMENT=AUTO
二:broker的 配置
1:主副都执行: SQL> alter system set dg_broker_start = true; System altered. SQL> show parameter dg_broker_start; NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
dg_broker_start boolean TRUE 2:主监听配置静态监听
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = gis1.g5air)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = gis)
) ) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = TEMP)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
) ADR_BASE_LISTENER = D:\app\Administrator 3:副监听配置静态监听 SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = gis2.g5air)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = gis)
) ) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = TEMP)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
) ADR_BASE_LISTENER = D:\app\Administrator 4:主副都reload 监听 5:主进入dgmgrl C:\Windows\system32>dgmgrl sys/qaz123
DGMGRL for 64-bit Windows: Version 11.2.0.3.0 - 64bit Production Copyright (c) 2000, 2009, Oracle. All rights reserved. 欢迎使用 DGMGRL, 要获取有关信息请键入 "help"。
已连接。 6:配置dg broker DGMGRL> create configuration 'ORADG-HA' as primary database is 'gis1' connect identifier is gis1;
已创建配置 "ORADG-HA", 其中主数据库为 "gis1" DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance
数据库:
gis1 - 主数据库 快速启动故障转移: DISABLED 配置状态:
DISABLED 7:添加备库 DGMGRL> add database 'gis2' as connect identifier is 'gis2' maintained as physical;
已添加数据库 "gis2" DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance
数据库:
gis1 - 主数据库
gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态:
DISABLED 8:启用配置 DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance
数据库:
gis1 - 主数据库
gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态:
DISABLED DGMGRL> enable configuration;
已启用。 DGMGRL> show configuration 配置 - ORADG-HA 保护模式: MaxPerformance
数据库:
gis1 - 主数据库
gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态:
SUCCESS 1: 删除dgmgr DGMGRL> show configuration; 配置 - DGORA11G 保护模式: MaxPerformance
数据库:
gis1 - 主数据库
gis2 - 物理备用数据库 (禁用) 快速启动故障转移: DISABLED 配置状态:
SUCCESS DGMGRL> disable CONFIGURATION;
已禁用。
DGMGRL> show configuration; 配置 - DGORA11G 保护模式: MaxPerformance
数据库:
gis1 - 主数据库
gis2 - 物理备用数据库 快速启动故障转移: DISABLED 配置状态:
DISABLED DGMGRL> remove CONFIGURATION;
已移去配置
DGMGRL>
DGMGRL> show CONFIGURATION;
ORA-16532: Data Guard 中介配置不存在 配置详细资料不能由 DGMGRL 确定
三:切换
switchover:
dgmgr1>switchover to gis2
failover:
disable gaurd:
备库执行:
SQL> alter database recover managed standby database finish force;
SQL> alter database commit to switchover to primary;
SQL> alter database open;
windows-oracle 11g dataguard with dgbroker的更多相关文章
- Oracle 11g dataguard check RTA(real time apply)
Oracle 11g dataguard check RTA(real time apply) 2017年8月24日 16:38 环境:oracle 11.2.0.1 OEL 5.8 注:以下操作都在 ...
- Oracle 11g Dataguard参数详解
https://www.jb51.net/article/52269.htm注:本文译自<Oracle Data Guard 11g Handbook> Page 78 – Page 88 ...
- Oracle 11g DataGuard搭建(一) - 单节点到单节点
(一)DataGuard概要 DataGuard中文称为”数据卫士“,提供了数据库高可用性.数据保护和灾难恢复的功能.DataGuard通过建立primary数据库和standby数据库来确立参照关系 ...
- oracle 11g dataguard创建的简单方法
oracle 10g可以通过基于备份的rman DUPLICATE实现dataguard,通过步骤需要对数据库进行备份,并在standby侧进行数据库的恢复.而到了11g,oracle推出了Dupli ...
- Oracle 11g Dataguard 配置,维护与详解 (ADG)
一.前言: 本手册主要记录如何配置,还介绍了配置原因,以及注意要点,已经主备切换,以及故障转移等重要操作步骤,我希望这个文章可以作为进行dataguard配置的一个参考手册. 二.前提 1.主库是归档 ...
- Oracle 11G DataGuard生产环境又一次启动具体过程
场景,重新启动数据库,不重新启动linux系统,所以不用考虑监听程序,#linux输入lsnrctl start1 数据库关闭1.1 关闭主库SHUTDOWN IMMEDIATE; SQL> ...
- Oracle 11g dataguard check real time apply
2017年8月24日 16:38 环境:oracle 11.2.0.1 OEL-5.8 注:以下操作都在备库执行 总结方法: 1.FPYJ(125_7)@fpyj123> select open ...
- oracle 11G dataguard 恢复
检查主备机的sys 密码是否一致,忘记密码可以修改,同步 .alter user sys identified by xxx: orapwd file=oraxxx.ora password=admi ...
- Oracle 11g DATAGUARD 同步延时监控脚本
转自 https://blog.51cto.com/8858975/1401988监控脚本(注:这里没用Sendmail工具发送邮件,如果用的话需要修改)$cat check_oracle_dg_de ...
随机推荐
- MVC源码分析 - Action查找和过滤器的执行时机
接着上一篇, 在创建好Controller之后, 有一个 this.ExecuteCore()方法, 这部分是执行的. 那么里面具体做了些什么呢? //ControllerBaseprotected ...
- SQL 语句语法简介(一)
语句分类 SQL 命令一般分为三类:DQL.DML.DDL. 一.DDL语句. 1.1建表语句 CREATE TABLE table_name( col01_name data_type, col02 ...
- Code First, Database First, Same Time区别
Code First, Database First, Same Time是我理解的asp.net mvc中用到的三种model与数据库对应的方式,肯定是不全面的,理解也有些狭隘,今后随着自己的理解加 ...
- 如何从GitHub迁移到GitLab?
如何从GitHub迁移到GitLab? 在本文中,我们将解释如何从Github迁移到Gitlab,同时我们也将解释如何将Github的开源项目导入到Gitlab. 正如你可能非常清楚的那样, Gitl ...
- zoj 2818 Root of the Problem(数学思维题)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2818 题目描述: Given positive integer ...
- ASP.NET开发,且编且改,分清职责
本篇Insus.NET使用一个实例,分享在ASP.NET开发时,一个功能一个方法(函数),且编且改,一步一个脚印把实例完成.在方法多变多形式的情况之下,怎样把写出来程序简单明了. 下面是一个Excel ...
- [javaSE] 看知乎学习反射
简单的来说,反射机制指的是程序在运行时能够获取自身的信息.在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息. 知乎:学习java应该如何理解反射? 余晖: 反射提供了一种运 ...
- Java并发编程:什么是线程安全,以及并发必须知道的几个概念
废话 众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的.为了追求成为一个好的Java程序员,我决定从今天开始死磕Jav ...
- C语言关于形参与实参,以及系统堆栈的关系
- C++基于范围的for循环性能测试(针对std::vector)
1.代码如下: void output1(int x){ if (x == 10000000) { std::cout << x << std::endl; } }const ...