前言
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
- A表记录利用toad或者pl/sql工具将其导出为一条条分号隔开的insert语句,然后再执行插入到B表中
- 建立数据库间的dblink,然后使用 create table B as select * from A@dblink where…,或者insert into B select * from A@dblink where…
- exp/expdp A表,再imp/impdp到B表
- 那么除了上面的三种常用的方法,还有其他比较好的方法进行数据迁移吗,下面介绍oracle自带的Sql Loader(sqlldr)的用法。
sqlloader简介
sqlloaderOracle用于数据迁移、将数据从外部文件加载到Oracle数据库的表中,它具有强大的数据解析引擎,对数据文件中数据的格式几乎没有限制。

基本的组成由:
*.ctl:控制文件,与表信息相关,数据入表的逻辑处理(数据加载信息,解析数据,导入数据信息)
*.bad :执行bat后自动生成,错误日志,保存导入文件出现错误的记录
*.log :执行bat后自动生成,日志文件,可以查看导入的情况
*.dis:废弃文件
常用的参数命令:
- userid – ORACLE 用户名/口令
- control – 控制文件名,默认 格式 *.ctl
- log – 记录导入时的日志文件,默认为 控制文件(去除扩展名).log
- bad – 坏数据

最低0.47元/天 解锁文章
5470





