Oracle 数据导入

记录内容:

        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导入的文件如果出现中文乱码,不需要修改数据库的编码,只需要保证文件的编码和系统编码保持一致即可,数据库会自动转换编码

请留意本文中提供的脚本都在一行执行,不能换行

转载请注明出处

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值