最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle通过数据泵网络导入另一个数据库,不生成DMP文件

来源:懂视网 责编:小采 时间:2020-11-09 12:51:21
文档

Oracle通过数据泵网络导入另一个数据库,不生成DMP文件

Oracle通过数据泵网络导入另一个数据库,不生成DMP文件:本文是记录一次Oracle数据导入的经历,方便以后复习。因项目需要将服务器A上的数据库(用户名:USER1)导入到服务器B上的数据库( A上的数据库(用户名:USER1)导入到服务器B上的数据库(用户名:USER1),不想采用普通的EMP /IMP方式,通过生成一个
推荐度:
导读Oracle通过数据泵网络导入另一个数据库,不生成DMP文件:本文是记录一次Oracle数据导入的经历,方便以后复习。因项目需要将服务器A上的数据库(用户名:USER1)导入到服务器B上的数据库( A上的数据库(用户名:USER1)导入到服务器B上的数据库(用户名:USER1),不想采用普通的EMP /IMP方式,通过生成一个

本文是记录一次Oracle数据导入的经历,方便以后复习。因项目需要将服务器A上的数据库(用户名:USER1)导入到服务器B上的数据库(

A上的数据库(用户名:USER1)导入到服务器B上的数据库(用户名:USER1),不想采用普通的EMP /IMP方式,通过生成一个中间的DMP文件来操作,记得数据泵EMP DP/IMPDP可以不用生成中间文件直接将数据从一个数据库导入到另一个数据库,于是找了些相关资料,脚本如下:

impdp system/system@ORCLB network_link=db_a_user1 logfile=impdp_db_a_user1.log DIRECTORY=TEMP_A_USER1 parallel=8;

执行出错,,错误信息如下:

LRM-00104: '32;' 不是 'parallel' 的合法整数

经过查看资料,说是parallel不能放在语法的最后面,于是调整后脚本如下:

impdp system/system@ORCLB network_link=db_a_user1 logfile=impdp_db_a_user1.log parallel=8 DIRECTORY=TEMP_A_USER1;

再次执行,依然出错,错误信息如下:

经查阅资料,发现必须创建public dblink才可以,先删除掉原有的dblink再重新创建,错误解决。

原来dblink脚本:

db_a_user1

USER1

USING

'(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL)

)

)';

调整后脚本:

db_a_user1

USER1

USING

'(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCL)

)

)';

但出现了新的错误信息:

目录(directory)TEMP_A_USER1无效,查阅资料发现需要将把DIRECTORY= TEMP_A_USER1放在脚本前面,调整后脚本如下:

impdp system/system@ORCLB DIRECTORY=TEMP_A_USER1 parallel=8 network_link=db_a_user1 logfile=impdp_db_a_user1.log;

再次执行,出现另外一个错误,错误信息如下:

TEMP_A_USER1

SYS.UTL_FILE

再次执行脚本

impdp system/system@ORCLB DIRECTORY=TEMP_A_USER1 parallel=8 network_link=db_a_user1 logfile=impdp_db_a_user1.log;

没有出现错误,成功将数据从A服务器导入到B服务器的数据库中。

总结:从以上经历可以看出,成功地通过网络导入数据库(不生成DMP文件)需要注意以下内容:

1、db link;

2、 在system下创建Directory,并赋予其读写权限,同时赋予SYS.UTL_FILE的执行权限;

3、 执行脚本参数位置,DIRECTORY=TEMP_A_USER1必须放在前面,parallel=8不能放在最后,是不是Oracle bug没确定过。

本文永久更新链接地址:

linux

文档

Oracle通过数据泵网络导入另一个数据库,不生成DMP文件

Oracle通过数据泵网络导入另一个数据库,不生成DMP文件:本文是记录一次Oracle数据导入的经历,方便以后复习。因项目需要将服务器A上的数据库(用户名:USER1)导入到服务器B上的数据库( A上的数据库(用户名:USER1)导入到服务器B上的数据库(用户名:USER1),不想采用普通的EMP /IMP方式,通过生成一个
推荐度:
标签: 导入 数据库 oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top