sql*loader的使用(iostat数据导入数据库表)

2014-11-24 10:10:57 · 作者: · 浏览: 0

目的:将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