Oracle10g数据泵EXPDP和IMPDP备份与恢复数据
Oracle10g数据泵EXPDP和IMPDP备份与恢复数据
一、数据库备份前准备工作
新建备份DIRECTORY目录,并授权给用户
步骤:
1.登录sqlplus
账户名:ptemp 密码:000000 主机字符串:EMPDB
SqlPlus执行语句:conn ptemp/000000@EMPDB as sysdba
提示信息: 登录成功
2.创建DIRECTORY备份目录
SqlPlus执行语句:create DIRECTORY bakupKF_dir as ‘D:\bakupKF’
提示信息: 创建目录成功
3.把DIRECTORY目录授权给用户
SqlPlus执行语句:GRANT READ, WRITE ON DIRECTORY bakupKF_dir TO ptemp;
提示信息: 授权成功
二、EXPDP备份数据(含表结构)
点击:菜单-运行-cmd
执行以下语句:
1.备份整个数据库的表及表定义
Expdp ptemp/powersmart@EMPDBTEST DIRECTORY=bakupCS_dir DUMPFILE=ptemp830.dmp
注:则备份整个数据库的表定义及表数据,默认CONTENT=ALL,所以导出的是整个数据库表定义及表数据
2.备份整个数据库表的数据(无表结构定义)
Expdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp813data.dmp CONTENT=DATA_ONLY
注意:当设置CONTENT为ALL (默认值)时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义
3.备份指定表的数据及表定义(可多选多个表)
Expdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp813tab.dmp TABLES=TEST_LR,TEST_LR2,TEST_LR3……
注意:TABLES=TEST_LR,TEST_LR2,TEST_LR3 多个表之间用“,”连接即可
三、IMPDP还原数据
1.还原整个数据库的表及表定义
impdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp813.dmp TABLE_EXISTS_ACTION=REPLACE
注:TABBLE_EXISTS_ACTION={SKIP (默认)| APPEND |TRUNCATE | REPLACE }
当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表并追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项
2.只还原数据(截断表还原方式)
Impdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp813data.dmp CONTENT=DATA_ONLY TABLE_EXISTS_ACTION=REPLACE
的方式,备份数据库表数据和表定义方式,对已存在的表进行重建!
3.截断表还原数据
Impdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp813data.dmp TABLE_EXISTS_ACTION=TRUNCATE
注:TABLE_EXISTS_ACTION=TRUNCATE还原的时候会把表定义与表数据分离开,即只还原数据,不还原表定义。但是,在主从表还原时,由于主键关系,主表的数据将恢复失败,但是从表的数据能成功。
解决全库数据还原的办法,可以采用本文“1.还原整个数据库的表及表定义”来解决。
4.还原指定表
impdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp813tab.dmp TABLES=TEST_LR,TEST_LR2,TEST_LR3 TABLE_EXISTS_ACTION=REPLACE
更多参考资料:http://blog.csdn.net/jojo52013145/article/details/7966047
四、数据库全库数据及表定义实践
1. 业务场景描述
某公司开发部现有两个oracle数据库,分别是开发库EMPDB、测试库EMPDBTEST,现在需要将测试库的数据同步到开发库上,需要适用oracle数据泵实现。
2. 数据库实例信息
2.1 EMPDB实例登录信息
2.2 EMPDBTEST实例登录信息
3. 实现步骤
3.1 创建备份目录
创建备份目录的目的是要告诉数据库实例,哪一个目录是实例专有的目录,并且需要将该目录读、写权限授权给数据库实例用户,在这里,创建目录的意思就等于把某个目录合法化,即起到登记注册的目的。所以,创建备份目录是至关重要的一步。
创建目录过程如下:
①为数据库实例EMPDBTEST创建目录,如下图所示:
执行语句如下(按顺序):
Ⅰ conn ptemp/powersmart@EMPDBTEST as sysdba (以管理员身份登录)
提示信息:已连接
Ⅱ create DIRECTORY bakupCS_dir as ‘d:\ptemp_bakup_CS’ (创建目录)
提示信息:目录创建成功
注意:此处D盘下必须要有d:\ptemp_bakup_CS该目录,如没有,创建即可
Ⅲ grant read,write on directory bakupCS_dir to ptemp
提示信息:授权成功
②为数据库实例EMPDBTEST创建目录,过程如上。
执行语句如下(按顺序):
Ⅰ conn ptemp/000000@EMPDB as sysdba
Ⅱ create DIRECTORY bakupKF_dir as ‘d:\ptemp_bakup_KF’
Ⅲ grant read,write on directory bakupKF_dir to ptemp
以上操作完成之后,D盘应该有如下两个文件夹:
3.2 备份测试库数据
将EMPDBTEST的全库数据及表定义 备份到D盘下ptemp_bakup_CS文件夹内,备份文件名:PTEMP830.DMP
操作过程:开始-运行-cmd
然后在cmd执行如下语句:
Expdp ptemp/powersmart@EMPDBTEST DIRECTORY =bakupCS_dir DUMPFILE=ptemp830.dmp
执行过程如图:
导出成功,ptemp_bakup_CS文件夹内将会生成PTEMP830.DMP文件
3.3 将数据同步到开发库
将ptemp_bakup_CS文件夹下的PTEMP830.DMP文件拷贝到ptemp_bakup_KF文件夹内同步数据。
执行语句如下:
Impdp ptemp/000000@EMPDB DIRECTORY=bakupKF_dir DUMPFILE=ptemp830.dmp TABLE_EXISTS_ACTION=REPLACE
执行过程如下:
导入的过程需要耗费大量时间,大概5-10分钟,如计算机屏幕出现静止不动,属正常,请耐心等待!
Oracle10g数据泵EXPDP和IMPDP备份与恢复数据的更多相关文章
- 使用数据泵expdp、impdp备份和还原oracle数据库
前面我已经整理过EXP 和 IMP备份和还原Oracle数据库的方法 今天我们只讲使用数据泵 expdp 和impdp的方法,有的同学会问他们有什么差别呢? EXP和IMP是客户端工具程序,它们既可以 ...
- oracle数据泵expdp和impdp使用
expdp和impdp优缺点 优点: expdp/impdp命令,我们也通常称之为“数据泵(DataPump)”,它具有以下优点: l 在性能上,具有并行处理能力,因此可以获得性能上的优势,加快导入导 ...
- 数据泵Expdp和Impdp
一.数据泵导入导出技术 1.结构 2.目录对象 二.EXPDP参数 1.attach 2.content 3.directory 4.dumpfile 5.estimate 6.estimate_on ...
- 【oracle】数据泵expdp与impdp
1.创建directory create directory dump_dir as 'D:\dump_dir' 2.expdp备份schema expdp system/1qaz2wsx@ETCNC ...
- ORACLE 数据泵 expdp/impdp
ORACLE 数据泵 expdp/impdp 一.概念 Oracle Database 10g 引入了最新的数据泵(Data Dump)技术,数据泵导出导入 (EXPDP 和 IMPDP)的作用: 1 ...
- 数据泵expdp,impdp使用结
EXPDP,IMPDP远程导出,导入数据库到本地 1.本地建立导出用户hr_exp并全然删除机hr的用户 C:\Users\Administrator>sqlplus / as sysdba S ...
- Oracle使用数据泵 (expdp/impdp)实施迁移
实验环境: 1.导出环境:RedHat6.4+Oracle 11.2.0.4.0,利用数据库自带的scott示例用户进行试验测试. Directory:wjq à /tmp/seiang_wjq 2. ...
- 数据泵expdp 在rac环境下 paralle 的处理方法
其实这个是个很常见的问题,写下来做纪念吧.说明:而在11GR2后EXPDP 和 IMDP的WORKER进程在设置parallel参数时会在多个INSTANCE启动,所以DIRECTORY必须在共享磁盘 ...
- 40. 数据泵导入导出impdp、expdp
一.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories; 二.创建逻辑目录,该命令不会在 ...
随机推荐
- Mini-project # 1 - Rock-paper-scissors-___An Introduction to Interactive Programming in Python"RICE"
Mini-project description - Rock-paper-scissors-lizard-Spock Rock-paper-scissors is a hand game that ...
- HTML5 总结-表单-表单元素
HTML5 表单元素 HTML5 的新的表单元素: HTML5 拥有若干涉及表单的元素和属性. 本章介绍以下新的表单元素: datalist keygen output 浏览器支持 Input typ ...
- Qt mac QMYSQL(动态加载插件QPluginLoader的用法)
用此段代码查出问题所在 QPluginLoader loader; loader.setFileName("/Users/danny/Qt5.3.2/5.3/clang_64/plugins ...
- KMP算法与一个经典概率问题
考虑一个事件,它有两种概率均等的结果.比如掷硬币,出现正面和反面的机会是相等的.现在我们希望知道,如果我不断抛掷硬币,需要多长时间才能得到一个特定的序列. 序列一:反面.正面.反面序列二:反面.正面. ...
- (step8.2.4)hdu 1846(Brave Game——巴什博奕)
题目大意:输入一个整数t,表示测试用例是.接着输入2个整数n,m.分别表示这堆石头中石头的个数,和每次所能取得最大的石头数.判断那一方为赢家 解题思路: 1)这是一道简单的巴什博弈: 所谓巴什博弈,是 ...
- 基于visual Studio2013解决C语言竞赛题之0201温度转换
题目 解决代码及点评 #include <stdio.h> #include <stdlib.h> void main() { float f; float c; float ...
- jbpm系列之五--使用decision节点判断分支情况
我们在用JBPM做流程的时候,很多时候会遇到需要判断的节点.类似java中的switch,根据不同的状态,跳转到不同的节点. 首先我们定义一个流程信息,jpdl流程图如下 明显的可以看到,在此种情况下 ...
- Android显示GIF动画完整示例(一)
MainActivity如下: package cc.testgif; import com.ant.liao.GifView; import com.ant.liao.GifView.GifImag ...
- c++中的对象引用(object reference)与对象指针的区别
★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使用时无需解引用(*),指针需 ...
- 异常语句:try(尝试)-catch(抓取)-finally 跳转语句:break
跳转语句: 1.break:跳出的意思,如果在循环语句中使用则是跳出循环2.default,--默认语句通常与 switch case 配合使用3.continue--跳过一个,继续下一个继续retu ...