HPL装入分快速方式(express)和高级方式(deluxe),使用快速方式是使用raw表,不需要写逻辑日志(或者说很少日志),速度较快;使用高级方式时,需更新索引、执行约束检查和评估触发器,需要写逻辑日志。
一、单文件导入导出
以crbt_userdepot 表为例测试,数据量为40万条记录
1、
创建任务
onpladm create
job crbt_job1 –d crbt_userdepot.unl –D testdb –t crbt_userdepot –flu
表示建一个名为 crbt_job1 ,设备为crbt_userdeopt.unl(默认为文件方式),相关库为testdb ,相关表为crbt_userdepot,相关操作为lu(l为导入,u为导出)。
注:创建任务时,-f参数后加c为使用deluxe且支持复制,后加N为使用deluxe不复制。默认为加c或者N时使用express。
onpladm create job crbt_job1 -d crbt_userdepot.unl -D testdb -t crbt_userdepot -fluc
2、
执行导出任务
onpladm run job
crbt_job1 –fu
表示执行任务crbt_job1中的导出。完成操作后将在当前目录生成crbt_userdepot.unl文件,里面包含数据库表crbt_userdepot里所有的数据。
3、
保存数据库表结构并做相应的修改,删除表
dbschema –d
testdb –t crbt_userdepot –ss > crbt_userdepot.sql
4、
重建数据库表结构
dbaccess testdb
crbt_userdepot.sql
5、
执行导入任务
onpladm run job
crbt_job1 –fl
表示执行任务crbt_job1中的导入。完成后将提示crbt_userdepot表处于只读模式,需要进行0级备份才能转换成正常表。
二、使用设备以支持多文件
1、
建立device arrays
仍以crbt_userdepot表为例,此次将建立含4个文件的device
array。
文件:crbt_dev.devarr
BEGIN OBJECT
DEVICEARRAY crbt_load
BEGIN SEQUENCE
TYPE FILE
FILE
"/opt/informix/tmp/onpladm/crbt_1.unl"
TAPEBLOCKSIZE 0
TAPEDEVICESIZE 0
PIPECOMMAND
END SEQUENCE
BEGIN SEQUENCE
TYPE FILE
FILE
"/opt/informix/tmp/onpladm/crbt_2.unl"
TAPEBLOCKSIZE 0
TAPEDEVICESIZE 0
PIPECOMMAND
END SEQUENCE
BEGIN SEQUENCE
TYPE FILE
FILE
"/opt/informix/tmp/onpladm/crbt_3.unl"
TAPEBLOCKSIZE 0
TAPEDEVICESIZE 0
PIPECOMMAND
END SEQUENCE
BEGIN SEQUENCE
TYPE FILE
FILE
"/opt/informix/tmp/onpladm/crbt_4.unl"
TAPEBLOCKSIZE 0
TAPEDEVICESIZE 0
PIPECOMMAND
END SEQUENCE
END OBJECT
其中每个SEQUENCE中的TYPE中可以是FILE/PIPE等,此处使用FILE,则需指定FILE中的参数,TAPEBLOCKSIZE/TAPEDEVICESIZE指磁带的块大小/磁带容量大小,PIPECOMMAND指当TYPE为PIPE时PIPE命令。
执行以下命令以建立
crbt_load 设备
onpladm create object –F crbt_dev.devarr
2、
建立导入导出任务
onpladm create
job crbt_job2 –d crbt_load –D testdb –t crbt_userdepot –flua [-n]
此处参数为-flua,比上面加了a,其中a表示此时的设备为device array,不加表示为单个文件。由于默认建立的是导入和导出,故此处可以用-fa来代替。-n表示不转换格式的快速导入导出,适用于同系统上的操作。
3、
执行导出任务
onpladm run job
crbt_job2 –fu
完成后可以在指定目录下生成的文件,上面是/opt/informix/tmp/onpladm/,有crbt_[1-4].unl 4个文件,由于没有使用-n,故这里是格式化后的数据,跟unload导出的格式相同。
4、
删除表,并重建表结构
5、执行导入任务
onpladm run job
crbt_job2 –fl
同样,执行完成后,需要进行0级备份以将表转成正常表。在完成这些操作后不要忘记对于进行update statistics操作。
三、显示/删除任务、设备等
1、
显示任务、设备等
onpladm list job
onpladm list
device
2、
删除任务、设备等
onpladm delete
job crbt_job2 –fl
onpladm delete
job crbt_job2 –fu
onpladm delete device crbt_load
可以从onpladm的使用帮助中获取更多的信息
usage : onpladm
create job {options}
create map {options}
create project
{options}
create object {options}
delete job {options}
delete map {options}
delete format
{options}
delete query
{options}
delete filter
{options}
delete device
{options}
delete machine
{options}
delete project
{options}
modify object {options}
describe job {options}
describe map {options}
describe format
{options}
describe query
{options}
describe filter
{options}
describe device
{options}
describe machine
{options}
describe project
{options}
list job {options}
list map {options}
list format {options}
list query {options}
list filter {options}
list device {options}
list machine {options}
list project {options}
list defaults {options}
run job {options}
run project {options}
configure defaults {options}
阅读(2283) | 评论(0) | 转发(0) |