SQLLDR—CTL文件

简介: SQLLDR 可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据不方便。 CTL 文件介绍 第一部分 1、LOAD DATA:通常以此为开头,其前可加如下参数: 2、...

SQLLDR 可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据不方便。

CTL 文件介绍

第一部分

1、LOAD DATA:通常以此为开头,其前可加如下参数:
2、UNRECOVERABLE:表示数据不可恢复
3、RECOVERABLE:表示数据可恢复
4、CONTINUE_LOAD:表示继续添加

第二部分

1、INFILE:表示数据文件位置,如果值为*,表示数据就在控制文件中,本例中没有单独的数据文件,对于大多数加载而言,都会将数据文件与控制文件分离。
2、INTO TABLE tbl_name:tbl_name 即数据要加载到的目标表,该表在你执行 SQLLDR 命令之前必须已经创建。
3、INTO 前还有一些很有意思的参数需要说明;
4、INSERT:向表中插入数据,表必须为空,如果表非空的话,执行 SQLLDR 命令时会报错,默认就是 INSERT 参数。
5、APPEND:向表中追加数据,不管表中是否有数据。
6、REPLACE:替换表中数据,相当于先 DELETE 表中全部数据,然后再 INSERT。
7、TRUNCATE:类似 REPLACE,只不过这里不使用 DELETE 方式删除表中数据,而是通过 TRUNCATE 的方式删除,然后再 INSERT。
8、FIELDS TERMINATED BY ",":设置数据部分字符串的分隔值,这里设置为逗号(,)分隔,当然也可以换成其他任意可见字符,只要确定那是数据行中的分隔符就行。
9、(ENAME, JOB, SAL):要插入的表的列名,这里需要注意的是列名要与表中列名完全相同,列的顺序可以与表中列顺序不同,但是必须与数据部分的列一一对应。
10、position 关键字用来指定列的开始和结束位置
11、position(m:n):指从第 m 个字符开始截止到第 n 个字符作为列值
12、position(*+2:15):直接指定数值的方式叫做绝对偏移量,如果使用*号,则为相对偏移量,表示上一个字段哪里结束,这次就哪里开始,相对便宜量也可以再做运算。
13、position(*) char(9):这种相对偏移量+类型和长度的优势在于,你只需要为第一列指定开始位置,其他列只需要指定列长度就可以。
14、FILLER:控制文件中指定 FILLER,表示该列值不导入表中。
15、BEGINDATA:表示以下为待加载数据,仅当 INFILE 指定为 * 时有效

第三部分
数据
目录
相关文章
|
5月前
oralce check 命令
oralce check 命令
42 1
|
Oracle 关系型数据库
SQLLDR——CTL文件:字段设置
position 关键字用来指定列的开始和结束位置   position(m:n):指从第 m 个字符开始截止到第 n 个字符作为列值   position(*+2:15):直接指定数值的方式叫做绝对偏移量,如果使用*号,则为相对偏移量,表示上一个字段哪里结束,这次就哪里开始,相对便宜量也可以再做运算。
2066 0
OGG REPA进程 Error ORA-01031报错处理
OGG REPA进程 Error ORA-01031报错处理
365 0
OGG REPA进程 Error ORA-01031报错处理
|
索引 关系型数据库 Oracle
SQLLDR 命令
SQL*Loader 是一个命令行下的操作工具,对应的操作系统命令是SQLLDR 语法:SQLLDR keyword=value [,keyword=value,...] 选项:   userid -- ORACLE 用户名/口令   control -- 控制文件名   log ...
1436 0
|
关系型数据库
oracle 11.2.0.4 ogg 12.3.0.1.0备库rep进程启动报错OGG-00446
            > >                                                   >                         >                                    ...
1078 0
[20160910]sqlldr使用问题.txt
[20160910]sqlldr使用问题.txt http://www.itpub.net/thread-2067126-1-1.html CREATE TABLE "SCOTT".
839 0
|
Oracle 关系型数据库 测试技术
[20160516]adrci purge.txt
[20160516]adrci purge.txt adrci> help purge   Usage: PURGE [[-i | ] |                [-age [-type ALERT|INCIDENT|TRACE|CDUMP|HM...
980 0
|
SQL 关系型数据库 Linux
20151101使用dbms_backup_restore删除文件
[20151101]使用dbms_backup_restore删除文件.txt --dbms_backup_restore自带deletefile过程.使用它可以删除文件.
779 0
|
Oracle 关系型数据库
[20151028]理解数据文件offline+drop.txt
[20151028]理解数据文件offline+drop.txt --前几天做删除数据文件的恢复测试,自己在理解offline drop的方式存在错误,做一个记录: The ALTER DATABASE DATAFILE OFFLINE DROP command, is not meant to allow you to remove a datafile.
841 0
|
Oracle 关系型数据库 数据库
[20140404]startup force问题.txt
[20140404]startup force问题.txt 前一段时间别人问看见别人的讲座使用startup force启动oracle数据库有什么问题,实际上使用startup force重启数据库,相当于 shutdown abort+startup,这样要启动中进行crash recovery。
655 0