管理重做日志文件(2)
来源:未知 责任编辑:责任编辑 发表时间:2013-11-26 22:16 点击:次
状态
LGWR的行为
LWGR能成功的在组中至少一个成员中写入
正常写入,LGWR写入能访问的重做日志文件,并且忽略不能访问的成员
LGWR不能切换到下一个组中,原因是这个组在等待归档
暂时关闭数据库,知道下一个日志文件组可以访问,或者执行日志归档
因为介质的损坏,下一组中的成员都不能访问
Oracle将会返回一个错误,数据库实例关闭,在这种情况下,你可能要执行数据库日志文件丢失的恢复。
如果数据库的检查点已经超越了丢失的日志文件,没有必要恢复介质,因为数据已经从重组日志文件中保存到日志文件里。你可以丢弃不可以访问的联机重做日志文件。如果日志文件没有被归档,在日志被丢弃之前使用 alter database clear unarchived log.
合法的和非法的配置
在大多数情况下,日志组中的成员都是对称的,所有的日志文件都应该有相同的成员,但不是必须的。Oracle数据库中的唯一要求就是数据库要至少有两个组。
7.2.2 重做日志文件放置在不同的磁盘上
当设置一个复用的日志文件,必须放在不同的物理磁盘上。如果单个磁盘发生故障,那么只会影响到组中的某一个成员。实例可以继续发挥作用。
7.2.3 设置重做日志文件的大小
在同一组中的成员必须具有相同的大小,不同组中的成员可以有不同的大小。然而在不同组中尺寸不一致时没有什么好处。如果没有设置日志切换的检查点,使得每个组保证检查点具有相同的时间间隔。
7.2.4选择重做日志文件的数量
最好的方式是一个数据库实例去测试不同的配置用来确定重做日志的数量。最佳的方式是在用最少的可能组而且还不影响LGWR写重做日志信息。
在某些情况下,一个数据库需要两组不同的重做日志文件。其他情况下,一个数据库实例需要增加更多的组来保证 LGWR的数据写入。在测试过程中,测试重做日志组是否够用的最简单的方法就是检查LGWR的trace文件和oracle的警告文件。如果消息表明一个LGWR不得不因为检查点没有完成或者组没有被归档而等待,则需要增加组。
在创建和修改重做日志实例之前,参数文件会限制重做日志的数量。下面的参数文件会限制限制重做日志文件的数量,你可以在数据库中修改它们。
1. Maxlogfiles初始化参数是在创建数据库时决定每个数据库重做日志组的最大数。组的数量的取值范围是1-maxlogfiles。修改这个值的唯一方法就是重新建数据库或者修改控制文件。因此,在创建数据库之前考虑这个限制是非常重要的。如果maxlogfiles在创建数据库时没有指定,则采用oracle默认的值。
2. Maxlogmembers初始化参数是在创建数据库时决定每个重做日志组中最大的成员数。同maxlogfiles修改这个值的唯一方法就是重新建数据库或者修改控制文件。如果maxlogmombers在创建数据库时没有指定,则采用oracle默认的值。
7.2.5 控制归档延迟
你可以强迫所有的重做日志线程在一定的时间间隔切换当前的日志文件。在主被服务器配置中,在主服务器上修改了归档日志,然后再把这些数据传送到备用服务器上。备用服务器上的变化可以落后于主服务器的变化,因为备用服务器的变化必须等待主服务器上的变化完之后然后在传送到备用服务器上。为了限制这种滞后,你可以通过修改ARCHIVE_LAG_TARGET初始化参数来修改。这个参数可以让你决定将要限制多少秒来归档。
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>