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

zt:http://hi.baidu.com/chenjian3/blog/item/fe63bc51ee032018367abef7.html

sql loader 参数详解相关推荐

  1. oracle -- Oracle初始化参数详解

    oracle -- Oracle初始化参数详解 Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数. Ora ...

  2. CI流水线配置文件参数详解(一)

    文章目录 4. 参数详解(一) 4.1 ``script`` 4.2 ``image`` 指定使用Docker镜像.如 ``iamge:name`` ,暂时忽略. 4.3 ``before_scrip ...

  3. MySQL配置文件参数详解

    [client] port = 3307 socket = /usr/local/mysql5_6/mysql.sock default-character-set=utf8 [mysql] prom ...

  4. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解mysql命令参数详解-u 用户名-p 用户密码-h 服务器ip地址-D 连接的数据库-N 不输出列信息-B 使用tab键代替 ...

  5. mysql5.6主从参数详解

    mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. ######################################### ...

  6. 带你玩转Logview: MaxCompute Logview参数详解和问题排查

    Logview是MaxCompute Job提交后查看和Debug任务的工具.通过Logview可看到一个Job的运行状态.运行结果以及运行细节和每个步骤的进度.当Job提交到MaxCompute后, ...

  7. Celery参数详解、配置参数

    参数详解 Celery--Worker 准备: 安装 pip install celery easy_install celery 使用Redis作为Broker时 ,需安装 celery-with- ...

  8. Oracle_JOB参数详解

    Oracle_JOB参数详解 DECLARE v_job NUMBER; BEGIN dbms_job.submit(job => v_job, what => 'begin pkg_da ...

  9. 备份数据库的expdp语句_Oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍...

    oracle数据库备份恢复Data Pump Expdp/Impdp参数详解与案例介绍 目 录 1 Oracle数据泵的介绍 3 2 Oracle expdp/impdp参数使用介绍 3 2.1 Or ...

最新文章

  1. radio切换控制div显示_React 项目实践——搭建一个温度控制 App
  2. 神经网络学习中的SoftMax与交叉熵
  3. 详解Javascript中的Object对象
  4. Function in loop and closure
  5. android自定义滚轴选择器_Android自定义滚动式时间选择器(在他人基础上修改)...
  6. Linux下find命令使用
  7. 北京大学 软件工程1 软件 软件工程 软件开发 软件工程框架
  8. 【asp.net core 系列】14 .net core 中的IOC
  9. 打印图形 字母倒三角
  10. android 画布抗锯齿,android – 如何在画布和路径中进行抗锯齿处理
  11. javascript学习笔记之document对象、表单及表单元素、脚本化cookie
  12. 未来架构师的平台战略范例(2)_集装箱
  13. 桌面计算机休眠快捷键,电脑休眠唤醒快捷键
  14. java生成条形码~~使用barcode4j在线生成条形码
  15. Ubuntu安装完后更新显卡驱动
  16. 随机存取存储器与只读存储器
  17. Like My Mother Always Said… by Erin McHugh
  18. 两个经纬度偏角_怎么根据两个经纬度计算出航向
  19. Zbrush中常用的8种笔刷,笔刷中的八大金刚你用过几个?
  20. 手机访问电脑本地html文件

热门文章

  1. Silverlight - IIS 7.5 部署SilverLight4网站以及问题解决
  2. Aspx页面javascript的几个trick
  3. sql 左联接 全联接_通过了解自我联接将您SQL技能提升到一个新的水平
  4. tb计算机存储单位_如何节省数TB的云存储
  5. spring—拦截器和异常
  6. python 科学计算机_在这个免费的虚拟俱乐部中学习计算机科学和Python的基础知识
  7. 了解React Native中的不同JavaScript环境
  8. Redux初学者指南
  9. amazon alexa_在Amazon Alexa上推出freeCodeCamp编码琐事测验
  10. vlookup match_INDEX-MATCH — VLOOKUP功能的升级