Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

65

积分

0

好友

31

主题
1#
发表于 2013-1-14 05:54:08 | 查看: 6871| 回复: 6
根据这篇文章
http://blog.csdn.net/tianlesoftware/article/details/5514082

如果是archivelog同步方式,我们知道是不需要standby redo log
那么lgwr方式呢?
文档上说是需要的

那么为何需要?
我想原因有
1)Oracle本身的redo log,即online redolog 其实是给Oracle Instance用的
   而standby redolog其实是对primary database的online log的一个复制,
   逻辑上来看,要更清晰一点
2)如果standby database不需要read和write(指角色没有转换前,即处于standby状态)。
   貌似可以直接用online redolog代替standby redolog
   因为这时standby database instance不存在读redolog的需求。
   而且如果发生切换,primary database变成不可用,而standby database变成可用,那么
   此时standby redolog直接就变成online redolog
   这样子是否可行呢?如果貌似也可行啊?
2#
发表于 2013-1-14 09:27:00
试想一个例子
1、 没有standby logfile, 只能使用arch模式,
2. arch模式下, 一个archivelog 很大,假设为1-2gb, 而primary database用这个redo archive也很久 可能半个小时以上,这段时间内ARCH模式下 无法传输任何数据给standby, 此时primary database所在主机物理上蒸发,则standby上丢失这半小时的数据

3. 否则若有standby log+ lgwr模式,则即便是最大性能模式下仍指丢失极少量的数据

4. 若使用最大保护模式,则只有当redo写到standby logfile后才success,则不丢失任何数据

回复 只看该作者 道具 举报

3#
发表于 2013-1-14 11:22:43
@etl2007,

我补充一下,希望有所帮助 :)

那么为何需要?
我想原因有
1)Oracle本身的redo log,即online redolog 其实是给Oracle Instance用的
   而standby redolog其实是对primary database的online log的一个复制,
   逻辑上来看,要更清晰一点
2)如果standby database不需要read和write(指角色没有转换前,即处于standby状态)。
   貌似可以直接用online redolog代替standby redolog   因为这时standby database instance不存在读redolog的需求。
   而且如果发生切换,primary database变成不可用,而standby database变成可用,那么
   此时standby redolog直接就变成online redolog
   这样子是否可行呢?如果貌似也可行啊?


关于1),需要清晰理解Oracle的online redolog和standby redo log的含义。
Online redolog主要是针对主库的,standby redo log 主要是针对Standby库的,所以他们两个的角色不同。看下面这个解释应该会清楚一点。

A standby redo log is similar to an online redo log, except that a standby redo log is used to store redo data received from another database.

http://docs.oracle.com/cd/B19306_01/server.102/b14239/standby.htm#i72459


关于2), 还是角色的问题,没有谁代替谁,而是各有所用,各有各的功能:) 另外standby redolog 主要是用来持续不断地接受来自主库的redo的,主要是为Standby库使用的。在Standby库上应该是没有online redo log存在的必要的。如果需要,也是在standby swithover的时候,由数据库自动创建,从而变成primary库,当然也就有了oneline redo log啦。

The online logs on the standby side will be created at switchover time so no need to do anything now.

http://gavinsoorma.com/2009/06/recreate-online-redologs-and-standby-database-logs/


当primary变成standby时,就会使用原来在primary端一开始(配置DGs时)就创建好的standby redo log,当然原来他自己的online redo log也就暂时没有用武之地啦。

另外还有一点就是standby redo log 还有数量上的要求,就是N+1,N是主库online redo log的group总数量。这样的话,也从另一个角度来说不能够直接把oneline redo log和standby redo log换来换去使用。

回复 只看该作者 道具 举报

4#
发表于 2013-1-15 04:47:39
Stone 发表于 2013-1-14 11:22
@etl2007,

我补充一下,希望有所帮助 :)



还是角色的问题,没有谁代替谁,而是各有所用,各有各的功能:) 另外standby redolog 主要是用来持续不断地接受来自主库的redo的,主要是为Standby库使用的。在Standby库上应该是没有online redo log存在的必要的。如果需要,也是在standby swithover的时候,由数据库自动创建,从而变成primary库,当然也就有了oneline redo log啦



这是否仅仅是理解,应当是在数据库创建之初,standby的redolog已经创建完毕,只是在switchover后,才开始真正往redolog里面写日志的。

但即使如此,仍然有另外一个问题,貌似现在standby databse也支持read write啊?
如果仅仅支持read,例如用来做报表系统,我记得之前有个说法,select也产生redo的?
那不是和你说的有冲突吗?
按照你的说法,在standby状态的数据库,redolog是不产生的



回复 只看该作者 道具 举报

5#
发表于 2013-1-30 21:58:19
etl2007 发表于 2013-1-15 04:47

还是角色的问题,没有谁代替谁,而是各有所用,各有各的功能:) 另外standby redolog 主要是用来持续不 ...

不好意思,最近比较忙, 一直没有上来。我先考虑下, 有时间了,一起研究下。
不过提的问题确实很好 :)

如果暂时不太忙的,可以帮助回答啊

Stone

回复 只看该作者 道具 举报

6#
发表于 2013-2-2 18:08:50
ML的这句:“若有standby log+ lgwr模式,则即便是最大性能模式下仍指丢失极少量的数据”,我表示非常认同

回复 只看该作者 道具 举报

7#
发表于 2013-3-19 23:21:34
本帖最后由 digdeep 于 2013-3-19 23:23 编辑
etl2007 发表于 2013-1-15 04:47

还是角色的问题,没有谁代替谁,而是各有所用,各有各的功能:) 另外standby redolog 主要是用来持续不 ...


你的表达不是很清晰。
standby db上的 standby redolog是配置DG时用命令创建的,standby db上的online redolog 是在switchover是自动创建的。
10g中逻辑standby可以open read write,物理standby如果open read write,则会停止应用primary传过来的redo log。
open read only打开物理standby时进行的select不会有redo产生,select产生redo log是因为提交标志的延迟清理。物理standby上没有事务,也不会有提交标志要清理。
standby db在mount状态,自己不可能产生online redolog,只会应用primary db穿过了的redo log.

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-27 19:56 , Processed in 0.048421 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569