暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Oracle Data Guard 理论知识.docx
1419
12页
86次
2024-07-11
5墨值下载
Oracle Data Guard
理论知识

,
Data Gurad
,
Stream
是
Oracle
高可用性体系中的三种工具,每个工具即可以独
立应用,也可以相互配合。 他们各自的侧重点不同,适用场景也不同。

它的强项在于解决单点故障和负载均衡,因此
RAC
方案常用于
7*24
的核心系统,
但
RAC
方案中的数据只有一份,尽管可以通过
RAID
等机制可以避免存储故障,但是数据
本身是没有冗余的,容易形成单点故障。

通过冗余数据来提供数据保护,
Data Gurad
通过日志同步机制保证冗余
数据和主数据之前的同步,这种同步可以是实时,延时,同步,异步多种形式。
Data
Gurad
常用于异地容灾和小企业的高可用性方案,虽然可以在
Standby
机器上执行只读查询,
从而分散
Primary
数据库的性能压力,但是
Data Gurad
决不是性能解决方案。

是以
Oracle Advanced Queue
为基础实现的数据同步,提供了多种级别的灵活
配置,并且
Oracle
提供了丰富的
API
等开发支持,
Stream
更适用在应用层面的数据共享。
在
Data Gurad
环境中,至少有两个数据库,一个处于
Open
状态对外提供服务,这个
数据库叫作
Primary Database
。 第二个处于恢复状态,叫作
Standby Database
。 运行时
primary Database
对外提供服务,用户在
Primary Database
上进行操作,操作被记录在联机
日志和归档日志中,这些日志通过网络传递给
Standby Database
。 这个日志会在
Standby
Database
上重演,从而实现
Primary Database
和
Standby Database
的数据同步。

对这一过程进一步的优化设计,使得日志的传递,恢复工作更
加自动化,智能化,并且提供一系列参数和命令简化了
DBA
工作。
如果是可预见因素需要关闭
Primary Database
,比如软硬件升级,可以把
Standby
Database
切换为
Primary Database
继续对外服务,这样即减少了服务停止时间,并且数据不
会丢失。如果异常原因导致
Primary Database
不可用,也可以把
Standby Database
强制切换
为
Primary Database
继续对外服务,这时数据损失成都和配置的数据保护级别有关系。因此
Primary
和
Standby
只是一个角色概念,并不固定在某个数据库中。
一.
Data Guard
架构

架构可以按照功能分成
3
个部分:
) 日志发送(
Redo Send
)
) 日志接收(
Redo Receive
)
) 日志应用(
Redo Apply
)
1.
日志发送(
Redo Send
)

运行过程中,会源源不断地产生
Redo
日志,这些日
志需要发送到
Standy Database
。 这个发送动作可以由
Primary Database
的
LGWR
或者
ARCH
进程完成, 不同的归档目的地可以使用不同的方法,但是对
于一个目的地,只能选用一种方法。 选择哪个进程对数据保护能力和系统可用
性有很大区别。
1.1
使用
ARCH
进程
)

不断产生
Redo Log
,这些日志被
LGWR
进程写到
联机日志。
)当一组联机日志被写满后,会发生日志切换(
Log Switch
),并且会触
发本地归档,本地归档位置是采用
LOG_ARCHIVE_DEST_1='LOCATION=/path'
这种格式定义的。
如:
alter system set log_archive_dest_1 = 'LOCATION=/u01/arch'

)完成本地归档后,联机日志就可以被覆盖重用。
)
ARCH
进程通过
Net
把归档日志发送给
Standby Database
的
 
(
Remote File Server
) 进程。
!
)
Standby Database
端的
RFS
进程把接收的日志写入到归档日志。
"
)
Standby Database
端的
MRP(
#
anaged Recovery Process
$
进程(


)或者
LSP
进程(
%&
)在
Standby Database
上应用这些日志,进
而同步数据。
用
ARCH
模式传输不写
Standby Redologs
,直接保存成归档文件存放于
Standby
端。
说明:
逻辑
Standby
接收后将其转换成
SQL
语句,在
Standby
数据库上执行
SQL
语句实现同
步,这种方式叫
SQL Apply
。
物理
Standby
接收完
Primary
数据库生成的
REDO
数据后,以介质恢复的方式实现同步,
这种方式也叫
Redo Apply
。
注意:创建逻辑
Standby
数据库要先创建一个物理
Standby
数据库,然后再将其转换成逻辑
Standby
数据库。
使用
ARCH
进程传递最大问题在于:
Primary Database
只有在发生归档时才会发送日
志到
Standby Database
。 如果
Primary Database
异常宕机,联机日志中的
Redo
内容就会丢
失,因此使用
ARCH
进程无法避免数据丢失的问题,要想避免数据丢失,就必须使用
LGWR
,而使用
LGWR
又分
SYNC
(同步)和
ASYNC
(异步)两种方式。
在缺省方式下,
Primary Database
使用的是
ARCH
进程,参数设置如下:
alter system set log_archive_dest_2 = 'SERVICE=
'
'

1.2
使用
LGWR
进程的
SYNC
方式
)

产生的
Redo
日志要同时写道日志文件和网络。也
就是说
LGWR
进程把日志写到本地日志文件的同时还要发送给本地的
LNSn
进
程(
Network Server Process
),再由
&()
(
LGWR Network Server process
)进
程把日志通过网络发送给远程的目的地,每个远程目的地对应一个
LNS
进程,
多个
LNS
进程能够并行工作。
)
&*
必须等待写入本地日志文件操作和通过
LNSn
进程的网络传送
都成功,
Primary Database
上的事务才能提交,这也是
SYNC
的含义所在。
)
)
的
RFS
进程把接收到的日志写入到
Standby Redo
Log
日志中。
)

的日志切换也会触发
Standby Database
上的日志切
换,即
Standby Database
对
Standby Redo Log
的归档,然后触发
Standby
Database
的
MRP
或者
LSP
进程恢复归档日志。
因为
Primary Database
的
Redo
是实时传递的,于是
Standby Database
端可
以使用两种恢复方法:
实时恢复(
Real-Time Apply
): 只要
RFS
把日志写入
Standby Redo
Log
就会立即进行恢复;
归档恢复: 在完成对
Standby Redo Log
归档才触发恢复。

默认使用
ARCH
进程,如果使用
LGWR
进程必须明确指定。使
用
LGWR SYNC
方式时,可以同时使用
NET_TIMEOUT
参数,这个参数单位是秒,代表
如果多长时间内网络发送没有响应,
LGWR
进程会抛出错误。 示例如下:
of 12
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜