1. Oracle 数据泵介绍

Oracle数据泵是用来替换原始的export和import工具(exp,imp)

它从Oracle 10g开始提供

它可以快速和高效的将数据从一个数据库移动到另一个数据库

对于单线程数据泵导出性能比原始的快大约两倍,导入性能比原始的快15到40倍,配合并行度会得到更大幅度的提升

数据泵的信息记录在一张master table中,对于被用来处理大对象的工作,如果有大量小的对象则可能会变慢

可以使用compression参数压缩dump文件,但是需要高级压缩组件

2. 数据泵的新概念

数据泵相对于原始的exp/imp有2个新的概念

2.1 目录对象(Directory Objects)

不同于原始的exp/imp工具,数据泵在服务器端使用服务器进程的一个Job,服务器进程使用Directory Objects来定位文件位置

DBA可以对目录设定权限

2.2 交互式命令行模式(Interactive Command-Line Mode)

我们可以使用它来监控和控制数据泵的进程

这个下期介绍

3. 使用数据泵

3.1 创建目录

1. SQL> CREATE DIRECTORY dpump_dir1 AS ‘/usr/apps/datafiles’;

3.2 跟用户赋予目录权限

2. SQL> GRANT READ,WRITE ON DIRECTORY dpump_dir1 TO

scott;

注意这里只是数据库层面的赋予scoot用户dpump_dir1读写的权限

操作系统层面我们需要数据库软件用户对该目录有权限

3.3 导出数据库

在操作系统提示符下运行

3. >expdp username/password DIRECTORY=dpump_dir1

dumpfile=scott.dmp

4. 和exp/imp的一些对比

4.1 import不同用户

注意这里remap_schema代替了fromuser/touser

imp:

> imp username/password FILE=scott.dmp FROMUSER=scott TOUSER=jim TABLES=(*)

impdp:

> impdp username/password DIRECTORY=dpump_dir1 DUMPFILE=scott.dmp

TABLES=scott.emp REMAP_SCHEMA=scott:jim

4.2 INCLUDE和EXCLUDE

数据泵提供更加方便的过滤功能,我们可以使用include和exlude来控制导出的内容

注意inlcude和exclude不能同时使用

> exp username/password FULL=y FILE=dba.dmp GRANTS=y INDEXES=y ROWS=y

>

> expdp username/password FULL=y INCLUDE=GRANT INCLUDE= INDEX

DIRECTORY=dpump_dir1 DUMPFILE=dba.dmp CONTENT=ALL

5. 数据泵性能调优

不像原始的imp/exp工具有很多参数用来调优(BUFFER, COMMIT, COMPRESS,

CONSISTENT, DIRECT, 和RECORDLENGTH)

数据泵无需设置这些参数,它本身会找到最适合的方式来进行动作

注意数据泵只有Parallelism参数来提升性能

6. 不同版本间的数据移动

原始的imp/exp工具针对不同版本的数据库,

如需要从11g导出数据并导入到10g的数据库中,需要使用10g的exp工具导出数据

而数据泵则可以使用11g的exodp导出数据,只需要指定version参数

注意不可以指定10g以前的版本号因为那是并不存在数据泵

同时impdp无法读取exp出来的数据

> expdp username/password TABLES=hr.employees VERSION=10.1

DIRECTORY=dpump_dir1 DUMPFILE=emp.dmp

7.并行度数据泵

我们可以使用Parallelism参数来提高expdp和impdp的性能(仅支持企业版)

我们可以通过命令行工具更改并行度

为达到并行的最大性能,需要满足如下条件

保证操作系统资源足够(CPU,内存)

为每个并行度分配一个dump文件

为每个dump文件分配不同的磁盘用来提供IO性能

对于expdp来说可以使用%U变量来讲dump文件分割成多个文件

> expdp username/password DIRECTORY=dpump_dir1 JOB_NAME=hr

DUMPFILE=par_exp%u.dmp PARALLEL=4

> expdp hr full=y dumpfile=dpump_dir1:full1%u.dmp, dpump_dir2:full2%u.dmp

filesize=2g parallel=3 logfile=dpump_dir1:expfull.log job_name=expfull

8.REMAP参数

8.1 REMAP_TABLESPACE

该参数可以将表导入到不同的表空间中

> impdp username/password REMAP_TABLESPACE=tbs_1:tbs_6

DIRECTORY=dpumpdir1 DUMPFILE=employees.dmp

8.2 REMAP_DATAFILES

该参数可以在impdp中将数据文件映射为不同的数据文件

由于数据文件名称需要用引号,这里推荐使用参数文件

vim payroll.par

DIRECTORY=dpump_dir1

FULL=Y

DUMPFILE=db_full.dmp

REMAP_DATAFILE=”’C:\DB1\HRDATA\PAYROLL\tbs6.dbf’:’/db1/hrdata/payroll/tbs6.dbf

’”

> impdp username/password PARFILE=payroll.par

9.数据泵一些其他功能

9.1 交互式命令行工具

由于数据泵是服务端工具我们可以运行一个expdp或impdp Job,然后退出(detach)它,然后在需要时重新连接并监控它

查看Job的状态

当磁盘空间不足时增加新的dump文件

更改默认的dump文件大小

停止然后把重新启动它

重启它

增加和减少并行度

从远程数据连接它并监控状态

可以使用如下试图查看JOB情况

DBA_DATAPUMP_JOBS - all active Data Pump jobs and the state of each job

USER_DATAPUMP_JOBS – summary of the user’s active Data Pump jobs

DBA_DATAPUMP_SESSIONS – all active user sessions that are attached to a Data Pump

job

V$SESSION_LONGOPS – shows all progress on each active Data Pump job

9.2 Network Mode

我们可以使用Network Mode 来export 只读数据库,例如Standby database

使用network_link参数

具体可参考

https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9530201800346481934

9.3 生成SQLFILE

我们可以是expdp生成数据库对象的DDL语句

> impdp username/password DIRECTORY=dpumpdir1 DUMPFILE=expfull.dmp

SQLFILE=dpump_dir2:expfull.sql INCLUDE=TABLE,INDEX

oracle 查看数据泵,1.Oracle数据泵介绍相关推荐

  1. oracle 查看表空间总量,oracle 查看表空间以及剩余量

    --1.查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tabl ...

  2. oracle 查看内存参数配置,Oracle内存参数配置及版本问题

    Oracle的内存配置与Oracle性能息息相关.从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA).在 32 位操作系统下 的Oracle版本,不时有项目反馈关于内存 ...

  3. oracle查看数据库字符编码,oracle 查看、批改字符集编码

    当前位置:我的异常网» 数据库 » oracle 查看.批改字符集编码 oracle 查看.批改字符集编码 www.myexceptions.net  网友分享于:2013-07-19  浏览:3次 ...

  4. oracle查看所有用户6,oracle 查看 用户 用户权限 用户表空间 用户默认表空间

    Oracle查询用户表空间 ◆Oracle查询用户表空间:select * from user_all_tables ◆Oracle查询所有函数和储存过程:select * from user_sou ...

  5. oracle 查看过程的用户,Oracle 查看 用户拥有权限的过程

    Oracle 查看 用户拥有权限的过程 发布时间:2020-07-19 21:51:47 来源:51CTO 阅读:418 作者:ubuntuo create or replace procedure ...

  6. oracle查看表sql语句,oracle查看创造表的sql语句

    oracle查看创建表的sql语句 1,DESCRIBE 命令 使用方法如下: SQL> describe nchar_tst(nchar_tst为表名) 显示的结果如下: 名称         ...

  7. oracle查看字典结构体,Oracle数据字典的实操

    以下的文章主要是介绍Oracle sqlplus命令中用户有效地利用Oracle数据字典的方案,我们大家都知道Oracle数据字典作为数据库的重要的组成部分之一,是随着数据库的产生而产生, 随着数据库 ...

  8. oracle 查看动态性能视图,oracle常用动态性能视图

    今天通过视频学习,和网上搜索总结了一些oracle 常用的动态性能视图和大家分享 要查看oralce有哪些可用的动态性能视图可以看v$fixed_table 1.关于数据库/实例的动态性能视图 v$d ...

  9. oracle 查看 统计更新时间,oracle查看和更新统计表的信息

    在OEM中查看数据库的会话时,发现有一个会话的SQL要10多秒 在PL SQL中执行 SQL按F5查看这个SQL的计划,发现别的地方有 调用索引, oracle统计值查看 select * from ...

  10. oracle查看sga实际使用,oracle SGA区基础知识与查看命令

    Instance:数据库启动后在内存中的映像,以及管理该内存区的后台进程: 组成:(SGA+background process); 查看数据库的实例名: Sql >show parameter ...

最新文章

  1. ARM的位置无关程序设计在Bootloader中的应用
  2. 《机电传动控制》学习笔记10-1
  3. android 页面转换
  4. iPhone软件开发新突破,真正VoIP通话
  5. ZNYW.20180201_02_YunWeiJianXiu_ShouYe.svg
  6. Form Builder的三种查询方法构建
  7. linux 双网卡bond命令,Linux的双网卡绑定(即bond0)
  8. 灰度世界 matlab,灰度世界算法(Gray World Algorithm)和White Patch Retinex算法
  9. google浏览器截取长图
  10. 2017年笔记本计算机行业,2017笔记本电脑最新排行榜
  11. wpsppt放映时间_wps演示怎么调整放映速度?
  12. 电脑上怎么录制视频 电脑实用快捷键
  13. 文字生成图片的软件有哪些?这篇文章给你介绍三个
  14. 解决耳机插在主机上没有声音的问题
  15. VCS编译仿真警告Warning
  16. PMO到底是做什么的
  17. 线性代数(5)—— 向量组的秩和矩阵的秩
  18. 卿斯汉:未来是公有云的天下
  19. Consul:4:可视化UI界面
  20. CAD图纸能转成其他格式吗?免费在线CAD转PDF

热门文章

  1. 在VM VirtualBox的Ubuntu系统中使用github上传文件到仓库过程及遇到的问题
  2. private关键字:确保数据的安全(进行安全性把关)
  3. Ruby on Rails 之旅(六)——Ruby on Rails 简介 ( 少就是多)
  4. VSphere系列教程(一):ESXI 6.5 的安装和使用
  5. GitChat新作,如何较为优雅地实现新手引导功能!
  6. 华为手机怎么用计算机玩隐藏空间,华为手机怎么打开隐私空间
  7. 删除逻辑卷 卷组的步骤
  8. C#实现 -- 自动获取剪贴板的文字并且自动发送
  9. c标签List 判断空、获取长度、遍历map、格式化时间
  10. cisco ap 上线不成功