日期:2014-05-16  浏览次数:20991 次

sqlloader和import有什么相同点和区别啊
sqlloader和import有什么相同点和区别啊

------解决方案--------------------
相同点:都是往数据库里导数据的。
不同点:
sqlloader是把csv类型的数据文件,导入到数据库里,并且csv文件是可以用excel打开看到内容的;
import是把dmp类型的文件,导入到数据库里。dmp是通过export 从另外的数据库中导出来的。
而且,dmp文件,不可看的,用文本编辑器打开,是乱码。

import一般是导入大量表,和大量数据时使用,也就是数据备份时使用;
sqlloader是导入某些业务文件的时候使用。
------解决方案--------------------
exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。
sql loader 工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。

------解决方案--------------------
导入的文件格式不同 
sql loader 导入的时候可以通过 控制文件对文本导入的格式进行设置 每次导入一张表 (对现有的表 数据重写 或者续写)

imp可同时导入多张表。无法编辑数据的格式 和导出时的数据保持一致
------解决方案--------------------
关于SQL*Loader
SQL*Loader可以将外部文件数据导入到Oracle数据库表中。它有一个功能强大的数据解析引擎,对于数据文件格式限制很少。

特点:

? 可以通过网络加载数据,如果你的数据与Oracle数据库存在于不同的系统。
? 可以在一个会话中,加载多种数据文件。
? 可以在一个会话中,将数据加载到多个表中。
? 可以指定数据的字符集
? 可以选择性地加载数据(可以根据记录的值决定是否加载记录)
? 可以在数据加载前使用SQL函数对数据进行处理。
? 可以在指定列产生唯一顺序健值。
? 使用操作系统文件系统访问数据文件。
? 可以从磁盘、磁带和命名管道加载数据。
? 可以产生复杂的错误报告,用于帮助解决问题。
? 可以强行加载复杂的对象关系数据。
? 可以使用二进制数据文件加载LOB和集合
? 可以使用传统路径和直接路径进行加载,传统路径加载非常灵活,而直接路径加载性能很好。

关于IMP
Export和Import是Oracle在早期的版本中提供的操作系统工具,用于从数据库导出、导入数据和数据库的逻辑备份。由于EXP/IMP是基于客户端会话的单线程的数据库导出/导入工具,应用于大型的数据库系统时可能存在性能瓶颈。在Oracle 10g开始被重新设计为Data Dump技术。