zoukankan      html  css  js  c++  java
  • oracle如何快速导入导出文本格式数据


    导出
    工具:sqluldr2
    工具说明:sqluldr2再以安装oracle客户端的环境下下无需再安装其它软件,只需将对应的软件包拷贝至对应目录,即可运行导出数据
    导出示例:
    --linux环境导出示例:
    /data/oracleloaddata/binluldr2_linux64_10204.bin USER=user/passwd@ip:port/sid charset=AL32UTF8 QUERY="select /*+ parallel(2) */ * from zxjs.TMP_SJXQ_EDUCATION_20161108" log=/data/oracleloaddata/loadout/TMP_SJXQ_EDUCATION/TMP_SJXQ_EDUCATION_20161108.log table=TMP_SJXQ_EDUCATION_20161108 head=yes FILE=/data/oracleloaddata/loadout/TMP_SJXQ_EDUCATION/TMP_SJXQ_EDUCATION_20161108.txt

    --windows环境导出示例:
    D:huzhijuansqluldr264.exe USER=user/passwd@ip:port/sid QUERY="select /*+ parallel(2) */ * from zxjs.T_ORANGE_SCORE_V7" log=D:huzhijuanT_ORANGE_SCORE_V7_20161013.log table=T_ORANGE_SCORE_V7 head=yes FILE=D:huzhijuanT_ORANGE_SCORE_V7_20161013.txt
    参数说明:
    USER:数据连接串user/pwd@sid
    charset:导出文件字符集设置
    QUERY:导出语句设置
    log:导出日志存放路径
    table:指定导出表
    FILE:指定导出文件路径

    导入
    工具:sqlldr
    工具说明:sqlldr是oracle客户端自带工具,装好oracle客户端就可以使用
    导入示例:
    --no.1 查看要导入的表结构
    create table TMP_SJXQ_EDUCATION_20161108
    (
    id VARCHAR2(200),
    school VARCHAR2(200)
    );
    --no.2 编写ctl文件
    vi input_EDUCATION.ctl
    load data
    CHARACTERSET AL32UTF8
    infile "/home/oracle/tmp_for_mysqldata/cis_info_pnl_edu_verify_20161108.txt"
    append into table TMP_SJXQ_EDUCATION_20161108
    fields terminated by ","
    OPTIONALLY ENCLOSED BY '"'
    trailing nullcols
    (
    id integer external,
    school integer external
    )
    --no.3 执行导出命令
    sqlldr user/passwd@ip:port/sid control=/home/oracle/tmp_for_mysqldata/input_EDUCATION.ctl log=/home/oracle/tmp_for_mysqldatalldr-2016110801.log

    工具介绍:
    命令格式:
    sqlldr username/password@sid control=*.ctl
    *.ctl文件说明:
    load data 告诉SQLLDR要做什么(在这个例子中,则指示要加载数据)。SQLLDR还可以执行CONTINUE_LOAD,也就是继续加载。只有在继续一个多表直接路径加载时才能使用后面这个选项
    infile "d://test.txt" 外部数据文件,如果是*号,这会告诉SQLLDR所要加载的数据实际上包含在控制文件本身上,可以使用一个命令行参数覆盖这个INFILE语句。
    命令行选项总会涵盖控制文件设置
    infile "d://test1.txt" 可指定多个数据文件
    append into table test 向表中追加数据
    insert 向表中插入值,但要求表开始时为空,默认的加载选项
    replace delete表中的数据,然后插入新值,记录多时速度慢
    append 向表中追加数据
    truncate trunctate表,然后插入新值,不能回退
    fields terminated by "," 外部文件的数据以“,”分隔
    OPTIONALLY ENCLOSED BY '"' 部分字段可以用双引号包起来
    trailing nullcols 表中的字段没有对应的值时填充空值
    (
    id integer external, integer external 表示插入的数据是string,如果只保留integer,表示插入的数据是二进制
    name "upper(:name)", 将插入的值转换为大写
    con ":id||:name", 表中CON列的值是ID和NAME的组合值
    dt date"yyyy-mm-dd" 插入日期型数据
    )

  • 相关阅读:
    sql mysql
    sql练习
    re正则表达式
    《大道至简 第二章》读后感
    读《大道至简:编程的精义》有感
    爬取汽车之家新闻图片的python爬虫代码
    Linux系统封装成iso文件
    使用Zabbix进行IPMI监控
    zabbix支持的主要监控方式
    python虚拟环境搭建
  • 原文地址:https://www.cnblogs.com/janehoo/p/5591812.html
Copyright © 2011-2022 走看看