MAXLOGFILES和MAXLOGMEMBERS在Oracle10g中的变化

近日有客户提出服务申请,事项是重建控制文件,原因是Oracle9i的控制文件中,缺省情况下MAXLOGMEMBERS为3,MAXLOGFILES为5。在前几年的时候,业务比较小,没有预期到06、07年股票、基金市场如此牛市,造成现在业务量大增,日志量特别大。

为什么要重建控制文件呢?在9i中,MAXLOGFILES代表可创建的logfile group数,MAXLOGMEMBERS代表每个group内的member数。看看问题:

SQL> alter database add logfile group 05 ('d:\mydb_log05.rdo') size 5m;

数据库已更改。

SQL> alter database add logfile group 06 ('d:\mydb_log06.rdo') size 5m; alter database add logfile group 06 ('d:\mydb_log06.rdo') size 5m * 第 1 行出现错误: ORA-01185: 日志文件组号6无效 ---提示超过了maxlogfiles数。 ---这里即使数据库中只存在group 5/group4,也就是说不存在group 1~3,想要创建group6也是不行的

SQL> alter database add logfile member 'd:\mydb_lo3.rdo' to group 2; alter database add logfile member 'd:\mydb_lo3.rdo' to group 2 * 第 1 行出现错误: ORA-00357: 日志文件指定了过多成员,最大为 3 -提示超过了maxlogmemberes数。

这个时候就只有重建控制文件了。 重建过程很简单:1.生成trace 2.整理trace 3.选择合适的时间点,关闭数据库,运行整理后的trace

但是当业务很繁忙,特别是7×24的业务,很难选择一个合适的时间点。

Oracle10g中就没这个必要了,也就是说,Oracle会自动更新控制文件里这两个参数值,不需要重建控制文件了!

这是一大惠民措施啊!

oracle10g中默认MAXLOGFILES 为16, MAXLOGMEMBERS为3,但随着log group或member的增加,在我测试的时候,变化如下

    MAXLOGFILES 96     MAXLOGMEMBERS 5
posted @ 2013-07-18 12:29  ArcerZhang  阅读(790)  评论(0编辑  收藏  举报