免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4847 | 回复: 6
打印 上一主题 下一主题

请教各位:如何扩大重做日志(redolog)文件的大小 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-11-11 11:59 |只看该作者 |倒序浏览
数据库中的原有配置3个redolog文件,大小1M,由于切换频繁,想扩大大小,如何操作?

论坛徽章:
0
2 [报告]
发表于 2003-11-11 12:10 |只看该作者

请教各位:如何扩大重做日志(redolog)文件的大小

假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB

1、创建2个新的日志组
alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;
alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;

2、切换当前日志到新的日志组
alter system switch logfile;
alter system switch logfile;

3、删除旧的日志组
alter database drop logfile group 1;
alter database drop logfile group 2;
alter database drop logfile group 3;

4、操作系统下删除原日志组1、2、3中的文件

5、重建日志组1、2、3
alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;
alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;
alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;

6、切换日志组
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;

7、删除中间过渡用的日志组4、5
alter database drop logfile group 4;
alter database drop logfile group 5;

8、到操作系统下删除原日志组4、5中的文件

9、备份当前的最新的控制文件
SQL>; connect internal
SQL>; alter database backup controlfile to trace resetlogs

(注意:如果为安全考虑每个group可以多加几个文件)

论坛徽章:
0
3 [报告]
发表于 2003-11-11 15:23 |只看该作者

请教各位:如何扩大重做日志(redolog)文件的大小

我已经试过了,好用,多谢txfy大虾
还有个问题:增大了redolog文件,其他的数据库参数是否也需要相应改动?还请赐教!多谢!

论坛徽章:
0
4 [报告]
发表于 2003-11-11 15:29 |只看该作者

请教各位:如何扩大重做日志(redolog)文件的大小

一般不用修改什么相关参数,注意相关的log buffer1-3m就可以了!

论坛徽章:
0
5 [报告]
发表于 2003-11-11 16:41 |只看该作者

请教各位:如何扩大重做日志(redolog)文件的大小

非常感谢txfy的帮忙
再请麻烦说的详细一些,是指的init.ora文件中的LOG_BUFFER参数吗,需要跟日志文件的大小如何配合?要能举个例子就更好了

因为我是远程维护用户的数据库,希望一次搞定,不然就要挨骂了:(

论坛徽章:
0
6 [报告]
发表于 2003-11-11 17:23 |只看该作者

请教各位:如何扩大重做日志(redolog)文件的大小

对,这个参数有些地方建议加大,但是经过向cp,rollingpig等老大的讨教,都认为这个参数不应过大,1-3m就可以了,因为这个可能是跟redo log联系比较紧密地,所以我提出这个参数,你看一下就可以了,应该默认的就不会很大!

论坛徽章:
0
7 [报告]
发表于 2003-11-12 15:19 |只看该作者

请教各位:如何扩大重做日志(redolog)文件的大小

多谢斑竹的帮助
我从网上找到一篇有关redologfile的文章,与大家共享,转帖自http://fengyu.china.com/


跟redo logfile有关的其它数据库参数   
   
    1、log_buffer
   
       log_buffer是ORACLE SGA的一部分, 所有DML命令修改的数据块先放在log_buffer里, 如果满了或者
       到       了check_point时候通过lgwr后台进程写到redo logfile里去。它不能设得太大,这样在意
       外发生时会丢失很多改变过的数据。它最好不要大于512K或者128K*CPU个数。
      
       我们可以用下面的SQL语句检测log_buffer使用情况:
      
        SVRMGRL>; select rbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value||'%' "radio"
                 from v$sysstat rbar,v$sysstat re
                 where rbar.name='redo buffer allocation retries'
                 and re.name='redo entries';

       这个比率小于1%才好,否则增加log_buffer的大小
      
    2、log_checkpoint_interval

       Oracle8.1 版本后log_checkpoint_interval指的是两次checkpoint之间操作系统数据块的个数。
      
       checkpoint时Oracle把内存里修改过的数据块用DBWR写到物理文件,用LGWR写到日志和控制文件。
              
       一般UNIX操作系统的数据块为 512 bytes。
      
       从性能优化来说 log_checkpoint_interval = redo logfile size bytes / 512 bytes
        
      
    3、log_checkpoint_timeout
   
            Oracle8.1 版本后log_checkpoint_timeout指的是两次checkpoint之间时间秒数。
            Oracle建议不用这个参数来控制,因为事务(transaction)大小不是按时间等量分布的。
        log_checkpoint_timeout = 0
        log_checkpoint_timeout = 900
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP