oracle数据库exp导出和imp导入实例演示

背景

需要把测试环境82库的一个有30条数据导入开发环境200库中,plsql图形界面有文本导入,最开始采用导csv的形式,
导出效率也很快,但是导入时会出现乱码,也设置了本地编码的环境变量NLS_LAGUAGE与数据库保持一致
,但导入始终是乱码。所以通过下面两种方法解决

方法一、采用oracle最原始dump文件的导出再导入的形式

本方法由于导出的是二进制文件,就不会存在编码问题。效率也很高

1、数据导出

1.1、创建导出参数文件

参数文件 expFile.txt 内容如下
路径:C:\Users\wanghao\Desktop

tables=ggcode_test //需要导出的表
rows=y //导出表数据
file=D:\software\oracle11\exp\ggcode_test.dmp  //导出文件路径以及文件名
log=D:\software\oracle11\exp\exp.log	//导出日志

1.2 执行导出

打开cmd 直接输入

exp ctcheckpasswd@10.248.100.81/ctcore parfile=C:\Users\wanghao\Desktop\expFile.txt

在这里插入图片描述
导出时间花了40多秒效率也非常的高

2、数据导入

导入dump文件前,需要坚持导入的数据库中是否有该表,如果有的话需要drop掉,不然导入时会报错

2.1 创建导入参数文件

导入参数文件impFile.txt
路径C:\Users\wanghao\Desktop

file=D:\software\oracle11\exp\ggcode_test.dmp //导入文件路径以及文件名
tables=ggcode_test   //导入的表
rows=y	//导入数据
fromuser=ctcheck	//数据来自用户
touser=ctuat //导入用户

2.2 执行导入

同样在cmd命令行直接输入即可

   imp ctuat/passwd@10.248.100.200/ctcore parfile=C:\Users\wanghao\Desktop\impFile.txt

在这里插入图片描述
导入差不多50s左右 效率极高
查看结果,成功导入了30w条数数据
在这里插入图片描述

方法二、通过创建DBLINK方式

在需要导入的数据库创建dblink,然后通过dblink访问需要获取的表数据插入到目标表中
注意为了安全起见。最后在源数据库重新创建一个用户,该用户只有查询权限,然后用该用户创建
dblink,这样就不会出现通过dbliink修改源库的数据了

创建的blink方法在 :https://blog.csdn.net/whandgdh/article/details/79286848
这里就不需要再赘述。

总结

exp和imp命令导出导入dump文件的形势。通过二进制文件方式导出和导入,不会存在乱码,除非导入导出数据库的编码不一致,同时效率也非常高。但是可能会存在如果用户没有导出 exp_full_database ,导入:imp_full_database权限
需要dba授权。
对于dblink方式也非常的简单,就不存在导出这个步骤,直接通过dblink访问源表,直接插入到目标表。同样这里可能也需要dba创建dba

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜的中年程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值