JOB在导入导出的时候比较特殊,今天就碰到

了一个没有想到的问题,正好整理记录一下。

Oracle生成的JOB的id在整个数据库中是唯一的。所有的JOB信息都存储在SYS的JOB$表中,主键ID由SYS.JOBSEQ生成。这样就保证了所有用户

下的JOB都不会重复。

导入导出没有单独导入导出JOB的

功能,只有在全库和用户模式下会导入导出JOB。JOB在

导入导出过程中,最容易出现的错误就是JOB的id重

复。由于在导出的时候,Oracle会记录每个JOB的ID,因此如果导入的时候在JOB id已经存在,则

无法导入。

最可能出现这种问题的情况是把一个用户导入到当前库中的另一个用户中。那么由于JOB id已

经存在,所以用户所有的JOB都无法导入。

今天碰到的情况是,从一个全库

导出的DMP文件,以用户模式导入的话,不会导入该用户的JOB信

息。

SQL> CONN YANGTK/YANGTK@TEST1已连接。SQL>

SQL> CREATE USER A IDENTIFIED BY A;

用户已创建

SQL> GRANT

CONNECT, RESOURCE TO A;

授权成功。

SQL> CREATE

TABLE A.T AS SELECT ROWNUM ID FROM TAB;

表已创建。

SQL> CONN

A/A@TEST1已

连接。SQL> DECLARE

2

V_JOB NUMBER;

3 BEGIN

4 DBMS_JOB.SUBMIT(V_JOB, 'NULL;', SYSDATE,

'SYSDATE + 1/24

5 COMMIT;

6 END;

7 /

PL/SQL过程已成功完成。

SQL> CONN

YANGTK/YANGTK@TEST1已连接。SQL>

CREATE USER B IDENTIFIED BY B;

用户已创建

SQL> GRANT

CONNECT, RESOURCE TO B;

授权成功。

E:>exp

a/a@test1 file=a.dmp

Export: Release 9.2.0.1.0 -

Production on星期三9月7 19:32:26 2005

Copyright (c)

1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -

Production

With the Partitioning, Oracle Label Security, OLAP and

Oracle Data Mining option

s

JServer Release 9.2.0.1.0 - Production已

导出ZHS16GBK字符集和AL16UTF16

NCHAR字符集.正在导出pre-schema过程对象和操作.正在导出用户A的外部函数库名称.导出PUBLIC类

型同义词.导出私有类型同义词.正在导出用户A的对象类型定义即将导出A的对象...

.正在导出数据库链接.正在导出序号.正在导出群集定

义.即将导出A的表通过常规路径...

. .正在导出表T 0行被导出.正在导出同义词.正在导出视图.正在导出存储的过程.正在导出运算符.正在导出引用完整性约束条件.正在导出触发器.正在导出索引类型.正在导出位图,功能性索引和可扩展索引.正在导出后期表

活动.正在导出实体化视图.正在导出快照日志.正在导出作业队列.正在导出刷新组和子组.正在导出维.正在导出post-schema过程对象和操作.正在导出统计在没有警告的情况下成功终止导出。

E:>imp yangtk/yangtk@test1

file=a.dmp fromuser=a touser=b

Import: Release 9.2.0.1.0 -

Production on星期三9月7 19:33:57 2005

Copyright (c)

1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With

the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining

option

s

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创

建的文件

警告:此对象由A导

出,而不是当前用户

已经完成ZHS16GBK字

符集和AL16UTF16 NCHAR字符集中的导入.正在将A的对象导入到B

.

.正在导入表"T" 0行被导入IMP-00017:由于ORACLE的1错

误,以下的语句失败"BEGIN

DBMS_JOB.ISUBMIT(JOB=>1,WHAT=>'NULL;',NEXT_DATE=>TO_DATE('2005-09-0"

"7:19:26:29','YYYY-MM-DD:HH24:MI:SS'),INTERVAL=>'SYSDATE

+ 1/24',NO_PARSE=>T"

"RUE); END;"

IMP-00003:遇到ORACLE错误1

ORA-00001:违反唯一约束条件(SYS.I_JOB_JOB)

ORA-06512:在"SYS.DBMS_JOB", line 97

ORA-06512:在line 1成功终止导入,但出现警告。

E:>

由于JOB ID已经存在,导致了上面的错误,删掉JOB后

重试:

SQL> CONN A/A@TEST1已连接。SQL> EXEC DBMS_JOB.REMOVE(1)

PL/SQL过程已成功完成。

SQL> COMMIT;

提交完成。

SQL> CONN

YANGTK/YANGTK@TEST1已连接。SQL> DROP

USER B CASCADE;

用户已丢弃

SQL> GRANT

CONNECT, RESOURCE TO B IDENTIFIED BY B;

授权成功。

E:>imp

yangtk/yangtk@test1 file=a.dmp fromuser=a touser=b

Import: Release

9.2.0.1.0 - Production on星期三9月7 19:37:50 2005

Copyright (c)

1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With

the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining

option

s

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创

建的文件

警告:此对象由A导

出,而不是当前用户

已经完成ZHS16GBK字

符集和AL16UTF16 NCHAR字符集中的导入.正在将A的对象导入到B

.

.正在导入表"T" 0行被导入成功终止导入,但出现警告。

SQL> COL WHAT FORMAT A40

SQL>

COL LOG_USER FORMAT A10

SQL> COL PRIV_USER FORMAT A10

SQL>

COL SCHEMA_USER FORMAT A10

SQL> SELECT JOB, LOG_USER, PRIV_USER,

SCHEMA_USER, WHAT FROM USER_JOBS;

JOB LOG_USER

PRIV_USER SCHEMA_USE WHAT

---------- ---------- ---------- ----------

-------------------------------

1 YANGTK YANGTK B NULL;

SQL> SHOW

USER

USER为"YANGTK"

发现JOB居然导入到B用

户下,而是JOB却在YANGTK用户下运

行。如果想要正确的导入JOB则只能采用下面的方法:

SQL> DROP

USER B CASCADE;

用户已丢弃

SQL> GRANT CONNECT, RESOURCE TO B

IDENTIFIED BY B;

授权成功。

E:>imp b/b@test1 file=a.dmp

full=y

Import: Release 9.2.0.1.0 - Production on星期三9月7 19:52:28 2005

Copyright (c)

1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With

the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining

option

s

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创

建的文件

警告:此对象由A导

出,而不是当前用户

已经完成ZHS16GBK字

符集和AL16UTF16 NCHAR字符集中的导入.正在将A的对象导入到B

.

.正在导入表"T" 0行被导入成功终止导入,但出现警告。

SQL> SELECT

JOB, LOG_USER, PRIV_USER, SCHEMA_USER, WHAT FROM DBA_JOBS;

JOB LOG_USER

PRIV_USER SCHEMA_USE WHAT

---------- ---------- ---------- ----------

----------------------------

1 B B B NULL;

下面来看从全库中导入的情

况:

E:>exp yangtk/yangtk@test1 file=full.dmp full=y

Export: Release

9.2.0.1.0 - Production on星期三9月7 19:41:37 2005

Copyright (c)

1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 -

Production

With the Partitioning, Oracle Label Security, OLAP and

Oracle Data Mining option

s

JServer Release 9.2.0.1.0 - Production已

导出ZHS16GBK字符集和AL16UTF16

NCHAR字符集

即将导出整个数据库...

.正

在导出表空间定义.正在导出配置文件.正在导出用户定义.正在导出角色.正在导出资源成本.正在导出回退段定义.正在导出数据库链接.正在导出序号.正在导出目录别名.正在导出上下文名空间.正在导出外部函数库名称.导出PUBLIC类型同义词.导出私有类型同

义词.正在导出对象类型定义.正在导出系统过程对象和操作.正在导出pre-schema过程对象和操作.正在导出群集

定义.即将导出SYSTEM的表通过常规路径...

. .正在导出表AQ$_INTERNET_AGENTS 0行被导出. .正在导出表AQ$_INTERNET_AGENT_PRIVS 0行被导出. .正在导出表DEF$_AQCALL 0行被导出.

.正在导出表DEF$_AQERROR 0行被导出. .正在导出表DEF$_CALLDEST 0行被导出. .正在导出

表DEF$_DEFAULTDEST 0行被导出. .正在导出表DEF$_DESTINATION 0行被导出. .正在导出表DEF$_ERROR 0行被导出. .正在导出表DEF$_LOB 0行

被导出. .正在导出表DEF$_ORIGIN 0行被导出. .正在导出

表DEF$_PROPAGATOR 0行被导出. .正在导出表DEF$_PUSHED_TRANSACTIONS 0行被导出. .正在导出表DEF$_TEMP$LOB 0行被导出. .正在导出表HELP 918行被导出. .正在导出表LOGSTDBY$APPLY_MILESTONE 0行被

导出. .正在导出表LOGSTDBY$APPLY_PROGRESS

. .正在导出分区P0 0行

被导出. .正在导出表LOGSTDBY$EVENTS 0行被导出. .正在导出

表LOGSTDBY$PARAMETERS 0行被导出. .正在导出表LOGSTDBY$PLSQL 0行被导出. .正在导出表LOGSTDBY$SCN 0行被导出.

.正在导出表LOGSTDBY$SKIP 0行被导出. .正在导出表LOGSTDBY$SKIP_TRANSACTION 0行

被导出. .正在导出表REPCAT$_AUDIT_ATTRIBUTE 2行被导

出. .正在导出表REPCAT$_AUDIT_COLUMN 0行被导出. .正在导出

表REPCAT$_COLUMN_GROUP 0行被导出. .正在导出表REPCAT$_CONFLICT 0行被导出. .正在导出表REPCAT$_DDL 0行被导出.

.正在导出表REPCAT$_EXCEPTIONS 0行被导出. .正在导出表REPCAT$_EXTENSION 0行被导出. .正在导出表REPCAT$_FLAVORS 0行被导出. .正在导出表REPCAT$_FLAVOR_OBJECTS 0行被导出. .正在导出表REPCAT$_GENERATED 0行被导出. .正在导出表REPCAT$_GROUPED_COLUMN 0行被导出. .正在导出表REPCAT$_INSTANTIATION_DDL 0行被导出. .正在导出表REPCAT$_KEY_COLUMNS 0行被导出. .正在导出表REPCAT$_OBJECT_PARMS 0行被导出. .正在导出表REPCAT$_OBJECT_TYPES 28行被导出. .正在导出表REPCAT$_PARAMETER_COLUMN 0行被导出. .正在导出表REPCAT$_PRIORITY 0行被导出. .正在导出表REPCAT$_PRIORITY_GROUP 0行被导出. .正在导出表REPCAT$_REFRESH_TEMPLATES 0行被导出. .正在导出表REPCAT$_REPCAT 0行被导出. .正在导出表REPCAT$_REPCATLOG 0行被导出. .正在导出表REPCAT$_REPCOLUMN 0行被导出. .正在导出表REPCAT$_REPGROUP_PRIVS 0行被导出. .正在导出表REPCAT$_REPOBJECT 0行被导出. .正在导出表REPCAT$_REPPROP 0行被导出. .正在导出表REPCAT$_REPSCHEMA 0行被导出. .正在导出表REPCAT$_RESOLUTION 0行被导出. .正在导出表REPCAT$_RESOLUTION_METHOD 19行被导出. .正在导出表REPCAT$_RESOLUTION_STATISTICS 0行被导出. .正在导出表REPCAT$_RESOL_STATS_CONTROL 0行被导出. .正在导出表REPCAT$_RUNTIME_PARMS 0行被导出. .正在导出表REPCAT$_SITES_NEW 0行被导出. .正在导出表REPCAT$_SITE_OBJECTS 0行被导出. .正在导出表REPCAT$_SNAPGROUP 0行被导出. .正在导出表REPCAT$_TEMPLATE_OBJECTS 0行被导出. .正在导出表REPCAT$_TEMPLATE_PARMS 0行被导出. .正在导出表REPCAT$_TEMPLATE_REFGROUPS 0行被导出. .正在导出表REPCAT$_TEMPLATE_SITES 0行被导出. .正在导出表REPCAT$_TEMPLATE_STATUS 3行被导出. .正在导出表REPCAT$_TEMPLATE_TARGETS 0行被导出. .正在导出表REPCAT$_TEMPLATE_TYPES 2行被导出. .正在导出表REPCAT$_USER_AUTHORIZATIONS 0行被导出. .正在导出表REPCAT$_USER_PARM_VALUES 0行被导出. .正在导出表SQLPLUS_PRODUCT_PROFILE 0行被导出.即将导出OUTLN的表通过常规路径...

. .正

在导出表OL$ 0行被导出. .正在导出表OL$HINTS 0行被导出. .正在导出表OL$NODES 0行被导出.即将导出DBSNMP的表通过常规路径...

.即将导出WMSYS的表通过常

规路径...

. .正在导出表WM$ADT_FUNC_TABLE 0行被导出. .正在导出表WM$ENV_VARS 1行被导出.

.正在导出表WM$INSTEADOF_TRIGS_TABLE 0行被导出. .正在导出表WM$LOCKROWS_INFO 0行被导出. .正在导出表WM$MODIFIED_TABLES 0行被导出. .正在导出表WM$MW_TABLE

. .正在导出表WM$NESTED_COLUMNS_TABLE 0行被导出. .正在导出表WM$NEXTVER_TABLE 0行被导出. .正在导出表WM$REPLICATION_TABLE 0行被导出. .正在导出表WM$RESOLVE_WORKSPACES_TABLE 0行被导出. .正在导出表WM$RIC_TABLE 0行被导出.

.正在导出表WM$RIC_TRIGGERS_TABLE 0行被导出. .正在导出表WM$TMP_DBA_CONSTRAINTS 0行被导出. .正在导出表WM$UDTRIG_DISPATCH_PROCS 0行被导出. .正在导出表WM$UDTRIG_INFO 0行被导出. .正在导出表WM$VERSIONED_TABLES 0行被导出. .正在导出表WM$VERSIONED_TABLES_UNDO_CODE 0行被导出. .正在导出表WM$VERSION_HIERARCHY_TABLE 1行被导出. .正在导出表WM$VERSION_TABLE 0行被导出. .正在导出表WM$VT_ERRORS_TABLE 0行被导出. .正在导出表WM$WORKSPACES_TABLE 1行被导出. .正在导出表WM$WORKSPACE_PRIV_TABLE 8行被导出. .正在导出表WM$WORKSPACE_SAVEPOINTS_TABLE 0行被导出.即将导出YANGTK的表通过常规路径...

.即将导出A的表通过常规路径...

. .正在导出表T 0行被导

出.即将导出B的表通过常规路径...

. .正在导出表T 0行被导出.正在导出同义词.正在导出视图.正在导出引用完整性约束条件.正在导出存储的过程.正在导出运算符.正在导出索引类型.正在导出位图,功能性索引和可扩展索引.正在导出后期表

活动.正在导出触发器.正在导出实体化视图.正在导出快照日志.正在导出作业队列.正在导出刷新组和子组.正在导出维.正在导出post-schema过程对象和操作.正在导出用户

历史记录表.正在导出默认值和系统审计选项.正在导出统计在没有警告的情况下成功终

止导出。

E:>

SQL> CONN B/B@TEST1已连接。SQL> EXEC DBMS_JOB.REMOVE(1)

PL/SQL过程已成功完成。

SQL> COMMIT;

提交完成。

SQL> CONN

YANGTK/YANGTK@TEST1已连接。SQL>

GRANT CONNECT, RESOURCE TO C IDENTIFIED BY C;

授权成功。

E:>imp

yangtk/yangtk@test1 file=full.dmp fromuser=b touser=c

Import: Release

9.2.0.1.0 - Production on星期三9月7 19:57:48 2005

Copyright (c)

1982, 2002, Oracle Corporation. All rights reserved.

连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With

the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining

option

s

JServer Release 9.2.0.1.0 - Production

经由常规路径导出由EXPORT:V09.02.00创

建的文件已经完成ZHS16GBK字符集和AL16UTF16 NCHAR字符集中的导入.正在将B的

对象导入到C

. .正在导入表"T" 0行被导入成功终止导入,但出现警告。

E:>

SQL> SELECT *

FROM DBA_JOBS;

未选定行从全库逻辑备份按用户导入时,Oracle没有导入JOB,不知道这个是Oracle的bug,还是故意这样实现的。这个问题

在导入的用户名和导出的用户名不同时出现,如果导入的用户名和导出的用户名一致,则不会出现这个问题。怀疑是Oracle调

用DBMS_IJOB包时出现的问题。总之,EXP/IMP的时候需要考虑JOB,并在操作结束后检查JOB信息是否已经正确的

导入。

imp遇到重复数据_exp,imp引起的JOB问题相关推荐

  1. cmd imp导入dmp文件_exp/imp、expdp/impdp使用总结,这些你都清楚吗?

    Oracle备份分成物理备份与逻辑备份. 物理备份: 把实际物理文件从一处拷贝到另一处(可能是原样拷贝,也可能经过压缩), 操作系统备份,使用RMAN的备份,冷备份,热备份. 逻辑备份: 利用SQL从 ...

  2. imp遇到重复数据_数据挖掘入门 - 泰坦尼克号生存预测

    import pandas as pd; from sklearn.tree import DecisionTreeClassifier; # 导入决策树 from sklearn.linear_mo ...

  3. Oracle数据库exp和imp方式导数据

    这里导入导出路径都在D盘下,默认文件名为:example.dmp exp方式导出数据 相关参数项如下: 关键字 说明 默认 USERID 用户名/口令 FULL 导出整个文件 (N) BUFFER 数 ...

  4. oracle imp 版本错误,【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事项

    如有侵权,请告知,立即处理 在进行数据迁移,常用到exp/imp工具,该工具可以跨平台.版本.下面介绍下在使用不同版本的exp/imp时候的注意事项 官网说明如下 使用不同版本的exp/imp 无论在 ...

  5. oracle字段重复新增错误,oracle在已有重复数据的列上创建唯一约束

    在有重复数据的列上添加unique constraints,大家正常的解决办法就修改重复数据,但也可以 保留重复数据,使约束对以后的数据有限制,不过我们还可以用以下的方法来添加唯一约束. SQL cr ...

  6. oracle表中怎么去重复,oracle去掉表重复数据

    今天在做项目过程中,碰到数据库表存在重复记录,显示的时候需要去掉重复的数据.想了老半天,最终用rank() over (partition by 分组字段 order by 排序字段 顺序) 解决了此 ...

  7. oracle 查询重复数据并且删除, 只保留一条数据

    数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据 一:重复数据根据单个字段进行判断 1.首先,查询表中多余的数据,由关键字段(name)来查询. sele ...

  8. SQL删除重复数据方法

    原文:SQL删除重复数据方法 例如: id           name         value 1               a                 pp 2            ...

  9. 解析postgresql 删除重复数据案例

    这篇文章主要介绍了postgresql 删除重复数据案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下 1.建表 /*Navicat Premium ...

最新文章

  1. Servlet 工作原理解析--转载
  2. 密码学基础知识(三)古典密码
  3. 「 每日一练,快乐水题 」258. 各位相加
  4. c语言二叉树学生成绩,二叉树C语言
  5. 2021-07-27 详解TCP连接建立和释放的过程(三报文握手和四次挥手)
  6. ElasticSearch快速入门二(Restful介绍)
  7. (转)MyBatis框架的学习(一)——MyBatis介绍
  8. python列表购物
  9. iOS 分组索引和索引分区
  10. python获取文件修改时间_Python-获取文件最后修改时间 | 学步园
  11. CANape XCP on CAN工程创建
  12. Jupyter 查看中间变量值的方法
  13. IDEA插件系列(81):Shifter插件——字符串操作
  14. VS2019 添加一组控件到工具箱
  15. 手把手教你如何制作iPhone卡贴(多图)
  16. windows时间同步脚本
  17. 台式机Ubuntu系统安装Tesla系列显卡+深度学习环境搭建
  18. 【毕业N年系列】 毕业第二年
  19. ios的wkwebview手势前进和后退,Zipym - 解压缩神器油猴脚本大师m3u8合并专家
  20. c语言嵌套结构体数组,第22节 C语言结构体之结构体嵌套、结构体指针与结构体数组的代码实现...

热门文章

  1. 进入真空:真空有多重?哪里有什么?
  2. 山东教师教育网研修平台-确认信息
  3. c语言,递归法求阶乘
  4. 递归法进行二叉树同构判定
  5. 第二个MapReduce
  6. 初创企业-如何分配股权
  7. 几个朋友合伙创业,如何分配股权?
  8. 2023北京印刷学院计算机考研信息汇总
  9. Baklib知识库管理平台,协助组织提升知识管理水平
  10. 8、btrfs文件系统、压缩工具