12
返回列表 发新帖
楼主: zhangxuehun

impdp不能导入JOB

[复制链接]
论坛徽章:
8
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532008新春纪念徽章
日期:2008-02-13 12:43:03ITPUB元老
日期:2011-12-24 20:32:592012新春纪念徽章
日期:2012-01-04 11:53:29
11#
发表于 2007-3-3 19:50 | 只看该作者
感谢楼上的实例 

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
12#
 楼主| 发表于 2007-3-5 14:51 | 只看该作者
最初由 ZALBB 发布
[B]可以使用impdp 方法导入JOB,
假设源库 A, 目标库B,现要将A库下的USER1 的JOB导入到B库的USER2 中。

方法:
1在 B.USER2 下创建数据库链到A.USER1.
2 在B 库下执行IMPDP:
IMPDP USER2/***** INCLUDE=SCHEMA_EXPORT/JOB  network_link=上面创建的数据库链

我测试此方法的情况如下:

F:\oracle\product\10.2.0\db_1\BIN>impdp include=SCHEMA_EXPORT/JOB network_link=TO52



Import: Release 10.2.0.3.0 - Production on 星期五, 02 3月, 2007 16:14:15

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

用户名: ncv31/1

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "NCV31"."SYS_IMPORT_SCHEMA_01":  ncv31/******** include=SCHEMA_EXPORT/JOB network_link=TO52
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 0 KB
处理对象类型 SCHEMA_EXPORT/JOB
作业 "NCV31"."SYS_IMPORT_SCHEMA_01" 已于 16:14:31 成功完成

到库里查看, A.USER1 下的所有JOB都被导入到B.USER2 [/B]


兄弟,谢谢你的实例!
不过你的实例跟我的场景不一样啊,我要做到是Schema模式的导出、导入,不可能用include把Schema下的每种类型都包括进去吧。
另外,从导出日至看,它是处理了job类型的,不过不知道为什么在导入日志中没看到它对job类型的处理记录。

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
13#
发表于 2007-3-5 16:36 | 只看该作者
最初由 zhangxuehun 发布
[B]

兄弟,谢谢你的实例!
不过你的实例跟我的场景不一样啊,我要做到是Schema模式的导出、导入,不可能用include把Schema下的每种类型都包括进去吧。
另外,从导出日至看,它是处理了job类型的,不过不知道为什么在导入日志中没看到它对job类型的处理记录。 [/B]


你说的没导入JOB的情况,我没见过。按照我处理问题的思路,
若第1次发现问题没解决,则会缩小范围去深究,找原因。

所以你说在作impdp时发现JOB没导入,我便建议你单独处理JOB看看。

另外,关于导入/导出 SCHEMA 模式,可看看我的研究结果,

使用impdp复制oracle的schema:http://www.itpub.net/728891.html


采用该方法迁移数据,可省时省力。欢迎对文章拍砖。

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
14#
发表于 2007-3-8 11:14 | 只看该作者
最初由 zhangxuehun 发布
[B]

兄弟,谢谢你的实例!
不过你的实例跟我的场景不一样啊,我要做到是Schema模式的导出、导入,不可能用include把Schema下的每种类型都包括进去吧。
另外,从导出日至看,它是处理了job类型的,不过不知道为什么在导入日志中没看到它对job类型的处理记录。 [/B]


嗯,找到答案了,是个BUG。
BUG# 5063330

METALINK上关于此BUG的信息:
[php]
*** 02/26/06 10:10 am ***
TAR:
----
5160977.993
5160977.993 .
PROBLEM:
--------
DATAPUMP DOESN'T CREATE USER JOBS THROUGH IMPORT
.
DIAGNOSTIC ANALYSIS:
--------------------
1-Create any JOB like the following one
var jobnumber NUMBER
BEGIN DBMS_JOB.SUBMIT
(job => :jobnumber ,
what =>'DBMS_DDL.ANALYZE_OBJECT(''TABLE'',''LOAD1'',''TENK'',''ESTIMATE''
,null
,estimate_percent=>50);'
,next_date => TRUNC(SYSDATE+1)
,interval => 'TRUNC(SYSDATE+1)'
);
END;
/
print jobnumber
.
2-  expdp scott/tiger directory=my_dir dumpfile=exp_scott.dmp
    logfile=exp_scott.log .
3- Drop user scott
.
4- Create empty schema
.
5- impdp scott/tiger directory=my_dir dumpfile=exp_scott.dmp
   logfile=imp_scott.log  
.
[/php]

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
15#
 楼主| 发表于 2007-3-8 12:44 | 只看该作者
谢谢版主的关注与帮助!
不知道有什么解决办法?
我在后来的测试中发现,如果在导入的时候不指定Schemas参数的话,job会被导入到导入用户的schema中;如果指定Schemas参数的话,会报错误,如下所示:

Import: Release 10.2.0.1.0 - Production on Thursday, 08 March, 2007 12:38:43

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-31655: no data or metadata objects selected for job
Master table "BFUSER"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "BFUSER"."SYS_IMPORT_SCHEMA_01":  bfuser/******** directory=dpumpDir1 schemas=BOSS_V3 include=SCHEMA_EXPORT/JOB
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Job "BFUSER"."SYS_IMPORT_SCHEMA_01" successfully completed at 12:38:50


如果是这样的话,那现在就只能每个用户导入自己的schema了,即不能指定schemas参数了。不知道版主有没有更好的办法?多谢!

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
16#
发表于 2007-3-8 13:52 | 只看该作者
最初由 zhangxuehun 发布
[B]谢谢版主的关注与帮助!
不知道有什么解决办法?
我在后来的测试中发现,如果在导入的时候不指定Schemas参数的话,job会被导入到导入用户的schema中;如果指定Schemas参数的话,会报错误,如下所示:

Import: Release 10.2.0.1.0 - Production on Thursday, 08 March, 2007 12:38:43

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-31655: no data or metadata objects selected for job
Master table "BFUSER"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "BFUSER"."SYS_IMPORT_SCHEMA_01":  bfuser/******** directory=dpumpDir1 schemas=BOSS_V3 include=SCHEMA_EXPORT/JOB
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Job "BFUSER"."SYS_IMPORT_SCHEMA_01" successfully completed at 12:38:50


如果是这样的话,那现在就只能每个用户导入自己的schema了,即不能指定schemas参数了。不知道版主有没有更好的办法?多谢! [/B]


我这边做测试,也有你说的情况,察看文档,没说明BUG什么时候解决。
建议使用dbms_job.user_export来导出来,用dbms_ijob.remove()
来删除,然后用刚才导出来的脚本重新插入JOB,这样不用变化JOBID号。
如:
[php]
declare
  v_jobtext     varchar2(500);
begin
  for i in (select job from dba_jobs where job =1586)
  loop
      v_jobtext :='';
      dbms_job.user_export(i.job,v_jobtext);
      dbms_output.put_line(to_char(i.job)||','||v_jobtext);
  end loop;
end;

将输出:
exec dbms_job.isubmit(job=>1337,what=>'PRO_9TH;',next_date=>to_date('2006-12-20:21:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(21+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1338,what=>'PRO_5TH;',next_date=>to_date('2006-12-20:21:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(21+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1339,what=>'PRO_8TH;',next_date=>to_date('2006-12-20:21:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(21+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1340,what=>'PRO_7TH;',next_date=>to_date('2006-12-20:17:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(17+7/12)/24',no_parse=>TRUE);
exec dbms_job.isubmit(job=>1341,what=>'PRO_6TH;',next_date=>to_date('2006-12-20:17:35:00','YYYY-MM-DD:HH24:MI:SS'),interval=>'trunc(sysdate+1)+(17+7/12)/24',no_parse=>TRUE);

然后创建脚本删除JOB,
exec sys.dbms_ijob.remove(job=>1337);
exec sys.dbms_ijob.remove(job=>1338);
exec sys.dbms_ijob.remove(job=>1339);
exec sys.dbms_ijob.remove(job=>1340);
exec sys.dbms_ijob.remove(job=>1341);

再执行上面输出的脚本即可。
*****************************************************************
[/php]

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
17#
 楼主| 发表于 2007-3-8 15:43 | 只看该作者
再次感谢版主!

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
18#
发表于 2007-3-8 16:49 | 只看该作者
我10楼的答复也是个方法,只要创建个公共的数据库连,该链的用户有
EXP_FULL_DATABASE 的权限即可。

可以不同用户登录,逐个逐个导入。

使用道具 举报

回复
论坛徽章:
2
参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:00ITPUB学员
日期:2010-09-14 09:27:31
19#
发表于 2010-5-20 21:22 | 只看该作者
遇到同样的问题,我用数据泵做数据库迁移(read only下竟然无法用expdp,郁闷)
导出时用
expdp system/tiger@db directory=dpdir dumpfile=dp.dmp  full=y
导入时用
impdp user1/passwd1@db directory=dpdir dumpfile=dp.dmp schemas=user1 remap_tablespace=old1:new1
impdp user2/passwd2@db directory=dpdir dumpfile=dp.dmp schemas=user2 remap_tablespace=old2:new2
impdp user3/passwd3@db directory=dpdir dumpfile=dp.dmp schemas=user3 remap_tablespace=old3:new3

结果发现,所有的job都未导入。

数据库版本 10.2.0.3

使用道具 举报

回复
论坛徽章:
10
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222014系统架构师大会纪念章
日期:2014-08-11 17:52:242013系统架构师大会纪念章
日期:2014-08-11 17:52:242012系统架构师大会纪念章
日期:2014-08-11 17:52:242011系统架构师大会纪念章
日期:2014-08-11 17:52:242010系统架构师大会纪念
日期:2014-08-11 17:52:242009架构师大会纪念徽章
日期:2014-08-11 17:52:24ITPUB社区千里马徽章
日期:2013-06-09 10:15:34生肖徽章2007版:龙
日期:2012-02-28 12:20:38白羊座
日期:2016-05-06 19:50:34
20#
发表于 2013-12-21 20:06 | 只看该作者

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表