记录内容:
1. 通过数据泵导入/导出数据
2.通过sqlldr导入数据
使用数据泵导数操作:
1.确认oracle数据库操作dump的目录select * from dba_directories;
2.没有了可以先在系统中创建目录/data/expdp_dir,赋予oracle用户组读写执行权限
3.用dba用户登录,创建执行路径create directory expdp_dir as '/data/expdp_dir';
4.执行导出操作:
1)按照表导出
expdp '用户名/"密码"' DIRECTORY =上一步创建路径的名称 dumpfile=导出的文件名.dump logfile=导出文件的日志.log tables=多表按照表名用逗号隔开 cluster=n
例:
expdp ‘aideqi/"aideqi123"’ DIRECTORY=EXPDP_DIR dumpfile=aideqi_exp_0707.dump logfile=aideqi_exp_0707.log tables=user_table1,user_table2
2)按照用户导出
expdp ‘用户名/"密码"’ DIRECTORY=EXPDP_DIR dumpfile=导出的文件名.dmp schemas=实例名 parallel=线程数 logfile=导出的日志 exclude=statistics(排除统计信息)
例:
expdp ‘aideqi/“aideqi123”’ DIRECTORY=EXPDP_DIR dumpfile=aideqi_exp_0707.dump logfile=aideqi_exp_0707.log schemas=aideqidb parallel=6 exclude=statistics
注:如果是数据库大版本不一致需要加上版本号version=11.2.0.0.2.0
只导表结构需要加上content=metadata_only这个属性
5.导入操作
1)按照表导入
impdp '用户名/"密码"' DIRECTORY=EXPDP_DIR dumpfile=导出的dump文件 logfile=导入的日志 remap_schema=导出实例名:导入实例名 remap_tablespace=导出表空间:导入表空间 remap_table=导出表名:导入表名,导出表名2:导入表名2 cluster=n
例:
impdp ‘aideqi/“aideqi123”’ DIRECTORY=EXPDP_DIR dumpfile=aideqi_exp_0707.dump logfile=aideqi_imp_0707.log remap_schema=aideqi:aideqitmp remap_tablespace=aideqi_TB01:aideqitmp_TB02 remap_table=user_table1:user_table1_tmp,user_table2:user_table2_tmp cluster=n
2)按照用户导入
impdp '用户名/"密码"' DIRECTORY=EXPDP_DIR dumpfile=导出的dump文件 logfile=导入的日志 remap_schema=导出实例名:导入实例名 remap_tablespace=导出表空间:导入表空间 cluster=n
例:
impdp ‘aideqi/“aideqi123”’ DIRECTORY=EXPDP_DIR dumpfile=aideqi_exp_0707.dump logfile=aideqi_imp_0707.log remap_schema=aideqi:aideqitmp remap_tablespace=aideqi_TB01:aideqitmp_TB02 cluster=n
3)如果不是dump文件导入可以使用sqlldr
使用Oracle用户创建.ctl文件,写入可执行脚本:
load data
infile '需要导入的文件名+后缀'
insert into table 需要插入的表名
fields terminated by ','(
字段1,
字段2
) 例:
load data
infile 'user.txt'
insert into table user_table1
fields terminated by ','(user_id,
user_name
)
最好将可执行脚本和需要执行插入的数据放到同一目录(也可以指定目录),执行脚本
sqlldr 用户名/密码@数据库名 data=数据文件地址 control=ctl控制文件地址 log=日志记录
sqlldr aideqi/aideqi123 data='aideqi.txt' control='aideqi.ctl' log='aideqi.log'
sqlldr导入的文件如果出现中文乱码,不需要修改数据库的编码,只需要保证文件的编码和系统编码保持一致即可,数据库会自动转换编码
请留意本文中提供的脚本都在一行执行,不能换行
转载请注明出处