如何用oracle分析网站,使用外部表分析eygle.com的网站访问日志

news/2024/5/13 20:42:18/文章来源:https://blog.csdn.net/weixin_39534002/article/details/116412841

使用外部表分析eygle.com的网站访问日志

6ee5639a40442445944d63b514b2dd02.png

经过使用Oracle的外部表对Oracle的警告日志文件、跟踪文件进行获取和分析之后,我发现外部表实在是非常易用,甚至到了随心所欲的境地(当然外部表尚不能修改外部文件)。

使用外部表可以很容易的实现网站的访问日志分析。

虽然使用Awstats等工具也可以实现,可是使用Oracle来分析我们更应该得心应手。

而且这一切还是有那么一点点Cool的。

好了,闲言少叙,让我们来看一下我分析的过程。

首先创建路径指向日志存放目录:[oracle@jumper elog]$ pwd

/opt/oracle/elog

[oracle@jumper elog]$ ls

eygle_access_log.20061016

[oracle@jumper elog]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Oct 18 08:59:35 2006

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:

Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production

With the Partitioning option

JServer Release 9.2.0.4.0 - Production

SQL> create or replace directory elog

2 as '/opt/oracle/elog';

Directory created.

然后我将这个路径的访问权限授予eygle用户来进行具体操作:

SQL> grant read,write on directory elog to eygle;

Grant succeeded.

选择合适的分隔符创建外部表:SQL> connect eygle/eygle

Connected.

SQL> create table eygle_access_log_20061016

2 ( ip_address_date varchar2(100),

3 acc_file varchar2(400),

4 acc_cdsz varchar2(20),

5 acc_url varchar2(400),

6 left_blank varchar2(10),

7 acc_agent varchar2(400))

8 organization external (

9 type oracle_loader

10 default directory ELOG

11 access parameters (

12 records delimited by newline

13 nobadfile

14 nodiscardfile

15 nologfile

16 fields terminated by '"'

17 missing field values are null

18 )

19 location('eygle_access_log.20061016')

20 ) reject limit unlimited

21 /

Table created.

此时我们就可以对eygle.com的2006年10月16日的访问日志进行分析了。

我们可以先看一下各个字段的分界结果,示例如下:SQL> select ip_address_date from eygle_access_log_20061016

2 where rownum <11;

IP_ADDRESS_DATE

-------------------------------------------------------------

38.102.128.140 - - [16/Oct/2006:00:00:17 +0800]

66.249.65.113 - - [16/Oct/2006:00:00:19 +0800]

202.160.178.221 - - [16/Oct/2006:00:00:35 +0800]

59.36.78.100 - - [16/Oct/2006:00:00:37 +0800]

59.36.78.100 - - [16/Oct/2006:00:00:38 +0800]

72.30.61.8 - - [16/Oct/2006:00:00:38 +0800]

221.217.84.230 - - [16/Oct/2006:00:00:42 +0800]

221.217.84.230 - - [16/Oct/2006:00:00:42 +0800]

74.6.65.236 - - [16/Oct/2006:00:01:07 +0800]

74.6.73.36 - - [16/Oct/2006:00:01:09 +0800]

10 rows selected.

通过SQL析取出访问的ip地址:SQL> select substr(ip_address_date,1,instr(ip_address_date,' ')) ip_address

2 from eygle_access_log_20061016 where rownum <11;

IP_ADDRESS

---------------------------------------------------------------------------

38.102.128.140

66.249.65.113

202.160.178.221

59.36.78.100

59.36.78.100

72.30.61.8

221.217.84.230

221.217.84.230

74.6.65.236

74.6.73.36

10 rows selected.

接下来我们就可以很容易的获得当日访问我站点的独立IP数量了:SQL> set timing on

SQL> select count(distinct(substr(ip_address_date,1,instr(ip_address_date,' ')))) uip

2 from eygle_access_log_20061016;

UIP

----------

7534

Elapsed: 00:00:06.86

因为外部表的处理性能上要差一些,我们记录了一下时间,以上查询大约用了7秒的时间。

我们可以对比一下数据库表的性能。

首先将日志加载到数据库表中:SQL> create table ealog as

2 select * from eygle_access_log_20061016;

Table created.

SQL> desc ealog;

Name Null? Type

----------------------------------------------------------------- -------- --------------------------------------------

IP_ADDRESS_DATE VARCHAR2(100)

ACC_FILE VARCHAR2(400)

ACC_CDSZ VARCHAR2(20)

ACC_URL VARCHAR2(400)

LEFT_BLANK VARCHAR2(10)

ACC_AGENT VARCHAR2(400)

SQL> select count(*) from ealog;

COUNT(*)

----------

165443

然后我们强制刷新Buffer Cache,消除Cache的影响,再次执行查询:SQL> alter session set events = 'immediate trace name flush_cache';

Session altered.

Elapsed: 00:00:00.03

SQL> select count(distinct(substr(ip_address_date,1,instr(ip_address_date,' ')))) uip

2 from ealog;

UIP

----------

7528

Elapsed: 00:00:02.15

此时用了大约2秒的时间,也就是说,外部表的性能较数据库表大约慢了3倍左右。

继续,我们可以查询当日网站中,哪些网页是被最频繁访问的:SQL> select replace((replace(acc_file,'GET ','http://www.eygle.com')),'HTTP/1.1') accfile,ct from (

2 select ACC_FILE,count(*) ct from eygle_access_log_20061016

3 where acc_file like '%htm%'

4 group by acc_file order by ct desc)

5 where rownum <21;

ACCFILE CT

-------------------------------------------------------------------------------- ----------

http://www.eygle.com/index-tech.htm 110

http://www.eygle.com/archives/2006/10/wish_home.html 103

http://www.eygle.com/index-ha.htm 79

http://www.eygle.com/me/fairy_tale_leaf.htm 77

http://www.eygle.com/archives/2006/11/use_oracle_external_table.html 73

http://www.eygle.com/index-sql.htm 69

http://www.eygle.com/archives/2006/10/tom_oracle_9i10g.html 68

http://www.eygle.com/archives/2008/08/my_book_services.html 63

http://www.eygle.com/archives/2006/11/welcome_friend.html 62

http://www.eygle.com/archives/2006/10/veritas_vcs_simulator.html 61

http://www.eygle.com/index-case.htm 60

http://www.eygle.com/archives/2004/08/aoaouiiciona.html 59

http://www.eygle.com/archives/2006/08/oracle_fundbook_recommand.html 52

http://www.eygle.com/archives/2006/08/5460_8174.html 49

http://www.eygle.com/archives/2004/12/gmailaeaeoa.html 48

http://www.eygle.com/archives/2005/06/howlsmovingcast.html 48

http://www.eygle.com/gbook/index.html 48

http://www.eygle.com/index-hist.htm 44

http://www.eygle.com/index-special.htm 41

http://www.eygle.com/index-f&l.htm 37

20 rows selected.

Elapsed: 00:00:06.31

SQL>

通过外部表及SQL查询,只要日志文件中存在的信息,都可以很容易的被获取和分析.

-The End-

By eygle on 2006-10-18 11:56 |

Comments (3) |

SQL.PLSQL |

Web | 938 |

3 Comments

用shell更简单awk '{print $1}' eygle_access_log.20061016 | sort -u | wc -l

何不写个脚本统计下访问用户IP归属区域,便知道这些人是从全国各地哪来访问的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732113.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

modelandview跳转页面404_超快排:在百度搜索引擎网站404页面怎么做?

我们平时在百度搜索引擎网站的时候遇到过打开之后是错误页面&#xff0c;这些页面有提示可以返回之前页面和首页。为什么网站会有这样的页面呢&#xff1f;这是因为网站设置了404页面。我们在做百度搜索引擎SEO排名优化的时候&#xff0c;往往只注意网站结构专注与如何排名提高…

asp.net网站作为websocket服务端的应用该如何写

最近被websocket的一个问题困扰了很久&#xff0c;有一个需求是在web网站中搭建websocket服务。客户端通过网页与服务器建立连接&#xff0c;然后服务器根据ip给客户端网页发送信息。 其实&#xff0c;这个需求并不难&#xff0c;只是刚开始对websocket的内容不太了解。上网搜索…

java web 社区_我的第一个javaweb----模仿社区网站(二)

项目分层在写后台之前我给分了四层&#xff0c;每一层负责不同的功能&#xff0c;如图. 前端页面层&#xff1a;也就是浏览器展示给人看的&#xff0c;直接与人交互的界面. servlet层&#xff1a;受理前端页面发来的数据&#xff0c;由它接受前端发来的请求(request)做出不同的…

老榕智能建站软件_教你把网站建设得更好上线了智能建站系统

对于不懂技术、没有太多资金的个人和中小企业来说&#xff0c;要想生成自己的网站&#xff0c;就需要用到智能建站系统。智能建站比较简单&#xff0c;小白也能很快上手&#xff0c;不过这并不意味着你就可以随随便便搭建了。实际上&#xff0c;若想顺利建设出一个有用的网站&a…

vba获取正在运行网站的源码_VBA教程连载——第三节:如何运行宏

宏的运行方式有以下几种&#xff1a;第一种&#xff0c;自我录制运行打开开发工具-自己去录制一个宏&#xff0c;然后给它命名&#xff0c;录制完成后运行。至于具体怎么录制&#xff0c;我们下节课再细谈。注意&#xff1a;内置宏的表格&#xff0c;一般是没法直接保存的&…

html seo 优化,SEO优化中常见的四种html标签作用

对于SEOer来说&#xff0c;在HTML代码中&#xff0c;使用一些标签&#xff0c;更利于搜索引擎蜘蛛的读取&#xff0c;适当布局一些优化标签&#xff0c;可能会有意想不到的结果。下面就列举几个标签的妙用。1.标题标签。在网页html代码中 h1 标签是定义最大的标题。在整个页面中…

Nginx学习四:静态网站部署

文章目录第一步&#xff1a;通过Xftp将ace-master到linux服务器/opt/static目录下&#xff0c;为了演示方便&#xff0c;将名字改为ace第二步&#xff1a;修改nginx.conf配置文件在server中第三步&#xff1a;重启nginx服务器第四步&#xff1a;成功访问测试&#xff1a;通过ht…

php网站怎么做集群,如何构建一个网站集群 - 简庆旺个人博客|PHP教程|PHP学习|Python学习|Python教程|Seo学习|Seo教程...

网站业务大了&#xff0c;可能就需要一个集群&#xff0c;来保障业务的稳定性&#xff0c;我根据自己的学习工作经验&#xff0c;做了下总结。一&#xff1a;DNS负载均衡dns轮询&#xff0c;自动把流量分散到不同的服务器&#xff0c;避免单个服务器挂了。比如用的dnspod&#…

提高网站转化率——页面停留时间与网站停留时间

一、页面停留时间与网站停留时间是如何计算出来的&#xff1f; 假设用户访问了网站的主页&#xff08;Home&#xff09;。分析工具将这个访问者标记为一个Visit&#xff0c;接着这个访问者又浏览了另外两个页面&#xff08;Page2和Page3&#xff09;&#xff0c;然后他离开了你…

4种黑帽SEO手法

1、斗篷法&#xff08;Cloaking&#xff09; 为什么叫斗篷法呢&#xff1f;可能是因为只能看到斗篷&#xff0c;而不能看到真面目的意思吧&#xff01; 斗篷法指站长将一个网页用两个不同版本的页面&#xff0c;一个版本给搜索引擎看&#xff0c;一个版本给用户浏览。而搜索引…

数据采集与网站统计实现全过程

做网站统计首先要有数据&#xff0c;数据从何而来&#xff1f;这需要网站要记录客户所访问的轨迹&#xff0c;记录用户访问每个页面的流向&#xff0c;给网站加过百度统计与cnzz的站长们估计都清楚&#xff0c;要想对某个页面进行统计&#xff0c;就要在该页面上加上统计代码&a…

php网站优化简书,记一次PHP优化案例

Lnmp网站服务器架构,其实就是Linuxnginxmysqlphp架构体系eg&#xff1a;后台访问很慢&#xff0c;而且有时候出现502错误。一、案例分析。我们可以想到&#xff0c;既然是访问缓慢&#xff0c;有时候直接访问不了&#xff0c;以前是没问题的&#xff0c;到现在就突然出现了问题…

网站漏洞扫描工具_网站目录扫描工具

目录御剑dirbusterWebdirscan网站后台扫描工具都是利用目录字典进行爆破扫描&#xff0c;字典越多&#xff0c;扫描到的结果也越多。常用的网站后台扫描工具御剑、dirbuster和Webdirscan&#xff0c;不管哪个工具&#xff0c;要想扫描到更多的东西&#xff0c;都必须要有一个强…

匀速建站 华为云_紫虎5G云网站:5G回转,不止是快捷建站,新兴的SEO模式也在崛起...

最近&#xff0c;5G时代的推动正在如火如荼进行中&#xff0c;今天一大早就有爆料说&#xff0c;继去年年底推出面向企业的5G商用网络后&#xff0c;韩国三大电信运营商4月5日起正式开始为大众办理5G手机入网手续&#xff0c;韩国由此成为全球率先对普通用户开通5G商用网络的国…

python 网页设计_GitHub - leiphp/Django-myblog: Django入门与实践--Python制作个人博客网站,一个Python的高级Web框架,功能非常强大。...

Django-myblog Django入门与实践--Python制作个人博客网站&#xff0c;一个Python的高级Web框架&#xff0c;功能非常强大&#xff0c;下面是项目预览&#xff0c;随便找了一套前端模板&#xff0c;目前只做了主页和文章页的界面。 项目预览开发环境 1.Python 2.Django 3.编辑器…

网站打不开显示access denied_果汁排行榜-一个宝藏网站

果汁排行榜一个宝藏网站&#xff0c;把互联网上的各大热搜榜&#xff0c;排行榜汇聚在了一网站。可以查阅搜索实时热点&#xff0c;影视&#xff0c;音乐&#xff0c;摄影&#xff0c;财富&#xff0c;游戏等各领域热门排行榜单。果汁排行榜 [http://guozhivip.com/rank/]

html站点根目录怎么改,通过重定向把子目录设置为网站根目录

摘要&#xff1a;如果想在一个项目内对于不同的文件夹使用不同的域名来访问&#xff0c;我们需要把这些文件夹单独设置成根目录并绑定域名&#xff0c;但对于虚拟服务器用户来说&#xff0c;这并不容易实现&#xff0c;因为一般的虚拟服务器是没有这样的功能的&#xff0c;但我…

前端性能优化(七)-页面性能优化之优化清单——编码、解码形成DOM树的过程 优化关键渲染路径 JS性能在线测试网站 性能优化-参考资料

前端性能优化&#xff08;七&#xff09;-页面性能优化之优化清单——编码、解码形成DOM树的过程 & 优化关键渲染路径 & JS性能在线测试网站 & 性能优化-参考资料 编码、解码形成DOM树的过程 浏览器从网络或硬盘中获得HTML字节数据后会经过一个流程将字节解析为D…

怎样对java网站进行简单修改_javaweb简单的增删改查之“加”

我相信对每一个初学者来说能有一个好的教程真的帮助非常大&#xff0c;虽然我也只是一个初学者&#xff0c;我相信我所学到的转化为自己的语言对大家会有帮助1.连接数据库public class Databass {public static String db_url "jdbc:mysql://localhost:3306/blog?charac…

PHP Web应用开发 -用PHP实现简单的个人博客网站

文章目录题目一、项目简介二、需求分析三.总体设计四. 详细设计五、运行测试六、 总结题目 题目&#xff1a;用PHP实现一个贴吧的网站 一、项目简介 能够实现用户注册登录发帖会贴的功能。 二、需求分析 &#xff08;1&#xff09;统一友好的操作界面。具有良好的用户体验…