ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(2)

简单的备份和恢复-导出和导入(2)

1. 用户导入导出文件中的一张表(emp)返回顶部
0.1,
我们在sql plus中删除掉一张表emp,把dept表的记录删空。
drop table emp;
delete from dept;
之后我们先利用刚才导出的mytable.dmp导入emp表。具体导入步骤如下:
1.在命令行下输入imp命令。
2.系统首先提示我们输入用户名和密码,在这里我们可以用scott/tiger的形式同时输入用户名和密码。
3.系统提示我们从哪个文件导入数据,默认导入文件为EXPDATE.DMP,在这里我们输入c:\mytable.dmp。
4.系统提示我们输入插入缓冲区大小(最小为8192),默认值为30720,我们按回车接受默认值。
5.系统提示是否只列出导入文件的内容(yes/no):默认值是no,在这里我们一定要选择no,否则数据不会被顺利导入的。
6.系统提示我们由于对象已存在,忽略创建错误(yes/no):默认值是no,这里的具体含义是如果导入的对象在数据库中已经存在,如果重复创建就会出现一个错误,而我们这里应该忽略这个错误,这样导入操作才会继续进行,所以这里一定要选择yes。
7.接下来系统会提示是否导入权限(yes/no):默认值yes,是否导入数据(yes/no)默认值yes,我们接受这两个默认值,按两次回车继续。
8.系统询问是否导入整个导入文件(yes/no),默认值为no,也就是在导出文件中选择一部分数据导入,如果选择yes则会把所有导出文件中的内容都导入数据库中。
9.接下来系统提示我们输入用户名:原因是一个导出文件中可能有很多个用户的数据,我们要在此确定到底导出那个用户对象,我们输入scott,表示导出属于scott的数据。
10.之后系统提示我们输入,输出表(T)或分区(T:P)名称。空列表表示用户的所有表。我们输入emp表示导入导出文件中scott用户的emp表,如果直接按回车就表示导入scott的所有文件中的对象。
输入表(T)或分区(T:P)的名称或。如果完成:emp
11.接下来按回车表示只导入emp表,出现如下结果:
输入表 (T) 或分区 (T: P) 的名称或 。如果完成:

. 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "EMP"导入了 行
即将启用约束条件...
IMP-: 由于 ORACLE 错误 , 以下语句失败:
"ALTER TABLE "EMP" ENABLE CONSTRAINT "FK_DEPTNO""
IMP-: 遇到 ORACLE 错误
ORA-: 无法验证 (SCOTT.FK_DEPTNO) - 未找到父项关键字
成功终止导入, 但出现警告。
可以看到emp表被成功建立,并放入了数据,但是在启用约束的时候出现了错误,原因是现在dept表为空,而emp表和dept表之间又有主外键关系这样emp表的deptno列的数据都是违背外键约束的,这样添加外间的操作自然会失败。
但从这个例子我们可以看到,导入一张表的顺序是:
建立表--> 插入记录--> 添加约束
我们忽略了创建错误。
1.1,  之代码
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>imp Import: Release 10.2.0.3. - Production on 星期六 1月 :: Copyright (c) , , Oracle. All rights reserved. 用户名: scott/tiger@orcl 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options 导入文件: EXPDAT.DMP> c:\mytable.dmp 输入插入缓冲区大小 (最小为 ) > 经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
只列出导入文件的内容 (yes/no): no > 由于对象已存在, 忽略创建错误 (yes/no): no > yes 导入权限 (yes/no): yes > 导入表数据 (yes/no): yes > 导入整个导出文件 (yes/no): no >
用户名: scott 输入表 (T) 或分区 (T: P) 名称。空列表表示用户的所有表
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: emp 输入表 (T) 或分区 (T: P) 的名称或 。如果完成: . 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "EMP"导入了 行
即将启用约束条件...
IMP-: 由于 ORACLE 错误 , 以下语句失败:
"ALTER TABLE "EMP" ENABLE CONSTRAINT "FK_DEPTNO""
IMP-: 遇到 ORACLE 错误
ORA-: 无法验证 (SCOTT.FK_DEPTNO) - 未找到父项关键字
成功终止导入, 但出现警告。 C:\Users\Administrator>
1.2,
2. 导入整个导出文件返回顶部
2.1,
我们利用刚才装有scott所有数据库对象的scott.dmp文件进行导入,在是否导入整个导出文件(yes/no):的位置我们选择输入yes,系统开始导入。
导入过程中会看到如下画面:
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "BONUS"导入了 行
. . 正在导入表 "DEPT"导入了 行
. . 正在导入表 "EMP"
IMP-: 由于 ORACLE 错误 而拒绝行
该画面告诉我们,dept的4行数据被导入,而emp进行导入的时候会出现错误,原因是表已经建立,数据也已经存在,而且该表又主键约束,会阻止重复记录的插入,但是对于没有主键和唯一约束的表,记录则会被重复插入两次,比如salgrade表就会被重新插入5行记录,虽然给建立emp表和给emp表的操作都因为emp表和其中的数据已经存在而失败,但是给emp表添加外键约束的操作却会成功,原因是dept表中已经存在了记录。
2.2, 之代码
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>imp Import: Release 10.2.0.3. - Production on 星期六 1月 :: Copyright (c) , , Oracle. All rights reserved. 用户名: scott/tiger@orcl 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options 导入文件: EXPDAT.DMP> c:\scott.dmp 输入插入缓冲区大小 (最小为 ) > 经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
只列出导入文件的内容 (yes/no): no > 由于对象已存在, 忽略创建错误 (yes/no): no > yes 导入权限 (yes/no): yes > 导入表数据 (yes/no): yes > 导入整个导出文件 (yes/no): no > yes . 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "BONUS"导入了 行
. . 正在导入表 "DEPT"导入了 行
. . 正在导入表 "EMP"
IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 SMITH
列 CLERK

列 -12月-:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 ALLEN
列 SALESMAN

列 -2月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 WARD
列 SALESMAN

列 -2月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 JONES
列 MANAGER

列 -4月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 MARTIN
列 SALESMAN

列 -9月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 BLAKE
列 MANAGER

列 -5月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 CLARK
列 MANAGER

列 -6月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 SCOTT
列 ANALYST

列 -4月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 KING
列 PRESIDENT

列 -11月-:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 TURNER
列 SALESMAN

列 -9月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 ADAMS
列 CLERK

列 -5月 -:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 JAMES
列 CLERK

列 -12月-:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 FORD
列 ANALYST

列 -12月-:::



IMP-: 由于 ORACLE 错误 而拒绝行
IMP-: 遇到 ORACLE 错误
ORA-: 违反唯一约束条件 (SCOTT.PK_EMP)

列 MILLER
列 CLERK

列 -1月 -:::


列 10导入了 行
. . 正在导入表 "SALGRADE"导入了 行
即将启用约束条件...
成功终止导入, 但出现警告。 C:\Users\Administrator>
2.3,
3. 用一个用户导出其他用户的表返回顶部
3.1,
使用system导出scott的emp和dept表
我们在命令行下键入exp命令,使用system登录,在选择导出类型的时候我们选择导出表选择T或者3,在提示输入表名的时候我们输入c:\scott.emp后回车,再次输入scott.dept后再次回车退出导出,保存为scotable.dmp。
3.2, 之代码
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>exp Export: Release 10.2.0.3. - Production on 星期六 1月 :: Copyright (c) , , Oracle. All rights reserved. 用户名: system/Yb123456@orcl 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options
输入数组提取缓冲区大小: > 导出文件: EXPDAT.DMP > c:\scotable.dmp ()E(完整的数据库), ()U(用户) 或 ()T(表): ()U > T 导出表数据 (yes/no): yes > 压缩区 (yes/no): yes > 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出指定的表通过常规路径...
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > scott.emp 当前的用户已更改为 SCOTT
. . 正在导出表 EMP导出了 行
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > scott.dept . . 正在导出表 DEPT导出了 行
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > 成功终止导出, 没有出现警告。 C:\Users\Administrator>
3.3,
4. 用一个用户导出其他用户的所有数据库对象返回顶部
4.1,
使用system导出scott所有的数据库对象,保存为scoobject.dmp
当我们是使用system用户选择导出用户选项时,我们不光可以导出system自己的数据库对象,我们还可以选择导出其他的数据库对象,具体过程如下:
4.2, 之代码
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>exp Export: Release 10.2.0.3. - Production on 星期六 1月 :: Copyright (c) , , Oracle. All rights reserved. 用户名: system/Yb123456@orcl 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options
输入数组提取缓冲区大小: > 导出文件: EXPDAT.DMP > c:\scoobject.dmp ()E(完整的数据库), ()U(用户) 或 ()T(表): ()U > u 导出权限 (yes/no): yes > 导出表数据 (yes/no): yes > 压缩区 (yes/no): yes > 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出指定的用户...
要导出的用户: (按 RETURN 退出) > scott 要导出的用户: (按 RETURN 退出) > . 正在导出 pre-schema 过程对象和操作
. 正在导出用户 SCOTT 的外部函数库名
. 导出 PUBLIC 类型同义词
. 正在导出专用类型同义词
. 正在导出用户 SCOTT 的对象类型定义
即将导出 SCOTT 的对象...
. 正在导出数据库链接
. 正在导出序号
. 正在导出簇定义
. 即将导出 SCOTT 的表通过常规路径...
. . 正在导出表 BONUS导出了 行
. . 正在导出表 DEPT导出了 行
. . 正在导出表 EMP导出了 行
. . 正在导出表 SALGRADE导出了 行
. 正在导出同义词
. 正在导出视图
. 正在导出存储过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计信息
成功终止导出, 没有出现警告。 C:\Users\Administrator>
4.3,
5. 用一个用户恢复其他用户的表返回顶部
5.1,
我们可以删除emp表
drop table emp;
在用system把它重新恢复。
我们在系统提示是否导入整个导出文件(yes/no):的时候选择no,之后系统提示输入用户名,我们输入scott,系统再次提示我们输入要导入的表的名字,我们输入emp,之后完成了导入。
5.2, 之代码
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>imp Import: Release 10.2.0.3. - Production on 星期六 1月 :: Copyright (c) , , Oracle. All rights reserved. 用户名: system/Yb123456@orcl 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options 导入文件: EXPDAT.DMP> c:\scoobject.dmp 输入插入缓冲区大小 (最小为 ) > 经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
只列出导入文件的内容 (yes/no): no > 由于对象已存在, 忽略创建错误 (yes/no): no > yes 导入权限 (yes/no): yes > 导入表数据 (yes/no): yes > 导入整个导出文件 (yes/no): no >
用户名: scott 输入表 (T) 或分区 (T: P) 名称。空列表表示用户的所有表
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: emp 输入表 (T) 或分区 (T: P) 的名称或 。如果完成: . 正在将 SYSTEM 的对象导入到 SYSTEM
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "EMP"导入了 行
即将启用约束条件...
成功终止导入, 没有出现警告。 C:\Users\Administrator>
5.3,
 
6. 用一个用户恢复其他用户的所有返回顶部
6.1,
使用system登录sqlplus后删除scott用户及其所有数据库对象。
SQL> drop user scott cascade;
注意:必须使用cascade选择。
之后我们重新建立scott用户,并授予connect和resource角色。
SQL>create user scott identified by "tiger";
用户被创建
SQL>grant connect to scott;
授权成功
SQL>grant resource to scott;
 现在的scott用户下没有任何数据库对象,我们使用刚才的scoobject.dmp文件来恢复scott用户的所有数据库对象。
6.2, 之具体步骤如下:
Microsoft Windows [版本 6.1.]
版权所有 (c) Microsoft Corporation。保留所有权利。 C:\Users\Administrator>imp Import: Release 10.2.0.3. - Production on 星期六 1月 :: Copyright (c) , , Oracle. All rights reserved. 用户名: system/Yb123456@orcl 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3. - Production
With the Partitioning, OLAP and Data Mining options 导入文件: EXPDAT.DMP> c:\scoobject.dmp 输入插入缓冲区大小 (最小为 ) > 经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
只列出导入文件的内容 (yes/no): no > 由于对象已存在, 忽略创建错误 (yes/no): no > yes 导入权限 (yes/no): yes > 导入表数据 (yes/no): yes > 导入整个导出文件 (yes/no): no > yes . 正在将 SYSTEM 的对象导入到 SYSTEM
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "BONUS"导入了 行
. . 正在导入表 "DEPT"导入了 行
. . 正在导入表 "EMP"导入了 行
. . 正在导入表 "SALGRADE"导入了 行
即将启用约束条件...
成功终止导入, 没有出现警告。 C:\Users\Administrator>
6.3,
7. 把一个用户的表导入另一个用户下返回顶部
7.1,
当我们使用scott导出scott的所有数据库对象或者表时,如果我们使用system来导入,该文件中的数据库对象将会被导入到system下,也就是借助与导入导入来实现数据库对象的用户间的转移。
7.2,
8. 如何导出全部的数据库返回顶部
8.1,
当一个用户具有exp_full_database角色时?在导出界面他会看到如下的导出选择:
(1)E(完整的数据),(2)U(用户)或这(3)T(表):(2)U>E
如果我们选择E或者1,则可以导出全部的数据库。
当一个用户拥有imp_full_database角色的时候,他就可以把我们导出的包含全部数据对象的导出文件导入。
8.2,
9.返回顶部
9.1,
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Oracle简单的备份和恢复-导出和导入(2)的更多相关文章

  1. Oracle简单的备份和恢复-导出和导入(1)

    ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(1) Oracle简单的备份和恢复-导出和导入 1. 用户导出自己的表(emp,dept)返回顶部 1.1, 我们启动Oracl ...

  2. Oracle简单的备份和恢复-导入和导出-目录

    ylbtech-Oracle:Oracle简单的备份和恢复-导入和导出-目录 Oracle安全运行离不开良好的备份和恢复机制,因为我们不是DBA.所以我们也就不过多的讲解DBA的备份和恢复.作为程序员 ...

  3. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  4. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  5. [原创]Oracle 12c的备份和恢复策略

    Oracle 12c的备份和恢复策略(RMAN备份[开启归档/控制文件/数据文件/归档日志]): 备份策略: * 每半年做一个数据库的全备份(包括所有的数据和只读表空间) * 每周做一次零级备份 * ...

  6. Oracle基础 数据库备份和恢复

    一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故 ...

  7. oracle使用rman备份集恢复方式创建ADG

    一.背景 系统: 主库:rhel 6.4 64bit 备库:rhel 6.4 64bit   内存:2G [oracle@dgdb1 ~]$ free -m total used free share ...

  8. oracle的dmp数据文件的导出和导入以及创建用户

    关于dmp文件我们用的还是比较多的,dmp文件它是作为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习. dmp文件导出 dmp文件导出用的比较多的一般是三种,他们分别是: ...

  9. oracle 数据库手动备份和恢复

    一.备份命令: 1.cmd  : exp 2.cmd  :用户名/密码@ip地址/数据库名  如:     yyj/yyj@172.12.5.5/orcl    要导出的数据库 3.回车:输入要输出的 ...

随机推荐

  1. Chart.js Y轴数据以百分比展示

    新手一枚,解决的问题喜欢记录,也许正好有人在网上迷茫的百度着.-0- 最近使用Chart.js做折线图的报表展示,直接显示整数啥的很好弄毕竟例子直接在哪里可以用,百分比就没办法了.百度慢慢汲取营养,虽 ...

  2. Android-认识Service

    Android-认识Service 学习自 郭霖的博客 https://developer.android.google.cn/reference/android/app/Service#WhatIs ...

  3. Android-通知栏上的RemoteView

    Android-通知栏上的RemoteView 学习自 <Android开发艺术探索> https://developer.android.google.cn/reference/andr ...

  4. 领英Linkedin信息搜集工具InSpy

    领英Linkedin信息搜集工具InSpy   领英Linkedin是一个知名职业社交媒体网站.通过该网站,渗透测试人员可以获取公司内部组成和员工信息.Kali Linux提供一款专用的信息收集工具I ...

  5. BZOJ2465: [中山市选2009]小球

    Description        给定n个不同颜色的球,每个球都有一个分数,同时有m个瓶子,每个瓶子都有固定的容量.现在,你必须把球放到瓶子里面.请编程计算最多能放多少个球到这些瓶子里. Inpu ...

  6. Gunicorn部署部分的翻译

    部署Gunicorn 文档建议Gunicorn最好是用在代理服务器后面.(等于前面最好加一个反向代理) Nginx Configuration 文档建议用Nginx,当然用其他也可以,但是要确保当你用 ...

  7. Emmet 语法介绍

    一.生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype.html.head.body 以及 meta 等内容.你只需要输入一个 “!” 就可以生成一个 HTML5 的标准 ...

  8. CentOS 7使用通过二进制包安装MySQL 5.7.18

    安装依赖 yum install -y libaio 下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux- ...

  9. LPCScrypt, DFUSec : USB FLASH download, programming, and security tool, LPC-Link 2 Configuration tool, Firmware Programming

    What does this tool do? The LPC18xx/43xx DFUSec utility is a Windows PC tool that provides support f ...

  10. maria-developers 开发者邮件

    https://lists.launchpad.net/maria-developers/