目的:将iostat指令的数据,导入到文件iostat.dat中,然后通过sqlldr将iostat数据倒入到数据库中
第一步:U1/tiger用户建立表iostat
create table iostat(device varchar(10),tps float(20),mb_read_s float(20),mb_wrtn_s float(20) ,mb_read float(20),mb_wrtn float(20));
第二步:创建源数据文件
Iostat –md /dev/sda2 >/oracle/script/ iostat.dat
Cat iostat.dat
Linux 2.6.18-164.el5 (host2) 08/15/2014
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda2 13.06 0.09 0.11 961 1194
第三步:建立控制文件
load data
infile ‘/oracle/script/iostat.dat‘
append into table iostat
FIELDS TERMINATED BY WHITESPACE
(device,tps,mb_read_s,mb_wrtn_s,mb_read,mb_wrtn)
注:第二行指定输入文件,
第三行指定策略为追加,写入table iostat
第四行表示文本文件的字段按照空格来划分
第五行指定文本字段和表的对应关系
第四步:开始导入数据库
sqlldr u1/tiger control=‘iostat.ctl‘ log=‘/oracle/script/iostat.log‘ skip=3 bad=‘iostat.bad‘
注:
Bad文件记录没有成功写入表的记录。
Log文件记录传输的日志。
控制文件时上述编写的控制文件。
Skip=3 表示忽略文本文件iostat.dat的前三行(Linux 2.6.18-164.el5 (host2) 08/15/2014等内容)。
第五步:查看导入结果
SQL> select * from iostat
DEVICE TPS MB_READ_S MB_WRTN_S MB_READ MB_WRTN
---------- ---------------------- ---------------------- ---------------------- ---------------------- ----------------------
sda2 18.39 0.18 0.14 877 681