分析24小時日誌獲取交易時間分佈
1,建立按分鐘分佈的表
create table tmp_acq_min(m varchar2(10));
begin
for x in 0..23 loop
for y in 0..59 loop
insert into tmp_acq_min(m) values(lpad(x,2,'0')||lpad(y,2,'0'));
end loop;
end loop;
end;
/
commit;
2,載入日誌資料
--建立日誌表
create table tmp_acq(id int,d date,txt varchar2(4000),t timestamp);
--建立控制檔案
acq.ctl:
LOAD DATA
APPEND
INTO TABLE TMP_ACQ
(id recnum,
txt char(2000)
)
--注:此處的recnum很有用,直接對應日誌檔案中的行號,對於skip,discard,reject的記錄,仍然保留記錄號;sequence,只在插入表的記錄按序編號,為reject的記錄保留需要。
--載入日誌
sqlldr bnet303/bnet303 control=acq.ctl data=acqlog.2013-10-31.txt log=1031.log discard=1031.dis bad=1031.bad errors=999999999
3,獲取記錄時間
--獲取時間
update tmp_acq
set t=to_timestamp(substr(txt, 1, 23), 'YYYY-MM-DD HH24:MI:SS,ff3')
where regexp_like(substr(txt, 1, 23),'\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d,\d\d\d');
--注:使用正規表示式,只更新符合格式的記錄時間
create index idx_tmp_acq_1031 on tmp_acq_1031(id);
--對於部分報錯資訊,行首沒有時間,更新為前一行的時間
declare
l_t timestamp;
begin
for x in(select * from tmp_acq order by id) loop
if(x.t is null) then
update tmp_acq a set a.t = l_t,d=sysdate where a.id = x.id;
end if;
if(x.t is not null) then
l_t := x.t;
end if;
end loop;
end;
/
commit;
4,查詢
--O999:產品層報無法獲取連線次數
select m.m, nvl(v.cnt, 0) cnt
from tmp_acq_min m,
(select to_char(t.t, 'HH24MI') t, count(*) cnt
from tmp_acq t
where t.txt like '%|ERROR|COMM|bnet.O999%'
group by to_char(t.t, 'HH24MI')) v
where m.m = v.t(+)
order by 1;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18922393/viewspace-1069662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS自動生成24小時時間區間,時間跨度為60或30分鐘JS
- iOS 獲取當前的年、月、日、小時、分鐘、秒iOS
- MySQL 8.0.18 錯誤日誌時間慢了8個小時MySql
- CDN日誌實時分析
- c++ 獲取當前時間周初凌晨時間戳(獲取當前時間週一凌晨時間戳)C++時間戳
- php 獲取時間差PHP
- JavaScript獲取時間戳JavaScript時間戳
- 獲取系統時間
- Java 獲取本地時間與網路時間Java
- Ubuntu、CentOS修改時區、設定24小時時間格式教程。UbuntuCentOS
- 【awk】按小時切割日誌
- python獲取網路時間和本地時間Python
- win10 時間怎麼設定24小時格式_win10如何設定24小時制Win10
- 解決java獲取系統時間差8個小時 專題Java
- POJ-3751 時間日期格式轉換-24小時制/12小時制
- 獵豹:手機遊戲玩家遊戲時間分佈呈現“黃金6小時”遊戲
- mybatis獲取當前時間MyBatis
- QT獲取日期,時間,星期QT
- Qt:獲取日期和時間QT
- 安卓啟動時間獲取安卓
- C++11獲取時間C++
- java獲取當前時間Java
- Qt獲取當前時間QT
- Cookie 獲取訪問時間Cookie
- sql server獲取時間格式SQLServer
- js獲取當前時間JS
- java獲取日期和時間Java
- Qt 獲取當前時間QT
- [Python輿情分析] 二.時間間隔分佈研究及冪律分佈圖繪製Python
- JavaScript怎麼獲取當前時間的年月日?JavaScript
- js獲取時間日期中的年月日等部分JS
- C/C++程式碼獲取當前時間的:年月日時分秒C++
- SQL時間第一期_獲取系統年月日時分秒SQL
- Qt時鐘介面、數字時鐘(12小時制24小時制切換、修改系統時間)QT
- ORACLE計算2個時間段相差時間小時、分、秒Oracle
- 手機小技巧:小米手機時間24小時制怎麼設定
- Laravel 獲取 13 位時間戳Laravel時間戳
- js獲取當天時間戳JS時間戳