ITPub博客

首页 > 数据库 > 国内数据库 > k-db 数据库kdloader(类似oracle的sqlloader)进行数据循环导入数据库

k-db 数据库kdloader(类似oracle的sqlloader)进行数据循环导入数据库

原创 国内数据库 作者:宋祖强 时间:2016-01-28 16:39:25 0 删除 编辑

===========================================================================

这种方法,后台最多一个kdloader在运行,因为这样4个kdloader会顺序执行,执行完一个才会执行下一个。

#!/bin/bash
n=1
while [ $n -le 10 ]
do
        kdloader userid=test/test@kdb11g control=1.ctl bindsize=1000000 direct=y  
        kdloader userid=test/test@kdb11g control=2.ctl bindsize=1000000 direct=y
        kdloader userid=test/test@kdb11g control=3.ctl bindsize=1000000 direct=y
        kdloader userid=test/test@kdb11g control=4.ctl bindsize=1000000 direct=y
        let n+=1
done


===========================================================================

这种方法,不停的执行一组一组的kdloader,不会等待。会导致连接资源被占满,报unable create a new session ,可能同时十几个、几十个kdloader在运行。

#!/bin/bash
n=1
while [ $n -le 10 ]
do
        kdloader userid=test/test@kdb11g control=1.ctl bindsize=1000000 direct=y   &
        kdloader userid=test/test@kdb11g control=2.ctl bindsize=1000000 direct=y   &
        kdloader userid=test/test@kdb11g control=3.ctl bindsize=1000000 direct=y   &
        kdloader userid=test/test@kdb11g control=4.ctl bindsize=1000000 direct=y   &
        let n+=1
done

===========================================================================

这种执行一组(4个kdloader),全部完成后,再进入下一组。后台最多只有4个kdloader在运行。

#!/bin/bash
n=1
while [ $n -le 10 ]
do
        kdloader userid=test/test@kdb11g control=1.ctl bindsize=1000000 direct=y   &
        kdloader userid=test/test@kdb11g control=2.ctl bindsize=1000000 direct=y   &
        kdloader userid=test/test@kdb11g control=3.ctl bindsize=1000000 direct=y   &
        kdloader userid=test/test@kdb11g control=4.ctl bindsize=1000000 direct=y   
        let n+=1
done

===========================================================================


以下两个没有成功,先记录下来,待处理。

#!/bin/bash
i=1
n=1

 while [ $n -le 8 ]
do
     while [ $i -le 4 ]
      do
        kdloader userid=test/test@kdb11g control=$i.ctl bindsize=1000000  &
        let i+=1
      done
   let n+=1
done


#!/bin/bash
i=1
n=1
while [ $n -le 10 ]
do
   if [ $i -le 4 ]
   then 
        kdloader userid=test/test@kdb11g control=$i.ctl bindsize=1000000 
        let i+=1
   else
        exit 0 
   fi
   let n+=1
done

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29289867/viewspace-1983621/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-13

  • 博文量
    176
  • 访问量
    317488