WEB日志格式及分析

| 收藏本文 下载本文 作者:一个人的狂欢

下面是小编收集整理的WEB日志格式及分析(共含8篇),仅供参考,希望能够帮助到大家。同时,但愿您也能像本文投稿人“一个人的狂欢”一样,积极向本站投稿分享好文章。

WEB日志格式及分析

篇1:WEB日志格式及分析

网站日志挖掘分析-WEB日志格式及分析工具

WEB日志是网站分析和网站数据数据整理最基础的数据,了解其格式和组成将有利于更好地进行数据的收集、处理和分析。

一、日志格式类型

目前常见的WEB日志格式主要由两类,一类是Apache的NCSA日志格式,另一类是IIS的W3C日志格式。NCSA格式又分为NCSA普通日志格式(CLF)和NCSA扩展日志格式(ECLF)两类,目前最常用的是NCSA扩展日志格式(ECLF)及基于自定义类型的Apache日志格式;而W3C扩展日志格式(ExLF)具备了更为丰富的输出信息,但目前的应用并不广泛,所以这里主要介绍的是NCSA扩展日志格式(ECLF)。

二、常见日志格式的组成

这是一个最常见的基于NCSA扩展日志格式(ECLF)的Apache日志样例:

  58.61.164.141 – – [22/Feb/:09:51:46 +0800] “GET / HTTP/1.1″ 206 6326 ”www.google.cn/search?q=webdataanalysis” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”

可以看到这个日志主要由以下几个部分组成:

访问主机(remotehost)显示主机的IP地址或者已解析的域名。

标识符(Ident)由identd或直接由浏览器返回浏览者的EMAIL或其他唯一标示,因为涉及用户邮箱等隐私信息,目前几乎所有的浏览器就取消了这项功能。

授权用户(authuser)用于记录浏览者进行身份验证时提供的名字,如果需要身份验证或者访问密码保护的信息则这项不为空,但目前大多数网站的日志这项也都是为空的。

日期时间(date)一般的格式形如[22/Feb/2010:09:51:46 +0800],即[日期/月份/年份:小时:分钟:秒钟时区],占用的的字符位数也基本固定。

请求(request)即在网站上通过何种方式获取了哪些信息,也是日志中较为重要的一项,主要包括以下三个部分:

请求类型(METHOD)常见的请求类型主要包括GET/POST/HEAD这三种;

请求资源(RESOURCE)显示的是相应资源的URL,可以是某个网页的地址,也可以是网页上调用的图片、动画、CSS等资源;

协议版本号(PROTOCOL)显示协议及版本信息,通常是HTTP/1.1或HTTP/1.0。

状态码(status)用于表示服务器的响应状态,通常1xx的状态码表示继续消息;2xx表示请求成功;3xx表示请求的重定向;4xx表示客户端错误;5xx表示服务器错误。

传输字节数(bytes)即该次请求中一共传输的字节数。

来源页面(referrer)用于表示浏览者在访问该页面之前所浏览的页面,只有从上一页面链接过来的请求才会有该项输出,如果是新开的页面则该项为空。上例中来源页面是google,即用户从google搜索的结果中点击进入。

用户代理(agent)用于显示用户的详细信息,包括IP、OS、Bowser等。

三、日志格式扩展

apache日志格式可以自定义来配置其输出格式,常见的基于NCSA扩展日志格式(ECLF)自定义添加的包括域名(domain)和cookie。其中域名在一个网站拥有二级域名或者子域名时,可以更好地区分日志;而cookie可以作为用户的身份标识。其他具体的自定义信息详见:Custom Log Formats

四、导入日志数据到MySQL中

访问分析是SEO的一项重要工作,但统计、分析工具毕竟功能是针对大众的,很多时候SEO需要一些特定的数据,是统计分析软件、程序所不能提供的。这样,直接的Web日志分析就是最合适的了,日志中会记录每一个访问情况,只要按自己的意愿提取、组合,就能得到想要的数据。使用SQL语句分析是最方便的,需要什么样的数据,只要使用相应的SQL命令就能实现。

导入Web日志到MySQL数据库的实现

1、修改Apache日志格式

修改Web日志格式为:

?

1 Logformat combined %>a,%ui,%un,[%tl],”%rm %ru HTTP/%rv”,%Hs,%h”,”%{User-Agent}>h”,%Ss:%Sh

SQL需要导入的内容有特定的分隔符,Apache的日志默认是以空格分隔的,而有些内容(如状态码中的 200 610)也包含空格,这就无法准确的导入。将日志格式修改为以逗号分隔,就能准确的导入了。还可以根据自己的需要,取消日志格式中不需要的内容,减少日志文件大小。

2、建立MySQL数据表

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 drop table if exists weblog; create table weblog ( id int unsigned auto_increment PRIMARY KEY not null, l_date date, l_time time, c_ip varchar(15), s_ip varchar(15), s_port varchar(5), method varchar(10), path varchar(255), query varchar(255), status varchar(3), domain varchar(50), system varchar(200) );

注:上面只是一个MySQL数据表结构范例,没有与上一步日志格式对应,请勿直接复制使用!

新建一个数据库,数据表结构与日志格式对应起来。

3、导入日志到MySQL中

1 LOAD DATA INFILE ’/日志位置/日志文件’ INTO TABLE weblog FIELDS TERMINATED BY ‘,’;

weblog 对应上面的数据表名。

另外,乐思蜀从网上找到一个将IIS日志导入到MySQL数据库的.pl程序,需要的点这里下载(Readme.txt为使用说明)。

五、常用日志分析工具

1.awstats

2.analog

3.webalizer

4.PHPMyVisites

篇2:WEB日志格式

轻松看懂WEB日志格式

WEB日志是网站分析和网站数据仓库的数据最基础来源,了解其格式和组成将有利于更好地进行数据的收集、处理和分析。

1、日志格式类型

目前常见的WEB日志格式主要由两类,一类是Apache的NCSA日志格式,另一类是IIS的W3C日志格式。NCSA格式又分为NCSA普通日志格式(CLF)和NCSA扩展日志格式(ECLF)两类,目前最常用的是NCSA扩展日志格式(ECLF)及基于自定义类型的Apache日志格式;而W3C扩展日志格式(ExLF)具备了更为丰富的输出信息,但目前的应用并不广泛,所以这里主要介绍的是NCSA扩展日志格式(ECLF)。

2、常见日志格式的组成

这是一个最常见的基于NCSA扩展日志格式(ECLF)的Apache日志样例:

58.61.164.141 – – [22/Feb/2010:09:51:46 +0800] “GET /reference-and-source/weblog-format/ HTTP/1.1″ 206 6326 ” www.google.cn/search?q=webdataanalysis” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”

可以看到这个日志主要由以下几个部分组成:

访问主机(remotehost)

显示主机的IP地址或者已解析的域名。

标识符(Ident)

由identd或直接由浏览器返回浏览者的EMAIL或其他唯一标示,因为涉及用户邮箱等隐私信息,目前几乎所有的浏览器就取消了这项功能。

授权用户(authuser)

用于记录浏览者进行身份验证时提供的名字,如果需要身份验证或者访问密码保护的信息则这项不为空,但目前大多数网站的日志这项也都是为空的。

日期时间(date)

一般的格式形如[22/Feb/2010:09:51:46 +0800],即[日期/月份/年份:小时:分钟:秒钟 时区],占用的的字符位数也基本固定。

请求(request)

即在网站上通过何种方式获取了哪些信息,也是日志中较为重要的一项,主要包括以下三个部分:

请求类型(METHOD)

常见的请求类型主要包括GET/POST/HEAD这三种;

请求资源(RESOURCE)

显示的是相应资源的URL,可以是某个网页的地址,也可以是网页上调用的图片、动画、CSS等资源;

协议版本号(PROTOCOL)

显示协议及版本信息,通常是HTTP/1.1或HTTP/1.0。

状态码(status)

用于表示服务器的响应状态,通常1xx的状态码表示继续消息;2xx表示请求成功;3xx表示请求的重定向;4xx表示客户端错误;5xx表示服务器错误。

传输字节数(bytes)

即该次请求中一共传输的字节数。

来源页面(referrer)

用于表示浏览者在访问该页面之前所浏览的页面,只有从上一页面链接过来的请求才会有该项输出,如果是新开的页面则该项为空。上例中来源页面是google,即用户从google搜索的结果中点击进入。

用户代理(agent)

用于显示用户的详细信息,包括IP、OS、Bowser等。

3、日志格式扩展

apache日志格式可以自定义来配置其输出格式,常见的基于NCSA扩展日志格式(ECLF)自定义添加的包括域名(domain)和cookie。其中域名在一个网站拥有二级域名或者子域名时,可以更好地区分日志;而cookie可以作为用户的身份标识。

篇3:nginx日志分分析方法WEB服务器

一、从nigx上截取的条nginx日志

- 122.59.14.12 122.59.14.12 - - [24/Apr/:10:37:06 +0800] “GET /product/sellerscore.do?returnpage=0&supplierid=ff8080811fdc4c29011feaa9ed165c11 HTTP/1.1” 499 0 “www.dhgate.com/wholesale/store.do?act=sellerStore&sellerid=ff8080811fdc4c29011feaa9ed165c11&datatype=&winid=all&sortinfo=operatedate&sorttype=down&sort=operatedate,down&keyword=i phone&freeshipping=0&wholesale=0&price=0&minprice=&maxprice=&pagesize=40&catalogid=” “Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; FunWebProducts; GTB6.6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CPNTDF; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C)” rBABeU2RGgBXQj3OA46vAg==

二、在nginx配置文件中有关nginx日志的配置

$remote_addr - $remote_user [$time_local] “$request” '

'$status $body_bytes_sent “$http_referer” '

'“$http_user_agent” $secure_dhgate_auth '

三、以下是对nginx日志记录每段记录的解释

1、122.59.14.12

这是一个请求到nginx服务器的客户端ip($remote_addr),

2、122.59.14.12

这是一个请求到nginx服务器的客户端用户($remote_user)。

3、[24/Apr/2011:10:37:06 +0800]([$time_local])

记录请求时间(格式为[day/month/year:hour:minute:second zone],最后的+0800表示服务器所处的时区为东八区)

4、“GET /product/sellerscore.do?returnpage=0&supplierid=ff8080811fdc4c29011feaa9ed165c11 HTTP/1.1”

($request)

这一项整个记录中最有用的信息,首先,它告诉我们的服务器收到的是一个GET请求,其次,是客户端请求的资源路径,第三,客户端使用的协议时HTTP/1.1,整个格式为“%m %U%q %H”,即“请求方法/访问路径/协议”

5、 499 (对于499状态码得解释我会写一篇文章专门解释)--($status)

这是一个状态码,由服务器端发送回客户端,它告诉我们客户端的请求是否成功,或者是重定向,或者是碰到了什么样的错误,这项值为200,表示服务器已经成功的响应了客户端的请求,一般来说,这项值以2开头的表示请求成功,以3开头的表示重定向,以4开头的标示客户端存在某些的错误,以5开头的标示服务器端存在某些错误,详细的可以参见 HTTP specification (RFC2616 section 10).[www.w3.org/Protocols/rfc2616/rfc2616.txt]

6、0 ($body_bytes_sent )

这项表示服务器向客户端发送了多少的字节,在日志分析统计的时侯,把这些字节加起来就可以得知服务器在某点时间内总的发送数据量是多少

7、“www.dhgate.com/wholesale/store.do?act=sellerStore&sellerid=ff8080811fdc4c29011feaa9ed165c11&datatype=&winid=all&sortinfo=operatedate&sorttype=down&sort=operatedate,down&keyword=i phone&freeshipping=0&wholesale=0&price=0&minprice=&maxprice=&pagesize=40&catalogid=”

($http_referer)

这一项是($http_referer)客户端输入的http请求,

8、Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; FunWebProducts; GTB6.6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CPNTDF; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C)“

($http_user_agent)

这项主要记录客户端的信息

9、rBABeU2RGgBXQj3OA46vAg==

$secure_dhgate_auth

四、实用的日志分析脚本

1.查看nginx的进程数

# ps -aux|grep nginx|wc -l

2、分析日志查看当天的ip连接数

# grep ”23/Apr/2011“ logs/www.dhgate.access.log|wc -l

3.查看指定的ip在当天究竟访问了什么url

# grep ”23/Apr/2011“ logs/www.dhgate.access.log|grep ”69.248.213.128“|awk '{print $9}'

4.查看当天访问排行前10的url

# grep ”23/Apr/2011“ logs/www.dhgate.access.log|awk '{print $9}'|sort |uniq -c |sort -nr |head -n 10

5、查看访问次数最多时间以小时为单位(热点)

# grep ”24/Apr/2011“ logs/www.dhgate.access.log|awk '{print $6}'|cut -c14-15|sort |uniq -c |sort -nr|head​

篇4:web前端开发实习日志

通过本次实训是对前面学过的所有面向对象的编程思想以及JAVAWEB编程方法的一个总结、回顾和实践,因此,开始设计前要求学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写采用JSP+Servlet+JavaBean技术框架的应用系统综合实例,以掌握JavaWEB开发技术。具体要求有以下几点:1.问题的描述与程序将要实现的具体功能。2.程序功能实现的具体设计思路或框架,并检查流程设计。3.代码实现。4.设计小结。

开发环境和所使用的技术基于J2SE基础,利用MyEclipse8.5以上版本的集成开发环境完成实训项目,界面友好,代码的可维护性好,有必要的注释和相应的文档。

学习java的路不是一步两步就可以的了,因为很多语言和开发都要不但学习也需要时间,我会继续不断学习进步,提升自己。

篇5:web前端开发实习日志

通过3天的实训,虽然实训的时间不长,但是总体上收获是很大的,我们的java课程学到的只是java和皮毛,[java web实习报告]一开始我还没有信心完成。我仔细看了书上的代码之后。对计事本有了一个大体的了解,在初训的实候知道自己应该做一个什么样的计事本了,在实训的过程中也遇到了不少困难,通过查API文档和看书,解决了问题,在写到字符的查找的替换时后,用到了上课时学到的知识,对字体的风格的保存里面的颜色分离和还原方法,是通过查API文档获得的,现在我所写的计事本只实现在一些基本功能。简单的复制粘贴,字体风格的设置,还有就是查找和替换功能以及一些字体风格的保存.对文件的操作基本都用到了。

在实现记事本的功能过程中,也不是很顺利,基本的文件读写和保存文档的复制、粘贴、删除等功能还比较容易实现,但如何改变字体、字体颜色和背景颜色,就比较麻烦了,要实现字体颜色和背景颜色,首先要调用系统的调色板,再进行设置。但如何调用系统调色板 我是通过查阅帮助文档来找到其调用方法的。像自动换行、设置字体等都是通过方法来调用,给相关事件加上监听,在进行响应事件。整个程序中方法才是最关键的,也是最困难的。所以像查找、替换、转到几个功能我都不知道用什么方法,也由于时间有限,没有完成其功能。总体的感觉是对java有了一个全新的认识,现在感觉用java做小的图形用户程序有些缺陷,但是在其的应用方面。尤其是有网络方面的应用,在整个实训我也尝试过做一个小的画图软件。但是由于时间关系还有一个是自身的知识的欠缺,最终这个事情被搁浅下来了。最后还是进行计事本的编写。由于在做画图软件时花了不了时间,所以现在的计事本的功能不是很全,如果有更多的时间,我会把这个记事体再完善一下,再把画图软件也做出来。实训的时间不长,但是我会在课外把它们的功能完善。然后再学习一下java和网络的编程,体验java的前沿技术。在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的时间,我在做这个记事本的时间,其中也问到过许多问题,通过同学的帮助下解决了,提高了程序的开发进程。其他的同学有问题的话我也是给他们尽量解决。我认为学习知识的过程当中就应该是相互学习相互进步的。Java是面在的主流技术我会努力将它学好,现在我缺乏的是坚持不懈的精神,我会向他学习。虽然学习java的路还很找,但我会继续走下去。

篇6:IIS日志自动清理WEB服务器

IIS在运行的过程中日志会不停地增长,若iis的网站被频繁的调用或不当的调用,则会产生很多日志,我在系统运维的时候曾出现过20G的系统盘, 由于合作商开发的程序有问题,每几百微秒调用一次web服务,短期内导致日志膨胀至8~9G。对于系统盘或者磁盘空间不够的服务器来说。IIS日志自动清 理则非常有必要。

脚本如下:

1,文件名:rmiislog.js

脚本内容:

function dellogfile(beforedays)

{

var fso = new ActiveXObject(”Scripting.FileSystemObject“);

var dir = fso.GetFolder(”c:WINDOWSsystem32LogFiles“);   //改成你的 IIS 日志目录

for (var fc = new Enumerator(dir.SubFolders); !fc.atEnd; fc.moveNext())

{

if (fc.item().name.substr(0,5) == ”W3SVC“)

{

for (var logfiles = new Enumerator(fc.item().Files); !logfiles.atEnd(); logfiles.moveNext())

{

var fileName = logfiles.item().name;

var year = ”20“ + fileName.substr(2, 2);

var mouth = fileName.substr(4, 2);

var day = fileName.substr(6, 2);

var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);

if (days >= beforedays) logfiles.item().Delete();

}

}

}

}

dellogfile(30);//删除30天前的日志

2,批处理脚本

文件名:rmiislog.bat

脚本内容:

cscript. rmiislog.js

最后配置一个windows计划即可定时清理日志

篇7:IIS日志分析工具之EXCEL数据透视表WEB服务器

互联网上分析IIS的工具倒是不少,不过我没有遇见能够符合我要求的,一般的都是只能查询IIS日志内的蜘蛛爬行的次数而已,

下面说个比较简单且非常实用的方法,通过EXCEL的一些简单的公式做出想得到的一系列数据,例如时间间隔,爬行页面,返回状态码,网址参数,蜘蛛类型,蜘蛛IP等,通过以上数据可 以进行对网站的问题的排查,更正。

首先必须有自己的服务器或者能够查看IIS日志的权限,通过FTP将iis日志文件从空间中下载到本地服务器获取IIS日志的方式:打开IIS,点击要查询网站>右键>属性>网站选项卡>属性>即可看到如图 如果是空间的话有些空间服务上会将日志文件放在网站根目录的。如果没有的话可以向服务商索取。

然后根据路径进行查找相应的文件夹然,可以看到文件夹下有很多.log文件就是日志文件,然后通过FTP下载到本地。

如果文件过大操作起来可能不方面,可以使用UltraEdit打开,筛查你想得到的数据(具体自己下载一个研究下)。文件不是很大可以使用记事本直接打开后复制到EXCEL。

然后将前4行删除,选择A列,点击excel数据>分列>分割符号

注:相关网站建设技巧阅读请移步到建站教程频道,

下一步>其他>输入空格>下一步>完成。这样第一步就完成了。

然后选择A1列>右键>插入 然后将C,D,E,I列删除。在第一行分别输入:日期,时间,网页,参数,端口,IP,蜘蛛,状态码 另外说明一下参数,参数这个是动态网页面问号(?)后面的部分。www.***.org/jiaju/chufang /5309_3.html 这个路径后面的参数值为3,那么组合之后真是的URL就是www.***.org/jiaju/chufang /5309_3.html?3 因此说明蜘蛛还是可以分辨参数的,有些网站投放广告后面经常都会带上参数进行统计,但经过抓取后参数都会被去除的。所以尽量不要在内容页使用此类的URL。

选中G列>数据>筛选>点击G列箭头>文本筛选>包含

输入baidupider 点击确定。即可看到所有百度蜘蛛访问的数据,这样的话大致的数据已经呈现出来了,如果查看google在筛选时候输入googlebot就可以了。随后制作一个简单的数据透视表便于分析。 一次顺序:插入>数据透视表>数据透视表>确定 在右侧按先后顺序勾选网页,蜘蛛,时间。然后点击蜘蛛后面的小三角,

点击标签筛选>包含>输入baidupider。既可以筛选出最终要看的网页的spider爬行时间详细数据,当然可以按照其他组合进行筛选各类数据,就不演示了。

篇8:Informix 日志分析数据库

大家都知道informix是需要日志的,但各日志都做什么用,各有什么意义等等,我们在下面做一个探讨: 首先需要说明的是informix的日志有两种:一种是物理日志,用来存放数据的前映象;另一种是逻辑日志,用来存放所有事物的操作过程, 在初始化的配置中,物理

大家都知道informix是需要日志的,但各日志都做什么用,各有什么意义等等,我们在下面做一个探讨:

首先需要说明的是informix的日志有两种:一种是物理日志,用来存放数据的前映象;另一种是逻辑日志,用来存放所有事物的操作过程。

在初始化的配置中,物理日志和逻辑日志的不是存放在根的磁盘空间的。默认的大小物理日志2M,逻辑日志6个,每个日志文件2M。但在实际的生产环境中,这两个参数一般是需要调整的。

从informix的本身的建议来说,要求逻辑日志的大小一般是要求一天的业务量,逻辑日志滚一圈,物理日志/逻辑日志=1/3。但是有的数据量很大的业务系统,这样做是不可能的,要做适当的调整。

物理日志文件的个数仅为1,逻辑日志文件的个数最小为3,最大为32767。关于物理日志和逻辑日志的改变,我们可以使用onparams命令来完成。

C:Informix>onparams --

Usage:  onparams  -a -d  [-s ] [-i] |

-d -l  [-y]     |

-p -s  [-d ] [-y]

-a  - Add a logical log file

-i  - Insert after current log

-d  - Drop a logical log file

-p  - Change physical log size and location

-y  - Automatically responds ”yes“ to all prompts

上面是onparams的帮助文件,下面我们首先来改变物理日志的位置和大小:

C:Informix>onparams -p -s 40000 -d phydbs -y

Shutting down, please wait ...

Initializing, please wait ...

Recovering, please wait ...

可以通过onstat �Cl 中的phybegin来查看物理日志当前存在了哪个chunk上。Physize来查看当前物理日志文件大大小,单位是页。在这之前我们创建了phydbs,并指定了他大小。我们在-s后指定物理日志文件的大小,在-d后指定物理日志文件的位置。接着我们来做逻辑日志位置和大小的改变:

C:Informix>onparams -a -d logdbs -s 30000 -i

Logical log suclearcase/” target=“_blank” >ccessfully added.

然后用onstat �Cl来查看新加的逻辑日志:

C:Informix>onstat -l

IBM Informix Dynamic Server Version 9.40.TC2E1   -- Quiescent -- Up 00:08:10 -- 25728 Kbytes

Physical Logging

Buffer bufused  bufsize  numpages numwrits pages/io

P-1  0        8        8        7        1.14

phybegin         physize    phypos     phyused    %used

3:53             10000      12         0          0.00

Logical Logging

Buffer bufused  bufsize  numrecs  numpages numwrits recs/pages pages/io

L-3  0        8        37       14       14       2.6        1.0

Subsystem    numrecs  Log Space used

OLDRSAM      37       2628

address  number   flags    uniqid   begin                size     used    %used

0CB37CA8 1        U-B----  1        1:763                 500      500   100.00

0CB37CE8 2        U-B----  2        1:1263                500      500   100.00

0CB37D28 3        U-B----  3        1:1763                500      500   100.00

0CB37D68 4        U-B----  4        1:2263                500      500   100.00

0CB37DA8 5        U-B----  5        1:2763                500      284    56.80

0CB37DE8 6        U---C-L  6        1:3263                500      315    63.00

0CED8B98 12       A------  0        2:37553              7500        0     0.00

0CED8B58 11       A------  0        2:30053              7500        0     0.00

0CED8B18 10       A------  0        2:22553              7500        0     0.00

0CED8AD8 9        A------  0        2:15053              7500        0     0.00

0CED8A98 8        A------  0        2:7553               7500        0     0.00

0CED8A58 7        A------  0        2:53                 7500        0     0.00

12 active, 12 total

可以发现新加的逻辑日志状态都是A,先做0级备份ontape �Cs �CL 0之后用onstat �Cl可以发现所有日志的flag位都变成了F状态,

然后用onmode �Cl切换逻辑日志到新加的逻辑日志,用onmode �Cc强制做检查点操作。最后用onparams �Cd �Cl log_file_num �Cy来删除原来的逻辑日志文件。这样就完成了informix日志的迁移。

在onstat �Cl中,flag位表示了逻辑日志的状态,

A表示新加了还不能使用的日志

F表示空闲的可以使用的日志,一般是在0级备份之后才有这样的状态

U表示已经使用的逻辑日志

L表示当前的日志文件包含一个检查点

C表示正在使用当前的日志文件

B表示已经备份的日志文件

一般在新增或删除日志文件之后都要做0级备份。

在onconfig文件中,LOGFILES指定了IDS逻辑日志的个数,LOGSIZE指定了逻辑日志的大小,PHYSDBS指定了物理日志的位置,PHYSFILE指定了物理日志大小。LTAPEDEV指定了逻辑日志备份的位置,LTAPEBLK指定了每个block块的大小,LTAPESIZE指定了备份文件的大小。

下面我们讨论数据库的日志模式:

无日志

无缓冲日志

缓冲日志

ansi模式

我们可以通过ontape 来改变日志的模式

采用无日志的方式时,所有的DML语句都不写日志,也就是说此时,数据库不支持事物。当数据库恢复系统备份的时候,无日志的数据库不能完全恢复。因为在备份中只记录了备份时的状态,备份后的数据库的变化必须从逻辑日志中恢复,所以这些改变是不可恢复的。

缓冲日志:所有的DML语句都写入log buffer,当log buffer写满的时候,就开始写入磁盘。这样就可以大大减少磁盘的I/O,从而提高数据库的性能。但是在系统发生问题恢复的时候,缓冲区内的数据将丢失。这些数据是不可能恢复的。

无缓冲日志模式:所有的 DML语句在发生的时候是写到缓冲里的,但事物commit之后就立刻写回磁盘,这样在系统发生问题就保证了数据丢失的最少,但是增加了磁盘的I/O,所以数据库的性能会受到一定的影响。

Ansi模式:此模式和无缓冲日志模式具有相同的日志缓冲处理方法,但是此模式是不可逆的。

另外BLOB日志的处理也是十分特别的,他不需要物理日志,不写前映象。BLOB页是直接写磁盘的,不经过共享内存的处理。任何BLOB空闲映象的改变都将记录到逻辑日志中,所有的blob spaces数据刷新到硬盘上是随逻辑日志的的备份而写下去的。

原文转自:www.ltesting.net

web前端面试题

党员个人总结及分析

web前端应届生自我介绍

文言文阅读及答案分析

个人简历设计及技巧分析

急诊科年终总结及不足之处分析

起重机机械故障分析及预防措施

题君山原文及分析

面试技巧及注意事项分析

《岳阳楼记》原文翻译及分析

WEB日志格式及分析(精选8篇)

欢迎下载DOC格式的WEB日志格式及分析,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档