重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3922|回复: 0
打印 上一主题 下一主题

[参数设置] 修改重做日志大小报ORA-00336: log file size 2048blocks is less than minimum 81...

[复制链接]
跳转到指定楼层
楼主
发表于 2018-6-15 15:26:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiawang 于 2018-6-15 15:28 编辑

redo重做日志文件是Oracle数据库的非常重要的组成部分。当日志文件发生切换时(Log Switch),会触发一个检查点,那么日志文件的大小就和检查点的触发频率相关。更为频繁的检查点可以缩短数据库的恢复时间,但是过于频繁的检查点却会带来性能负担。
在Oracle中,对日志成员的最小尺寸有限制。创建日志组时,如果指定的日志文件尺寸过小,将会产生错误。


具体步骤如下:
查看当前日志大小:
SQL> selectGROUP#,status,bytes/1024/1024 from v$log;

   GROUP# STATUS          BYTES/1024/1024
---------- ---------------- ---------------
        1 INACTIVE                     100
        2 CURRENT                      100
        3 INACTIVE                     100

查看日志文件位置:
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- -----------------------------------------------
IS_
---
        1      ONLINE  E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG
NO


         2        ONLINE  E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG
NO

        3       ONLINE  E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG
NO

修改日志文件大小为1M;
SQL> alter database add logfile group 4('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 1M;
alter database add logfile group 4('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 1M
*
第 1 行出现错误:
ORA-00336: 大小为 2048 的日志文件块数小于最小8192 块数
SQL> alter database add logfile group 4 ('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 2M;
alter database add logfile group 4 ('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 2M
*
第 1 行出现错误:

ORA-00336: 大小为 2048 的日志文件块数小于最小 8192 块数
SQL> alter database add logfile group 4 ('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 3M;
alter database add logfile group 4 ('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 3M
*
第 1 行出现错误:
ORA-00336: 大小为 2048 的日志文件块数小于最小 8192 块数

SQL> alter database add logfile group 4('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO04.LOG') size 4M;
数据库已更改。
SQL> alter database add logfile group 5('E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO05.LOG') size 4M;

数据库已更改。


切换日志到新建日志组
SQL> alter system switch logfile;
系统已更改。
SQL> alter system switch logfile;
系统已更改。
SQL> selectgroup#,members,bytes/1024/1024,status from v$log;
   GROUP#    MEMBERS BYTES/1024/1024STATUS
---------- ---------- --------------- ----------------
        1          1             100 INACTIVE
        2          1             100 ACTIVE
        3          1             100 INACTIVE
        4          1               4 ACTIVE
        5          1               4 CURRENT

综上:在oracle中,对日志成员的最小尺寸有限制。REDO日志大小不能低于4M,因为一个REDO的一个BLOCK为512 bytes,日志文件要求不低于8192个 blocks,所以REDO日志大小不低于4M。
(备注:该测试不适合在生产线中使用,一般来说,把Log Switch的时间控制在半小时左右即可,如果日志切换频繁可能会导致性能下降









分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-19 21:18 , Processed in 0.089664 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表