Oracle数据泵原理及应用

Oracle数据库的备份历史

在信息系统中,数据库的备份是必不可少的一个步骤。

在Oracle数据中,数据的备份和还原在10g版本之前,一直使用的是IMPORT/EXPORT
的导入导出方式。最大的缺点就是速度慢、效率低。当这种方式用于企业级的项目中的时候,缺点就暴露出来了。

对于大数据的企业项目,数据的备份和还原因为采用IMPORT/EXPORT的方式而降低效率。

数据泵导入导出与传统导入导出的区别

在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:

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

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

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

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

数据泵的原理及好处:

随着Oracle10g版本的更新,引入了一个新的机制:Data Pump,数据泵。是IMPDP/EXPDP的简称。

单从名称上看这种技术可描述为IMP/DMP的扩展,泵是将全部用户表占用数据库数据文件空间按照从大到小的排序展示出来,方便用户筛选出不需要进行备份的表。

在数据过G以及数据量较大的表有很好的作用,基于以上两点,数据泵工具势在必行,下面我们来看一组数据备份对比列表:

数据泵的使用意义重大,下面我们来看一组数据备份对比列表


使用方式


文件大小


导出时间


EXPORT


639MB


2分56秒


EXPDP


639MB


2分11秒


使用方式


文件大小


导出时间


EXPORT


12.6g


1小时9分


EXPDP


12.6g


2分56秒

相比较而言EXPDP方式在性能上有所提升,但是幅度没有那么大,毕竟数据备份文件只有639MB,数据量达到一定的规模之后,EXPDP在效率上的表现较EXP才会更有优势。下面使用一个企业级别的数据库作为一个参考。文件在数量级上面有所提升。

下面我们来看一下数据泵方式导入的速率如何


使用方式


文件大小


导入时间


IMPORT


639M


26分17秒


IMPDP


639M


6分29秒

相比较而言EXPORT方式在性能上有所提升,再来看一下数据量相对大一些的数据库导入的对比。


使用方式


文件大小


导入时间


IMPORT


12.6g


2小时04分


IMPDP


12.6g


18分35秒

从以上的对比中,明显看出,数据泵导入导出方式在效率上明显高出传统的数据导入导出方式。

导库(数据库还原)步骤说明:

1、创建表空间

Create tablespace 表空间名

Datafile 'D:\dump\XXX.dbf' 

size 1000M

Autoextend on next 100M

(Maxsize 5000M)

2、创建工作目录

Create directory 库名 as 'D:\dump';

3、创建用户角色并赋权限

Create 用户名 identified by '密码';

Grant read,write on directory Test_dir to 用户名

4、导库

Impdp 用户名/密码@库名 directory=XXX.dmp logfile=XXX.log

数据泵的局限性:

上述介绍了数据泵的工作原理及针对动车系统备份的性能对比,但数据泵的使用不如既有备份灵活,主要受限于以下几个因素:

1、ORACLE版本限制:数据泵是在10G版本中第一次推出的,故要使用数据泵方式备份,导入导出端的数据库版本需要都升级至10G.

2、备份兼容限制:EXPDP/IMPDP不能与既有的EXP/IMP备份文件互通,导入导出各成体系;

3、服务器端限制:数据泵使用ORACLE DIRECTORY路径,它会将导出的文件放在本地服务器上,如不指定目录,则默认存放在$Oracle_home/db_name/dpdump路径下面。

时间: 2024-08-09 22:01:44

Oracle数据泵原理及应用的相关文章

Oracle数据泵expdp/impdp

Oracle11g以后的新特性使得默认条件下在分配表空间时忽略空表,以减少表空间的资源占用,这样使得在使用Oracle的exp导出用户数据时就会忽略空表,这样就会造成数据的不完整,当然在使用exp导出数据时也不是没有办法,这个以前有提到过,在此就不做过多的赘述了http://jim123.blog.51cto.com/4763600/1934205.使用这种方法是可以解决在使用exp导出用户数据时不会忽略空表,但是还有更为高效的办法就是使用expdp/impdp --Oracle数据泵,来对Or

Oracle数据泵(Data Dump)错误汇集

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇. 错误案例1: ORA-39065: DISPATCH 中出现意外的主进程异常错误:ORA-44002: 对象名无效 Windows 平台错误提示: Linux平台错误提示 解决方法: [[email protected] admin]$

oracle 数据泵

Oracle数据泵导入导出案例 Oracle数据库导入导出工具,可以使用exp/imp,但这是比较早期的工具.本文主要介绍数据泵expdp/impdp工具的使用. 建立数据泵目录 使用数据泵需要先建directory create directory dump_scott as'/home/oracle/dump/scott' 查看建立的目录 Select * from dba_directories 赋权 Grant read,write on directory dump_scott tos

Oracle 数据泵导入导出总结

Oracle 数据泵(IMPDP/EXPDP)导入导出总结 Oracle数据泵导入导出是日常工作中常用的基本技术之一,它相对传统的逻辑导入导出要高效,这种特性更适合数据库对象数量巨大的情形,因为我日常运维的数据库对象少则几千,多则几万甚至几十万,所以传统exp/imp就会非常耗时,而数据泵方式就因此脱引而出,下面就详细总结一下数据泵的使用方法,希望能给初学者带来帮助. 一.新建逻辑目录 最好以system等管理员创建逻辑目录,Oracle不会自动创建实际的物理目录“D:\oracleData”(

oracle表分区、表分析及oracle数据泵文件导入导出开心版

1.先说oracle表分区是什么吧,这样吧我们来举个桃子,栗子太小,我们就不举了,我们来举个桃子. 你有500万份文件,你要把他存在磁盘上,好嘛,我们就一个文件夹,500万分文件在那儿杵着,我们想找到要的那个打开,嘿嘿,我们得找到什么时候. 这时候,有个人告诉你,你把文件按照特定的规律存在不同的文件夹中,这样的话你就会好找很多. 哇,突然你开窍了,你说,对啊,你好牛逼啊,我怎么没想到呢?分开之后我在找的话就会快很多啊,所以你很高兴,也很服他.于是你就开始做了. --这个不同的文件夹就是不同的分区

oracle 数据泵导出表

oracle 数据泵导出演示步骤 1.使用 oracle 用户创建目录 mkdir software_bak [[email protected] ~]$ cd software_bak/ [[email protected] software_bak]$ pwd /home/oracle/software_bak 2.建立目录并授权 SQL> show user; USER is "SYSTEM" SQL> create directory software_bak as

03.01 Oracle数据泵导出导出(expdp/impdp)命令举例(上)

Oracle数据泵导出导出(expdp/impdp)命令举例(上) ##实验目的: 使用数据泵迁移数据 ##实验环境: Oracle 11.2.0.4,利用数据库自带的scott示例用户进行试验测试 实验步骤概述: 1.首先需要创建Directory 2.使用expdp导出用户数据 2.1 只导出scott用户的元数据,且不包含统计信息: 2.2 只导出scott用户的数据: 2.3 只导出scott用户下的emp,dept表及数据: 2.4 只导出scott用户下的emp,dept表结构: 2

Oracle数据泵的使用

几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle  database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据. 以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性.例如,你可以中断导出/导入作业,然后恢复它们:可以重新启动已失败的

Oracle 数据泵详解

一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2)在数据库用户之间移动对象. 3)在数据库之间移动对象 4)实现表空间搬移. 二.数据泵导出导入与传统导出导入的区别 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IM