zoukankan      html  css  js  c++  java
  • Sqlldr用法

      Sqlldr

           sql loader可以把一些以文本格式存放的数据顺利地导入到oracle数据库中,它是一种在不同数据库之间进行数据迁移非常方便而且通用的工具。缺点就是速度比较慢,另外对blob等类型的数据就有点麻烦了。
     
     
    一、用法: SQLLDR keyword=value [,keyword=value,...]
     
    二、有效的关键字:
       userid -- ORACLE username/password
       control – 控制文件
       log – 记录的日志文件
       bad – 坏数据文件
       data – 数据文件
       discard – 丢弃的数据文件
       discardmax – 允许丢弃数据的最大值        (全部默认)
       skip -- Number of logical records to skip  (默认0)
       load -- Number of logical records to load  (全部默认)
       errors – 允许的错误记录数          (默认50)
       rows -- Number of rows in conventional path bind array or between direct path data saves(每次提交的记录数,默认: 常规路径 64, 所有直接路径)
       bindsize -- Size of conventional path bind array in bytes(默认256000)
    每次提交记录的缓冲区的大小(字节为单位,默认256000)
        silent --禁止输出信息 (header,feedback,errors,discards,partitions)
        direct – 使用直通路径方式导入                    (默认FALSE)
        parfile -- parameter file: name of file that contains parameter specifications
        parallel -- 并行导入                   (默认FALSE)
        file -- File to allocate extents from
        skip_unusable_indexes    -- disallow/allow unusable indexes or index partitions(默认FALSE)
        skip_index_maintenance   -- do not maintain indexes, mark affected indexes as unusable(默认FALSE)
       readsize -- Size of Read buffer                (默认1048576)
        与bindsize成对使用,其中较小者会自动调整到较大者。sqlldr先计算单条记录长度,乘以rows,如小于bindsize,不会试图扩张rows以填充bindsize;如超出,则以bindsize为准。
     
         external_table       -- use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE(默认NOT_USED)
         columnarrayrows     -- Number of rows for direct path column array(默认5000)
         streamsize        -- Size of direct path stream buffer in bytes(默认256000)
         multithreading       -- use multithreading in direct path
         resumable -- enable or disable resumable for current session(默认FALSE)
         resumable_name       -- text string to help identify resumable statement
         resumable_timeout       -- wait time (in seconds) for RESUMABLE(默认7200)
         date_cache -- size (in entries) of date conversion cache(默认1000)
     
         注意:有两种方式可以指定命令行参数:通过位置或者通过关键字。
         (1)通过位置指定命令行参数的例子:'sqlldr scott/tiger foo';
        (2)通过关键字指定命令行参数的例子:'sqlldr control=foo userid=scott/tiger';
         不能前面使用关键字指定后面通过位置指定的混合方式;
         比如:'sqlldr scott/tiger control=foo logfile=log' 是允许的;
         但'sqlldr scott/tiger control=foo log'不允许。
         通过位置指定命令行参数的时候,必须将“位置”放在user/passwd之前。
         为清楚起见最好所有命令行参数都用关键字指定。
     
     
    三、控制文件:一个控制命令的脚本文件,通常以ctl结尾,内容如下:
     
     
    LOAD DATA
    INFILE 't.dat'             //要导入的文件
    // INFILE 'tt.date'        //导入多个文件
    // INFILE *                  //表示要导入的内容就在control文件里 下面的BEGINDATA后面就是导入的内容
    INTO TABLE table_name  // 指定装入的表
    BADFILE 'c:\bad.txt'    //可选,指定坏文件地址,缺省在当前目录下生成与原文件名一致的.bad文件
     
    //************* 以下是4种装入表的方式
    APPEND          // 原先的表有数据 就加在后面
    // INSERT            //装载空表 如果原先的表有数据 sqlloader会停止 默认值
    // REPLACE       //  原先的表有数据 原先的数据会全部删除
    // TRUNCATE            //  指定的内容和replace的相同 会用truncate语句删除现存数据
     
    //************* 指定分隔符
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    // TERMINATED BY WRITESPACE //以空白分割
     
    TRAILING NULLCOLS          // 表的字段没有对应的值时允许为空
     
    ************* 下面是表的字段
    (
         col_1 , col_2 ,col_filler FILLER // FILLER 关键字 此列的数值不会被装载
         // 如: lg,lg,not 结果 lg lg
     
        如果没声明FIELDS TERMINATED BY ',' 时,可以用下面两种方式实现同样功能:
    (1)、为每一列指定分隔符
    (
       col_1 [interger external] TERMINATED BY ',' ,
       col_2 [date "dd-mon-yyy"] TERMINATED BY ',' ,
       col_3 [char] TERMINATED BY ',' OPTIONALLY ENCLOSED BY 'lg'
    )
    (2)、用位置告诉字段装载数据
    (
        col_1 position(1:2),
        col_2 position(3:10),
        col_3 position(*:16), // 这个字段的开始位置在前一字段的结束位置
        col_4 position(1:16),
        col_5 position(3:10) char(8) // 指定字段的类型
    )
     
     
    BEGINDATA         //对应开始的 INFILE * 要导入的内容就在control文件里
    10,Sql,what
    20,lg,show
  • 相关阅读:
    编码 unicode与utf8
    For WeiWei Server Code
    C#枚举
    一些关于java的笔记
    当众讲话第三章当众讲话的语言要求
    当众讲话第四章当众讲话出彩的资本
    会计要素和会计平衡公式
    当众讲话第一章 当众讲话的八项训练
    金蝶KIS标准版会计软件简单使用
    做事的科学细节与流程》读书笔记第一章
  • 原文地址:https://www.cnblogs.com/gaolonglong/p/2245623.html
Copyright © 2011-2022 走看看