在SQL*LOADER 工具上(或者称为SQLLDR,读为:“sequel loader”),因为它仍然是装载数据的主要方法,SQLLDR 能够在极短的时间内装

载庞大数量的数据。

我也是初使用,理解不太深刻,所以做下简单的介绍希望能帮助大家。

sqlldr 帮助命令参考:

Microsoft Windows [版本 10.0.16299.726]
(c) 2017 Microsoft Corporation。保留所有权利。 C:\Users\nantian>sqlldr SQL*Loader: Release 12.2.0.1.0 - Production on 星期二 11月 6 15:46:09 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 用法: SQLLDR keyword=value [,keyword=value,...] 有效的关键字: userid -- ORACLE 用户名/口令
control -- 控制文件名
log -- 日志文件名
bad -- 错误文件名
data -- 数据文件名
discard -- 废弃文件名
discardmax -- 允许废弃的文件的数目 (全部默认)
skip -- 要跳过的逻辑记录的数目 (默认 0)
load -- 要加载的逻辑记录的数目 (全部默认)
errors -- 允许的错误的数目 (默认 50)
rows -- 常规路径绑定数组中或直接路径保存数据间的行数
(默认: 常规路径 64, 所有直接路径)
bindsize -- 常规路径绑定数组的大小 (以字节计) (默认 256000)
silent -- 运行过程中隐藏消息 (标题,反馈,错误,废弃,分区)
direct -- 使用直接路径 (默认 FALSE)
parfile -- 参数文件: 包含参数说明的文件的名称
parallel -- 执行并行加载 (默认 FALSE)
file -- 要从以下对象中分配区的文件
skip_unusable_indexes -- 不允许/允许使用无用的索引或索引分区 (默认 FALSE)
skip_index_maintenance -- 没有维护索引, 将受到影响的索引标记为无用 (默认 FALSE)
commit_discontinued -- 提交加载中断时已加载的行 (默认 FALSE)
readsize -- 读取缓冲区的大小 (默认 1048576)
external_table -- 使用外部表进行加载; NOT_USED, GENERATE_ONLY, EXECUTE
columnarrayrows -- 直接路径列数组的行数 (默认 5000)
streamsize -- 直接路径流缓冲区的大小 (以字节计) (默认 256000)
multithreading -- 在直接路径中使用多线程
resumable -- 对当前会话启用或禁用可恢复 (默认 FALSE)
resumable_name -- 有助于标识可恢复语句的文本字符串
resumable_timeout -- RESUMABLE 的等待时间 (以秒计) (默认 7200)
date_cache -- 日期转换高速缓存的大小 (以条目计) (默认 1000)
no_index_errors -- 出现任何索引错误时中止加载 (默认 FALSE)
partition_memory -- 开始溢出的直接路径分区内存限制 (kb) (默认 0)
table -- 用于快速模式加载的表
date_format -- 用于快速模式加载的日期格式
timestamp_format -- 用于快速模式加载的时间戳格式
terminated_by -- 由用于快速模式加载的字符终止
enclosed_by -- 由用于快速模式加载的字符封闭
optionally_enclosed_by -- (可选) 由用于快速模式加载的字符封闭
characterset -- 用于快速模式加载的字符集
degree_of_parallelism -- 用于快速模式加载和外部表加载的并行度
trim -- 用于快速模式加载和外部表加载的截取类型
csv -- 用于快速模式加载的 csv 格式数据文件
nullif -- 用于快速模式加载的表级 nullif 子句
field_names -- 用于快速模式加载的数据文件第一条记录字段名设置
dnfs_enable -- 启用或禁用输入数据文件 Direct NFS (dNFS) 的选项 (默认 FALSE)
dnfs_readbuffers -- Direct NFS (dNFS) 读缓冲区数 (默认 4)
sdf_prefix -- 要附加到每个 LOB 文件和辅助数据文件的开头的前缀
help -- 显示帮助消息 (默认 FALSE)
empty_lobs_are_null -- 将空白 LOB 设置为空值 (默认 FALSE)
defaults -- 直接路径默认值加载; EVALUATE_ONCE, EVALUATE_EVERY_ROW, IGNORE, IGNORE_UNSUPPORTED_EVALUATE_ONCE, IGNORE_UNSUPPORTED_EVALUATE_EVERY_ROW
direct_path_lock_wait -- 当前已锁定时, 等待表访问权限 (默认 FALSE) PLEASE NOTE: 命令行参数可以由位置或关键字指定
。前者的例子是 'sqlldr
scott/tiger foo'; 后一种情况的一个示例是 'sqlldr control=foo
userid=scott/tiger'。位置指定参数的时间必须早于
但不可迟于由关键字指定的参数。例如,
允许 'sqlldr scott/tiger control=foo logfile=log', 但是
不允许 'sqlldr scott/tiger control=foo log', 即使
参数 'log' 的位置正确。 C:\Users\nantian>

sqlldr 官方参考链接

https://docs.oracle.com/en/database/oracle/oracle-database/18/sutil/oracle-sql-loader-express-mode.html#GUID-8C235861-2A8B-4196-9705-E6FFED0C0C99

sqlldr脚本如何写,小技巧可使用toad for  oracle  导出sqlpldr 格式的文件,然后执行导入操作,首先我们使用子查询创建一张测试表示例如下:

建表语句如下

CREATE TABLE U_TAB
AS
SELECT USERNAME ,USER_ID , ACCOUNT_STATUS,
DEFAULT_TABLESPACE ,TEMPORARY_TABLESPACE
FROM DBA_USERS WHERE ACCOUNT_STATUS='OPEN';

然后鼠标右键查询的数据集上,选择Export Dataset

我们选择保存在桌面,点击ok .

打开导出文件U_TAB.ctl 如下:

-- SQL Loader Control and Data File created by TOAD
-- Variable length, terminated enclosed data formatting
--
-- The format for executing this file with SQL Loader is:
-- SQLLDR control=<filename> Be sure to substitute your
-- version of SQL LOADER and the filename for this file.
--
-- Note: Nested table datatypes are not supported here and
-- will be exported as nulls.
OPTIONS (DIRECT=FALSE, PARALLEL=FALSE)
LOAD DATA
INFILE *
BADFILE './U_TAB.BAD'
DISCARDFILE './U_TAB.DSC'
APPEND INTO TABLE WX.U_TAB
Fields terminated by ";" Optionally enclosed by '"'
(
USERNAME,
USER_ID NULLIF (USER_ID="NULL"),
ACCOUNT_STATUS,
DEFAULT_TABLESPACE,
TEMPORARY_TABLESPACE
)
BEGINDATA
"SYS";0;"OPEN";"SYSTEM";"TEMP"
"SYSTEM";9;"OPEN";"SYSTEM";"TEMP"
"WX";111;"OPEN";"USERS";"TEMP"
"ZHJF";109;"OPEN";"MCC";"MCC_TEMP"

,进入sqlplus  ,我们把表清空,然后使用sqlpldr 把表重新装在

C:\Users\nantian>sqlplus wx/123

SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 6 16:24:35 2018

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

上次成功登录时间: 星期二 11月 06 2018 16:24:30 +08:00

连接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> TRUNCATE TABLE U_TAB; 表被截断。 SQL> ho sqlldr wx/123 control=C:\Users\nantian\Desktop\U_TAB.ctl SQL*Loader: Release 12.2.0.1.0 - Production on 星期二 11月 6 16:24:54 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. 所用路径: 常规
达到提交点 - 逻辑记录计数 4 表 WX.U_TAB:
已成功载入 4 行。 查看日志文件:
U_TAB.log
了解有关加载的详细信息。
SQL> set lines 200
SQL> column username format a20
SQL> SELECT * FROM U_TAB ; USERNAME USER_ID ACCOUNT_STATUS DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
-------------------- ---------- -------------------------------- ------------------------------ ------------------------------
SYS 0 OPEN SYSTEM TEMP
SYSTEM 9 OPEN SYSTEM TEMP
WX 111 OPEN USERS TEMP
ZHJF 109 OPEN MCC MCC_TEMP SQL>

表数据已导入

使用这个工具可以免去写sqlldr控制文件的语法,控制文件是必须的,但数据文件的数据可以和控制文件一同写入。

toad for oracle 小技巧的更多相关文章

  1. Oracle 小技巧

    Oracle小技巧 ###add at 18-10-11 1  ed 在sqlplus当中 如果前一条语句输入有误的话 可以输入ed再回车.在进行编辑 输入ed后有弹窗,可以对之前的输入语句进行编辑 ...

  2. Oracle小技巧_不同表空间不同用户导入导出数据dmp

    [博主注:数据库方面 ITPUB网站及博客内容非常丰富]   转载来源ITPUB 博客 经常有人会问:原来的数据在USERS表空间里面,我想把它IMP进APP表空间,我已经修改了目的用户的默认表空间, ...

  3. Oracle小技巧

    Oracle纵向变横向,多行变一行 取处方下的药品大类,以 处方    药品大类 a001   中药.西药,中成药的   的格式显示 /*处方与药品大类的对应 周璇球 20130829*/ SELEC ...

  4. 关于oracle的sqlplus的另一些小技巧

    执行脚本的命令在上一节已经讲过,不再重复. sqlplus user/password@ip:port/servicename @/path/sqltest.sql; sqltest的内容及注释: - ...

  5. Java在处理大数据的时候一些小技巧

    Java在处理大数据的时候一些小技巧 发布时间:2013-05-09 00:00:00 来源:中国IT实验室 作者:佚名   关键字:Java 众所周知,java在处理数据量比较大的时候,加载到内存必 ...

  6. Django中的ORM框架使用小技巧

      Django中的ORM框架使用小技巧 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. Django对各个数据提供了很好的支持,包括PostgreSQL,MySQL,SQLite ...

  7. 杂谈---小故事小道理,面试中的小技巧(NO.2)

    本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此 ...

  8. PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键

    PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner ...

  9. 「Python-Django」Django中使用数据库的 9 个小技巧

    Django 中使用数据库的 9 个小技巧. 1. 过滤器聚合 在 Django 2.0 之前,如果你想得到“用户总数”.“活跃用户总数”等信息时,你不得不使用条件表达式. Django 2.0 中, ...

随机推荐

  1. WPS2016ProPlus_normal 安装包+序列号

    WPS OFFICE 2016 安装 链接:https://pan.baidu.com/s/1dfjNFDxcl1n2fvYTt9c86A 提取码: ij8e 下载解压:.txt是序列号,.exe是安 ...

  2. Zookeeper——分布式一致性协议及Zookeeper Leader选举原理

    文章目录 一.引言 二.从ACID到CAP/BASE 三.分布式一致性协议 1. 2PC和3PC 2PC 发起事务请求 事务提交/回滚 3PC canCommit preCommit doCommit ...

  3. UltraEdit常用技巧

    Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为“她”具有列编辑模式.如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦.这是一个超级“赞”的功能.在 ...

  4. c++的两个冒号::四个点是什么意思,什么作用呢?

    c++的两个冒号::四个点是什么意思,什么作用呢? 双冒号(::)用法 (1)表示“域操作符”例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定 ...

  5. mybatis读写分离

    mybatis读写分离实现方式有很多种,当然如果没有太过复杂的处理,可以使用阿里云数据库自带的读写分离连接,那样会更加简洁.本文主要对mybatis实现读写分离.主要的实现方式有一下四种: 方案1 通 ...

  6. linux网络编程-socket(1)

    上面是对应的IpV4的地址结构: sin_len整个结构的大小 sin_family协议族,对应Tcp固定为AF_INET,除了tcp协议外还支持unix域协议等 sin_port socket通信的 ...

  7. 尚学堂 216 java中的字节码操作

    所谓的字节码操作就是操作我们已经加载的字节码 接下来我们重点来讲解javaassist类库 使用需要下载jar包,把jar包添加到对应的工程之后 package com.bjsxt.test; pub ...

  8. MapReduce 论文阅读笔记

    Abstract MapReduce : programming model 编程模型 an associated implementation for processing and generati ...

  9. Java工具类——日期相关的类

    前言 在日常的开发工作当中,我们经常需要用到日期相关的类(包括日期类已经处理日期的类),所以,我就专门整理了一篇关于日期相关的类,希望可以帮助到大家. 正文 一.日期类介绍 在 Java 里面,操作日 ...

  10. mybatis源码配置文件解析之四:解析plugins标签

    在前边的博客在分析了mybatis解析typeAliases标签,<mybatis源码配置文件解析之三:解析typeAliases标签>.下面来看解析plugins标签的过程. 一.概述 ...