Oracle导出文本文件的四种方法(exp ,impdp ,spool,sqluldr2)
一、exp imp
1.1 exp 将数据库内的各对象以二进制方式下载成dmp文件,方便数据迁移。
相关参数项如下:
导出整个实例
exp dbuser/oracle file=oradb.dmp log=oradb.log full=y consistent=y direct=y
user应具有dba权限
导出某个用户所有对象
exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=4096000 feedback=10000
导出一张或几张表
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=4096000 feedback=10000
导出某张表的部分数据
exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1 buffer=4096000 feedback=10000 query=\”where col1=‘…’ and col2 <…\”
不可用于嵌套表
以多个固定大小文件方式导出某张表
exp dbuser/oracle file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=emp buffer=4096000 feedback=10000
这种做法通常用在:表数据量较大,单个dump文件可能会超出文件系统的限制
直通路径方式
direct=y,取代buffer选项,query选项不可用
有利于提高下载速度
consistent选项
自export启动后,consistent=y冻结来自其它会话的对export操作的数据对象的更新,这样可以保证dump结果的一致性。但这个过程不能太长,以免回滚段和联机日志消耗完
1.2 imp导入–将exp下载的dmp文件上载到数据库内。
imp 相关参数项如下:
导入整个实例
imp dbuser/oracle file=oradb.dmp log=oradb.log full=y buffer=4096000 commit=y ignore=y feedback=10000
导入某个用户所有对象
imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000
导入一张或几张表
imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2 fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000
以多个固定大小文件方式导入某张表
imp dbuser/oracle file=(1.dmp,2.dmp,3.dmp,…) filesize=1000m tables=emp fromuser=dbuser touser=dbuser2 buffer=4096000 commit=y ignore=y feedback=10000
二、Oracle数据泵EXPDP/IMPDP导出导入
2.1 数据泵导出
数据泵导出将数据库对象和数据导出到文件中,以便在其他数据库中导入或备份。以下是进行数据泵导出的基本步骤:
a. 连接到目标数据库
b. 使用EXPDP命令指定导出的对象和选项
c. 执行导出命令并等待导出完成
d. 检查导出日志并验证导出结果
示例:
create directory dpump_dir1 as ‘/home/back’; --创建目录路径
expdp username/password@dbname DIRECTORY=dpump_dir1 DUMPFILE=expdp.dmp logfile=expdp.log SCHEMAS=hr
2.2 数据泵导入
数据泵导入将数据泵文件中的对象和数据导入到数据库中。以下是进行数据泵导入的基本步骤:
a. 连接到目标数据库
b. 使用IMPDP命令指定导入的对象和选项
c. 执行导入命令并等待导入完成
d. 检查导入日志并验证导入结果
示例:
impdp username/password@dbname DIRECTORY=dpump_dir1 DUMPFILE=expdp.dmp logfile=impdp.log SCHEMAS=hr
2.3 高级选项
数据泵导入导出功能提供了一些高级选项,可灵活控制导入导出过程。以下是一些常用的高级选项:
1.并行设置
并行设置允许同时使用多个进程来加速导出导入操作。通过指定PARALLEL参数,可以控制导出过程中的并行度。
示例:
expdp username/password@dbname DIRECTORY=dpump_dir1 DUMPFILE=expdp%U.dmp PARALLEL=4
在上述示例中,"PARALLEL=4"表示使用4个并行进程进行导出操作。这样可以显著提高导出的速度,特别是在处理大型数据库时。
2.导出文件压缩
导出文件压缩可以减小导出文件的大小,从而节省存储空间和加快导出操作。通过使用COMPRESSION参数,可以启用导出文件的压缩功能。
示例:
expdp username/password@dbname DIRECTORY=dpump_dir1 DUMPFILE=expdp.dmp COMPRESSION=ALL
在上述示例中,"COMPRESSION=ALL"表示对导出文件进行最大程度的压缩。压缩后的文件可以更快地传输和存储,并减少磁盘空间的使用。
3.导出文件大小设置
导出文件大小设置