Oracle-sqlldr
2012-07-17 14:08:06 来源:WEB开发网核心提示: 1引言1.1 概述SQLLDR简介 2sql loader的特点oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作,但是每个工具都有自己的特点,Oracle-sqlldr,exp和imp:逻辑转移备份,对象主要是是数据库用户,将一个用户的所有表结构及索引,bad表示入库失败的数据3.5.2Sq
1 引言
1.1 概述
SQLLDR简介
2 sql loader的特点
3 sql loader命令
oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。
exp和imp:逻辑转移备份,对象主要是是数据库用户,将一个用户的所有表结构及索引,触发器,过程,函数等导入到另一用户里
expdp和impdp:10g新添功能,逻辑转移备份,对象是数据库或数据库用户,实现表空间的转移
sql loader: 文本导入,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。
3.1 控制文件
4 控制文件
控制文件是用一种语言写的文本文件,这个文本文件能被SQL*LOADER识别。 SQL*LOADER根据控制文件可以找到需要加载的数据。并且分析和解释这些数据。控制文件由三个部分组成:
全局选件,行,跳过的记录数等; INFILE子句指定的输入数据;数据特性说明。
3.2 输入文件
对于 SQL*Loader, 除控制文件外就是输入数据。SQL*Loader可从一个或多个指定的文件中读出数据。
3.3 失败文件
坏文件包含那些被SQL*Loader拒绝的记录。被拒绝的记录可能是不符合要求的记录。坏文件的名字由SQL*Loader命令的BADFILE 参数来给定。
3.4 日志文件及日志信息
当SQL*Loader 开始执行后,它就自动建立 日志文件。日志文件包含有加载的总结,加载中的错误信息等。
3.5 sqlldr命令3.5.1 命令
D:\work\Sqlldr\培训>sqlldr
userid=usertest/123456@NQUSER_192.168.0.18
control =TBL_TEMP_WJN_SQLLDR.ctl
data = data.txt
bad = TBL_TEMP_WJN_SQLLDR.bad
log = TBL_TEMP_WJN_SQLLDR.log
上面的例子中,usertest/123456@nquser表示入库的目标数据库以及登陆名和密码,control表示控制文件,data表示数据文件,log表示入库日志,bad表示入库失败的数据
3.5.2 Sqlldr帮助
C:\Documentsand Settings\Administrator>sqlldr
SQL*Loader:Release 10.2.0.3.0 - Production on 星期三 4月 6 10:35:29 2011
Copyright(c) 1982, 2005, Oracle. All rightsreserved.
用法: 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(默认NO
T_USED)
columnarrayrows--直接路径列数组的行数(默认5000)
streamsize--直接路径流缓冲区的大小(以字节计)(默认256000)
multithreading--在直接路径中使用多线程
resumable--启用或禁用当前的可恢复会话(默认FALSE)
resumable_name--有助于标识可恢复语句的文本字符串
resumable_timeout--RESUMABLE的等待时间(以秒计)(默认7200)
date_cache--日期转换高速缓存的大小(以条目计)(默认1000)
PLEASENOTE:
命令行参数可以由位置或关键字指定。
前者的例子是'sqlload scott/tigerfoo';
后一种情况的一个示例是'sqlldrcontrol=foo userid=scott/tiger'.位置指定参数的时间必须早于
但不可迟于由关键字指定的参数。
例如,
允许'sqlldr scott/tiger control=foo logfile=log',
但是不允许'sqlldr scott/tiger control=foo log',即使参数'log'的位置正确。
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接