前面我已经整理过EXP 和 IMP备份和还原Oracle数据库的方法

今天我们只讲使用数据泵 expdp 和impdp的方法,有的同学会问他们有什么差别呢?

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

对于10g版本以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

一 备份:

1)通过WIN+R CMD登录sqlplus,输入数据库用户名和密码进入sql

2)创建逻辑目录(最重要的一步,不然会出现找不到目录)

创建备份逻辑目录,此目录不是真实的目录(单引号里面的内容是备份的目录,可以先查看一下所有的目录:select * from dba_directories;)

下面我们创建新的逻辑目录

SQL>create or replace directory backup as 'E:\oraclebf\PDMIS';
注意:'E:\oraclebf\PDMIS'; 引号里的目录,一定要手动创建好。用来存放oracle数据库备份文件。

目录创建成功,记得quit切回CMD目录下,否则不能成功进行EXP或者expdp的备份。

3)导出数据库

退出数据库,进入DOS命令行界面,执行下列命令导出数据库

expdp pdmis/pdmis@pdmis_test directory=backup schemas=pdmis dumpfile=pdmis_20190228.dmp logfile=pdmis_20190228.log

directory=backup 和步骤二建立的逻辑目录进行关联(逻辑目录名=backup)

schemas=pdmis  导出当前用户的数据(用户名=pdmis)

dumpfile=pdmis_20190228.dmp

logfile=pdmis_20190228.log    以上备份文件和日志文件都会存储在逻辑目录backup关联的真实路径下 E:\oraclebf\PDMIS

4)查看导出文件

查看文件存储的目录。

二 备份还原前的准备

注:在本地或者另外一台电脑都可以进行还原

1)删除表空间和用户

用超级管理员身份登录 sys as sysdba

2)创建表空间和用户,并给创建的用户授权

三 备份还原

1)通过WIN+R CMD登录sqlplus,输入数据库用户名和密码进入sql

2)创建逻辑目录(最重要的一步,不然会出现找不到目录)(为什么需要创建两次逻辑目录,因为我是在另一台电脑进行的数据还原)

创建备份逻辑目录,此目录不是真实的目录(单引号里面的内容是备份的目录,可以先查看一下所有的目录:select * from dba_directories;)

下面我们创建新的逻辑目录

SQL>create or replace directory backup as 'D:\oraclebf\PDMIS';
注意:'D:\oraclebf\PDMIS'; 引号里的目录,一定要手动创建好。用来存放oracle数据库备份文件。

3)检查创建的真实目录

将备份文件存放在逻辑目录连接的真实目录下

4)导入备份文件

DOS命令下执行下面的命令

impdp pdmis/pdmis@orcl directory=backup dumpfile=pdmis_20190228.dmp logfile=20190228.log

导入成功,有8个错误先忽略掉

四:知识拓展

用expdp导出数据

1)导出用户
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir;

2)导出表
expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;

3)按查询条件导
expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20';

4)按表空间导
expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmptablespaces=temp,example;

5)导整个数据库
expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

用impdp导入数据

1)导入用户(从用户scott导入到用户scott)
impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott;

2)导入表(从scott用户中把表dept和emp导入到system用户中)
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmptables=scott.dept,scott.emp remap_schema=scott:system;

3)导入表空间
impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;

4)导入数据库
impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;

5)追加数据
impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action

使用数据泵expdp、impdp备份和还原oracle数据库的更多相关文章

  1. ORACLE 数据泵 expdp/impdp

    ORACLE 数据泵 expdp/impdp 一.概念 Oracle Database 10g 引入了最新的数据泵(Data Dump)技术,数据泵导出导入 (EXPDP 和 IMPDP)的作用: 1 ...

  2. 数据泵expdp,impdp使用结

    EXPDP,IMPDP远程导出,导入数据库到本地 1.本地建立导出用户hr_exp并全然删除机hr的用户 C:\Users\Administrator>sqlplus / as sysdba S ...

  3. Oracle使用数据泵 (expdp/impdp)实施迁移

    实验环境: 1.导出环境:RedHat6.4+Oracle 11.2.0.4.0,利用数据库自带的scott示例用户进行试验测试. Directory:wjq à /tmp/seiang_wjq 2. ...

  4. 备份与还原ORACLE数据库(通过CMD命令执行)

    31.1:(若用程序调用cmd,则在备份和还原 末尾语句加上 2>&1 ,直接运行则不需要加) --备份:     1) exp SA/"""abc@123 ...

  5. Oracle10g数据泵EXPDP和IMPDP备份与恢复数据

    Oracle10g数据泵EXPDP和IMPDP备份与恢复数据 一.数据库备份前准备工作 新建备份DIRECTORY目录,并授权给用户 步骤: 1.登录sqlplus 账户名:ptemp 密码:0000 ...

  6. Oracle使用数据泵导入/导出数据(expdp/impdp)

    Oracle使用数据泵导入/导出数据(expdp/impdp) A电脑上的操作(expdp数据导出) 运行cmd: 登录数据库,输入命令:sqlplus 使用管理员角色登录需要在用户名后加" ...

  7. Oracle数据迁移expdp/impdp

    Oracle数据迁移expdp/impdp目的:指导项目侧自行进行简单的数据泵迁移工作. 本文实验环境:Oracle 11.2.0.4,利用数据库自带的scott示例用户进行试验测试. 1.首先需要创 ...

  8. Java在线备份和还原MySQL数据库。

    2018年6月29日14:00:48 阅读数:1534 今天整了整整一整天,终于使用Java在线备份和还原MySQL数据库了,哎,备份倒是很快,就是在还原的时候遇到了一个问题,也不报错,结果将sql语 ...

  9. 使用数据泵导入(impdp)和导出(expdp)

    数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍.速度的提高源于使用了并行技术来读写导出转储文件. expdp使用 使用EXPDP ...

随机推荐

  1. windows+nginx负载测试

    系统:windows2003nginx版本:1.7.3(官方推荐版本 #父节点 http upstream cluster_1{ ip_hash;#能较好地把同一个客户端的多次请求分配到同一台服务器处 ...

  2. Map集合练习题

    (Map)已知某学校的教学课程内容安排如下: 完成下列要求:1) 使用一个Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排.2) 增加了一位新老师Allen 教JDBC3) Lu ...

  3. .NET--------未能加载文件或程序集“System.Net.Http.Formatting”或它的某一个依赖项。

    未能加载文件或程序集“System.Net.Http.Formatting”或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 HRESULT:0x80131040)   解决方 ...

  4. JSON与JS对象的区别

    <script> var obj2={};//这只是JS对象 var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */ var ...

  5. 最近学习了Sqlite3数据库,写一下操作应用以及命令

    首先使用Flask-SQLAlchemy管理数据库 使用pip安装:pip install flask-sqlalchemy 接着要配置数据库,定义模型 关于数据库的操作就不再写了.... 使用Fla ...

  6. 判断一个js对象是否是Array

    今天在做题时遇到这个问题,找答案的时候,发现评论里大神好多 . 在开发中,我们经常需要判断某个对象是否为数组类型,总结判断某个对象是否是数组的方法. 1.typeof 操作符 对于Function, ...

  7. JavaScript 之默认行为 DOM2级,事件委托机制

    1. 事件默认行为及阻止方式    1.1 浏览器的默认行为       JavaScript事件本身所具有的属性,例如a标签的跳转,Submit按钮的提交,右键菜单,文本框的输入等.    1.2 ...

  8. Traceur

    直接插入网页 <!-- 加载Traceur编译器 --> <script src="http://google.github.io/traceur-compiler/bin ...

  9. 从n个数中随机选出k个数,并判断和是不是素数

    洛谷p1036 #include<iostream> #include<math.h> using namespace std; ],n,k;//依照题目所设 bool isp ...

  10. sql嵌套查询

    嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询.其中外层查询也称为父查询,主查询.内层查询也称子查询,从查询. ...