oracle添加redo logfile,简析REDO LOGFILE-程序员宅基地

技术标签: oracle添加redo logfile  

我们知道Oracle里联机日志文件(Online redo logfile)循环记录了数据库所有的事务(transaction)。

它的大小、个数和存储位置对数据库性能和恢复也是有重要影响的。本文总结一下关于redo logfile的一些

内容。

一、redo logfile的简单介绍

它一般有大小相同的一组文件构成。我们可以查看数据库视图v$logfile知道它的个数和存储位置。

SVRMGRL> select * from v$logfile;

查看数据库视图v$log知道它当前的状态。

SVRMGRL> select * from v$log;

一个时间只有一组logfile group是工作状态(current), redo logfile满了后会自动切换到下一个

logfile group, 如果数据库是归档方式同时写到归档日志文件。这些文件不能用常规的文本编辑器查看,

它以特定的格式存放, 只有数据库或者专门的软件可以看懂它。

redo logfile的最大数目是在创建数据库时指明的。如果你想知道当前数据库redo logfile的最大数值

是多少,重新生成控制文件, 就可以知道。

SVRMGRL>alter database backup controlfile to trace;

这条语句会在$ORACLE_BASE/admin/dbname/udump/路径下生成当前时间的一个*.trc文件, 也就是数据库

的控制文件, 用文本编辑器, 即可看到数据库创建时用的一些参数, 包括redo logfile的最大数(maxlogfiles)。

二、 redo logfile的大小和位置对数据库性能的影响

如果用ORACLE的安装向导创建的典型数据库, 它的redo logfile大小为500K, 这基本上是不能满足典型的

OLTP应用的, 在数据库日志文件(alert_orasid.log)里会记录着频繁的log switch。ORACLE推荐log switch

时间最好在15--30分钟之间, 所以redo logfile的大小由数据库DML操作数据的大小决定其最佳大小。

redo logfile最好有多个存储位置, 多组成员, 使数据库恢复时有更多的选择。

典型的OLTP应用,redo logfile大小可以为16M。当然繁忙的数据库, 例如当今的门户网站, 这个值可以达

到100M以上.

如果你发现当前数据库日志文件里log switch的时间偏大或者偏小,不要紧。ORACLE提供了在数据库联机状

态来改变redo logfile大小的方法。

三、在联机状态改变redo logfile大小的方法

假如原来有3个小的redo log file, 下面是UNIX环境下的一个例子:

第一步: 往数据库添加三个大的redo logfile

SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP 4

('/opt/oradata/app/redo04.log',

'/ora_bak/oradata2/redolog/redo04.log') size 16M reuse;

SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP 5

('/opt/oradata/app/redo05.log',

'/ora_bak/oradata2/redolog/redo05.log') size 16M reuse;

SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP 6

('/opt/oradata/app/redo06.log',

'/ora_bak/oradata2/redolog/redo06.log') size 16M reuse;

第二步: 手工地做log switch, 使新建的redo logfile起作用.

SVRMGRL>alter system switch logfile;

此操作可以执行一到几次, 使旧的redo logfile成inactive状态.

第三步: 删除原来旧的redo logfile.

SVRMGRL>alter database drop logfile group 1;

SVRMGRL>alter database drop logfile group 2;

SVRMGRL>alter database drop logfile group 3;

四、跟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

http://www.dengb.com/oracle/587514.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/587514.htmlTechArticle我们知道Oracle里联机日志文件(Online redo logfile)循环记录了数据库所有的事务(transaction)。 它的大小、个数和存储位置对数据库性能和恢复也是...

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39980234/article/details/116392408

智能推荐

python比java好在哪里_python和java哪个好-程序员宅基地

文章浏览阅读438次。python和java哪个好?书声琅琅Python培训徐老师介绍,这两年来IT教育发展迅速,编程语言随着发展也日益月异,比较火的Python语言发展迅速,与传统使用的JAVA语言来说,火爆程度差不多,就有同学问了,python和java这两个语言到底哪个好呢?我要如何选择学习哪个语言,python和java哪个好就业?针对这个问题,下面我们一起来看一看。不过,这里针对别人讲的,有人跟你说Java比..._java比python好在哪里

POJ 3311 Hie with the Pie(Floyd+状态压缩DP)-程序员宅基地

文章浏览阅读378次。C - Hie with the PieTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionThe Pizazz Pizzeria prides itself in delivering pizzas to_hie with the pie

BroadCastReceiver的工作过程_解释一下 broadcast 和 intent 在 app 内传递消息的工作流程-程序员宅基地

文章浏览阅读389次。广播的注册过程 API版本 26 参考资料:Android开发艺术探索总体流程预览 在Activity中调用registerReceiver方法,最终调用的是ContextWrapper中的registerReceiver方法。 1 ContextWrapper registerReceiver@Override public Intent registerReceiver(_解释一下 broadcast 和 intent 在 app 内传递消息的工作流程

「无线安全」WIFI安全-1之浅谈Wi-Fi-程序员宅基地

文章浏览阅读1.8k次,点赞53次,收藏16次。WiFi 全称 `Wireless Fidelity`,又称为`802.11b`标准。`Wireless Fidelity`翻译过来是`无线保真`,其中保真是指要求在无线网络中可靠地传输数据。Wi-Fi是一种无线网络技术,可以用于无线互联网接入和数据传输。它是一项非常重要的技术,为我们提供了无线上网和连接设备的便利,通俗的讲就是一种把有线上网的方式转变成无线上网方式的技术。

小米官网轮播图js+css3+html实现-程序员宅基地

文章浏览阅读1.1k次。官网轮播:我的轮播:重难点:  1、布局  2、图片和右下角小圆点的同步问题  3、setInterval定时器的使用  4、淡入淡出动画效果  5、左右箭头点击时,图片和小圆点的效果同步  6、另一种轮播思维解答:  1、最底下容器使用相对定位,图片、小圆点、箭头均使用绝对定位悬浮在底部容器上,图片均的top和left值均设置..._使用html和css3开发制作小米商城网页,并利用javascript制作轮播图,从而完成

pycharm 光标突然变粗,无法正常书写_mac pychorm 工具游标莫名其妙-程序员宅基地

文章浏览阅读4.8k次,点赞4次,收藏3次。使用pycharm有时候不知道按到什么按键,中光标变粗,无法正常打代码,如下:此时pycharm变成了改写模式,只需要按下键盘的ins小按键(即insert键)即可切换成正常模式,问题就解决了...._mac pychorm 工具游标莫名其妙

随便推点

frp为服务器配置穿透,实现远程访问内网服务器_frp线路租用-程序员宅基地

文章浏览阅读738次。由于之前远程连接服务器时只能在同一个网络下(局域网)访问,当离开这个网络区域时,要想远程连接则无法实现。本文正是要解决这样一个问题,实现外网远程访问内网服务器的目的。1、首先需要租用一个服务器可以选用阿里云,百度云,腾讯云等,学生租用的话会比较便宜,之前有个同学租用了一个月的阿里云服务器,资费是10/月。2、下载frp,这是一个配置远程访问的脚本文件(不论外网内网都可以通过这个脚本实现..._frp线路租用

JS仿qq下拉菜单_如何实现一个qq列表类似的js逻辑操作?-程序员宅基地

文章浏览阅读108次。功能:1、点击我的好友会展开下拉出具体的好友2、再次点击,会折叠内容3、首次点击某个具体的好友,只有当前这个好友高亮4、再次点击这个好友时,高亮状态就会消失主要练习:js绑定事件慢慢修改小细节:再次点击,会折叠内容时,里面的高亮要全部取消<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="._如何实现一个qq列表类似的js逻辑操作?

Allegro Inside ODB++ 安装_odb++ inside-程序员宅基地

文章浏览阅读7.6k次。allegro odb++ 工具下载地址:http://www.valor.com/en.aspx请选择操作系统您要下载的ODB + +内包装和单击相应的链接。http://www.valor.com/en/Products/ODBpp/Cadence%20Allegro_Inside%20Package.aspx下载并安装文件“ odb_inside_install.nt.v800..._odb++ inside

HTML之实现可隐藏式导航栏_html 怎么实现作于分栏并可以隐藏-程序员宅基地

文章浏览阅读1.3w次,点赞8次,收藏23次。HTML之实现可隐藏导航栏预计目标部分代码展示关键代码解释frame框架用法hideOrDisplayNavFrame()函数解释结果展示预计目标论坛系统中左右两列的框架集结构便于浏览者导航,但同时也使得浏览者的工作区域变小。浏览者希望必要的时候可以隐藏框架集中的某个框架,以使得其他相邻的框架占据尽可能打的面积,如下图所示。现在希望在 tool.html 页面中放置一个自定义命令按钮,单机此按..._html 怎么实现作于分栏并可以隐藏

pycharm 修改__author__-程序员宅基地

文章浏览阅读430次。2019独角兽企业重金招聘Python工程师标准>>> ..._ubuntu中pycharm修改code author

关于intouch软件打开项目时出现“另一会话正在编辑此应用。无法编辑此应用程序。”?_intouch另一会话正在编辑此应用程序-程序员宅基地

文章浏览阅读3.2k次。找到项目文件(注意是项目文件)地址,删除文件夹中的appedit.lok文件。_intouch另一会话正在编辑此应用程序