Professional Documents
Culture Documents
DG 概念和配置
DG 概念和配置
DG 概念和配置
2013.2.28
DATAGURU专业数据分析网站
法律声明
【声明】本视频和幻灯片为炼数成金网络课程的教
学资料,所有资料只能在课程内使用,不得在课
程以外范围散播,违者将可能被追究法律和经济
责任。
课程详情访问炼数成金培训网站
http://edu.dataguru.cn
2013.2.28
DATAGURU专业数据分析网站 2
Data guard--系统的高可用产品
RAC ---实例级的冗余方案
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Data Guard
Standby Database
Primary Database Standby Database
Primary Standby
Database Database
Site 1 Site 2
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
应用容错
主站点和应用层依然可用
主站点 备用站点
2 客户端超时, 应用快速
应用层—Oracle应用服务器 连接到新的主数据库
集群
数据层—Oracle RAC
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
完全的站点失效
主站点 Primary
备用站点 Site
WAN 通信管理
3 WAN traffic
自动的DNS容错
manager
路由用户到新
Firewall Firewall
应用层—Oracle应用服务器 的主站点
集群
2 启动
中间层
Firewall
备用数据库
数据层—Oracle RAC
转变成主数据库
Data Guard
Data Guard
1
自动容错
Redo Transport
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Data Guard的实现方式
Physical Standby
Logical Standby
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby
Standby database是主数据库的物理备份。
Redo改变
– 改变的日志从主库传递到备库(standby database)
– 改变的REDO在备库上被应用。
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby
以只读方式打开
主数据库 物理备用数据库
Redo 应用
网络
备份
Redo 传送
备用
DIGITAL DATA STORAGE
Redo Logs
Ÿ 物理备用数据库进行的是主数据库数据块的备份
Ÿ 使用数据库恢复功能来应用变化
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Logical Standby
是主库对象的一个子集合。
日志从主库传到备库。
REDO被转换为SQL,然后在备库上执行。
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Logical Standby
额外的索引
&物化视图
主数据库 逻辑备用数据库
转换 Redo
到SQL并且应用
网络 读写方式打开
Redo 传输 备用
Redo Logs
Ÿ 逻辑备用数据库是一个开放,独立的以及活动的数据库
Ÿ 当重做数据通过SQL进行应用的时候可以进行报表查询
Ÿ 可以成生额外的索引和物化视图以获得更好的查询性能
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
物理 V.S. 逻辑
Redo
LCR
来自于主数 Records
LCR
据库的redo Reader Preparer : Builder
数据
Shared
Pool
Log 挖掘
应用SQL
Physical
逻辑备用数
Standby
据库 Applier Coordinator Analyzer
Database
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
重做应用还是SQL应用?
重做应用 SQL 应用
物理备用数据库从主数据库进行块 逻辑的,备用数据库从主数据库进
到块的复制 行的是事务到事务的拷
可以以只读查询的方式打开’在 允许创建额外的对象,对对象做出
11g中支持实时报告 修改
在角色变化时,确保备用数据库是 在创建对象的时候可以跳过应用
主数据库的完全备份 以读写的方式打开(在表中以SQL
可以用于快速备份 应用维护的数据不会发生变化)
更高的性能 支持实时报告
对数据类型的支持有限制
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
DG相关的后台进程
ARCH (archiver)
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
DG的保护模式
模式 数据丢失风险 传输 是否没有来自备用数据库的确认
零数据丢失
最大保护 同步 延迟主数据库,直到确认收到副本
双重失败保护
零数据丢失 延迟主数据库,直到确认收到副本或者发生
最大可用 同步
单失败保护 超时’然后继续处理
有少量数据丢失的可
最大性能 异步 主数据库不会等待备用数据库的确认
能
LOG_ARCHIVE_DEST_n中的 NET_TIMEOUT 参数
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
日志的传输
ARCH
– 把完整的REDO文件COPY到standby数据库服务器上。
LGWR,两种模式:
– ASYNC - 异步
• LGWR将redo写到本地LOG文件。
• LNSn进程读取redo,传到standby服务器上。
– SYNC - 同步
• LGWR讲Redo信息直接写到standby数据库服务器上
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Arch进程传输Redo
Primary Database Standby Database
2
T_
ES
_D
I VE
Online Standby
CH
Redo Redo
AR
Log Log
G_
LO
LOG_ARCHIVE_DEST_1
Archived Archived
Redo Redo
Logs Logs
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
LGWR (异步) 传输REDO
Primary Database Standby Database
Online Standby
Redo LNSn Redo
Log Log
ARCn ARCn
LOG_ARCHIVE_DEST_1
Archived Archived
Redo Redo
Logs Logs
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
LGWR (同步)传输Redo
Primary Database Standby Database
Online Standby
Redo Redo
Log Log
ARCn ARCn
LOG_ARCHIVE_DEST_1
Archived Archived
Redo Redo
Logs Logs
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Data guard
的部署
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby 配置
On both servers, configure TNSNAMES.ORA
LONDON =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = london1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = LONDON)
)
)
READING =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = reading1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = READING)
)
)
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby 配置
On primary server create backup location
mkdir /u01/oradata/PRIMARY/backup;
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby 配置
In RMAN backup database
BACKUP
FORMAT '/u01/oradata/PRIMARY/backup/%d_D_%T_%u_s%s_p%p'
DATABASE;
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby 配置
On primary server set parameters
ALTER SYSTEM SET db_unique_name = LONDON
SCOPE = SPFILE;
ALTER SYSTEM SET log_archive_dest_1 =
'LOCATION=/u01/oradata/PRIMARY/arch'
SCOPE=SPFILE;
ALTER SYSTEM SET log_archive_dest_2 = 'SERVICE=READING
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=READING'
SCOPE=SPFILE;
ALTER SYSTEM SET fal_client = LONDON
SCOPE = SPFILE;
ALTER SYSTEM SET fal_server = READING
SCOPE = SPFILE;
ALTER SYSTEM SET standby_file_management = AUTO
SCOPE = SPFILE;
$ lsnrctl reload
$ export ORACLE_SID=PRIMARY
$ sqlplus / as sysdba
SQL> startup nomount
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby 配置
On standby server set parameters
ALTER SYSTEM SET db_unique_name = READING
SCOPE = SPFILE;
ALTER SYSTEM SET log_archive_dest_1 =
'LOCATION=/u01/oradata/PRIMARY/arch'
SCOPE = SPFILE;
ALTER SYSTEM SET log_archive_dest_2 = 'SERVICE=LONDON
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=LONDON'
SCOPE=SPFILE;
ALTER SYSTEM SET fal_client = READING
SCOPE = SPFILE;
ALTER SYSTEM SET fal_server = LONDON
SCOPE = SPFILE;
ALTER SYSTEM SET standby_file_management = AUTO
SCOPE = SPFILE;
Run the following command to clone the database backup on the standby
server
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Physical Standby 配置
On standby server restart the instance
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP NOMOUNT
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Logical Standby 配置
On standby server cancel managed recovery
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Logical Standby 配置
On primary server build the logical standby dictionary
SQL> EXECUTE LOGSTDBY.BUILD;
For a default database this generated about 8MB redo and updated the
following objects:
SYS.LOGMNRG_SEED$ SYS.LOGMNRG_TYPE$
SYS.LOGMNRG_DICTIONARY$ SYS.LOGMNRG_COLTYPE$
SYS.LOGMNRG_OBJ$ SYS.LOGMNRG_ATTRIBUTE$
SYS.LOGMNRG_TAB$ SYS.LOGMNRG_LOB$
SYS.LOGMNRG_COL$ SYS.LOGMNRG_CDEF$
SYS.LOGMNRG_ATTRCOL$ SYS.LOGMNRG_CCOL$
SYS.LOGMNRG_TS$ SYS.LOGMNRG_ICOL$
SYS.LOGMNRG_IND$ SYS.LOGMNRG_LOGFRAG$
2013.2.28
2013-
DATAGURU专业数据分析网站
SYS.LOGMNRG_USER$ SYS.LOGMNRG_INDPART$
7-21
Logical Standby 配置
On standby server enable recovery and change the name of the standby
database
SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY standby;
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
11G
ACTIVE
STANDBY
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Active Data Guard
读写工作流
实时报告
Real-time Real-time
Reporting Queries
Fast
Incremental 快速增量备份
Backups
持续的redo传输,验证和应用
生产数据库 活动的备用数据库
Physical Standby
Database
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
有哪些不同?
Data Guard 11g Active Data Guard 选项
在8 am停止重做应用 重做应用始终开启
查询以只读方式打开 总是以只读方式打开
• 到了4 pm, 数据已经是8小 • 查询和报告中总有最新的数
时之前的了 据
• “积压”的数据必须应用,所 • 在需要的时候立即容错,备
以所有的容错都将延迟 用数据库保持更新
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Active Data Guard
查询返回最新的结果
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Active Data Guard 部署示例
queries
Active Data Guard
queries
Reader Farm
更新 queries
queries
queries
生产数据库 备用数据库
DR included *
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Active Data Guard 优点
恢复物理备用数据库 读操作和恢复同时进行
生产数据库上所有的读操作 把只读工作负载转换到备用数据库
上
只进行灾难保护 性能保护
备用系统很少使用 方便进行容灾测试演练
复杂的复制用于创建报告副本 简单,高性能地建立应用测试环
境
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
Active Data Guard - Licensing
在使用下面两者中的任意其一时需要license
– 实时查询
– 在备用数据库上的RMAN 块变化追踪
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
11G
SNAPSHOT
STANDBY
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
备用数据库快照 – Data Guard 11g
将备用数据库作为测试系统使用
更新 查询
Queries
Updates
redo
data
主数据库 物理备用数据库
> alter database recover managed standby database > alter database convert to snapshot standby;
cancel;
PERFORM TESTING, ARCHIVE LOGS CONTINUE TO BE
> create restore point before_lt guarantee flashback
SHIPPED
database;
> alter database convert to physical standby;
Primary
Standby
原因
– 即使在归档模式下,也可能会有一些有nologging的操作不产生redo,这在DG下是不允许的,
因此必须启用数据库强制记录redo。
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
DG的几种日志
online redo
归档日志
standby redo
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
补充内容-DG三种保护模式的相关的配置
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
补充内容-DG三种保护模式的相关的配置
最大保护模式
更正----在最大保护模式下,当所有standby都不可用时,primary db会挂起,而不是重启(改正
)。
设置方式:
2.配置对应的日志传递相关属性参数
LOG_ARCHIVE_DEST_2='SERVICE=CHICAGO SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE)
DB_UNIQUE_NAME=CHICAGO'
3.转换成最大保护模式
alter database set standby database to maximize PROTECTION;
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
最大可用性模式
LOG_ARCHIVE_DEST_2='SERVICE=CHICAGO SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE)
DB_UNIQUE_NAME=CHICAGO'
最大性能模式
LOG_ARCHIVE_DEST_2='SERVICE=CHICAGO ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILE, PRIMARY_ROLE)
DB_UNIQUE_NAME=CHICAGO'
2013.2.28
2013-
7-21 DATAGURU专业数据分析网站
炼数成金逆向收费式网络课程
Dataguru(炼数成金)是专业数据分析网站,提供教育,媒体,内容,社区,出版,
数据分析业务等服务。我们的课程采用新兴的互联网教育形式,独创地发展了逆向收
费式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发
挥互联网的威力打破时空限制,把天南地北志同道合的朋友组织在一起交流学习,使
到原先孤立的学习个体组合成有组织的探索力量。并且把原先动辄成千上万的学习成
本,直线下降至百元范围,造福大众。我们的目标是:低成本传播高价值知识,构架
中国第一的网上知识流转阵地。
关于逆向收费式网络的详情,请看我们的培训网站 http://edu.dataguru.cn
2013.2.28
DATAGURU专业数据分析网站 49
Thanks
FAQ曳露
2013.2.28
DATAGURU专业数据分析网站 50