Data pump学习笔记

Data pump学习笔记[@more@]

Data pump学习笔记

综述

n 是一个基于服务器的工具,用于高速的数据地移动

n 底层结构是基于dbms_datapump

n 提供了新一代的导入和到处工具:expdpimpdp,基于网络的界面

n 是传统导入导出工具的超集

体系结构

n 直接路径APIDPAPI

n 外部表服务

n dbms_metadata

n dbms_datapump

n Expdpimpdp

Data dump的导入导出综述

数据泵的导入导出是Oracle10的一个新的工具,虽然和传统的导入导出命令相似,但是两个是独立的产品。

数据泵的导出是一个工具,是将数据导出到一个操作系统文件中,这个操作系统文件被成为导出文件集。导入则是相反的过程

这些工具能够被用于从远端数据库直接导出到一个导出文件集中,或者直接从一个源数据库导入到目标数据库,而不需要任何的其他文件的辅助。这就是所说的网络模式,这个模式在从一个只读源数据库中导出数据非常有用。

在每一个数据泵操作的核心是一个主表(MT),这个表示在用户允许数据泵job的时候在用户的模式下添加的,MT用来维护这个job的所有方面。这个MT在一个基于文件的导出job中被建立,被作为最后一步写入到导出文件集中。可逆而言,在基于文件的导入操作中的第一步就是导入这个MT到当前的用户模式中,然后用于导入时,添加所有对象的顺序。

当数据泵正常结束的时候,这个MT被删除。

数据泵导入导出的好处

数据访问模式

直接路径

外部表

Detachment from and reattachment to long-running jobs

数据泵job的重启

Fine-grained对象和数据的选择

外在数据库版本的规范

并行执行(只能用于企业版)

导出job空间消耗估计

分布式环境的网络模式

在导入时重新定位能力

数据举例和数据压缩

数据泵能够自动决定所使用的数据访问模式:直接路径或者外部表模式

数据泵能够detach或者reattach一个长时间运行的job,而不影响job自身,允许在运行的时候从不同的位置监视job。所有被停止的数据泵job能够不丢失数据的情况下重新启动,

参数exclude,include,connect是被用于精细对象或者数据的选择。

能够通过参数version为所移动的对象指定数据库版本。添加一个导出文件集,这个文件集支持数据泵的前一版本的oracle数据库。这个版本仅被未来的版本保留。

使用参数parallel指定在导出job上操作的活动的执行服务器上的最大线程数目

使用estimate_only参数指定估计导出job消耗的空间

网络模式能够将远端数据库直接导出到一个导出文件集中,这种需要使用数据库链连接到源系统上

在导入中,能够改变目标数据文件的名,schema和表空间

使用参数sample值得在用于Oracle 10g中,从源数据库中导出数据能够指定一定比例的数据作为取样

使用参数compression描述是否在导出文件中数据是否被压缩,这样会占有更少的磁盘,如果压缩了。在导入的时候会自动解压。

一般的用处

客户端进程是调用数据泵API,一个客户端不需要在job运行之后,多客户端可以从一个jobattachdetach,来实现监控的目的

当一个客户端登陆到oracle数据库上的时候,一个影子进程将被添加,这个进程服务需要数据泵的API。在收到dbms_datapump.open的请求的时候,影子进程添加job,主要是添加主表,添加AQ队列用和其他不同的进程于通信,添加主控制进程。等job运行时候,影子进程的主要任务服务于从客户端的get_status请求。如果客户端detach,影子进程也会dies

主控进程MCP,控制数据泵job的执行和顺序。维护job的状态,job的描述,在主表中重启和导出文件信息。一个MCP被命名为DMnn

在受到start_job请求的时候,MCP根据参数parallel添加几个工作进程。这几个工作进程执行的是主MCP请求的任务,被命名为DWnn

如果外部表路径被选择作为导入导出访问的模式,工作进程和一定数目的并行执行服务来配合。

直接路径数据泵:需要考虑的问题

有精细访问控制的表能够在插入和选择模式

Domain index exists for a LOB column

簇表引进

友活动触发器的表被定义

Global index on partitioned tables

with a single-partition load

BFILE or opaque type columns

Referential integrity constraint

VARRAY columns with an embedded opaque type

数据泵文件位置

数据泵文件的三种类型:

导出文件,日志文件,sql文件

绝对路径不被支持

Oracle目录对象必须被用

文件位置的优先顺序

n Per-file目录

n Directory参数

n Data_pump_dir环境变量

n Data_pump_dir缺省目录对象

数据泵文件命名和大小

一个导出文件集可以包含多个文件

Dumpfile定义dump文件的列表

文件被逗号分开列表

U模板

Dump文件的初始数目依赖于:

Parallel参数

Dumpfile参数

Filesize参数决定每一个dump文件的大小

先前存在地同样名字的文件不会被覆盖

Dumpfile参数指定名字和基于磁盘地dump文件的目录。如果是多文件要是被指定的话,使用逗号隔开,或者使用分开的参数dumpfile指定。如果没有指定则是使用缺省的文件名expdat.dmp。缺省,添加的文件事自动扩展的。

Filesize指定的话,每一个文件是有这个参数来限制,不能扩展。

数据泵工具:界面和模式

数据泵导出导入界面

命令行

参数文件

交互命令行

数据库控制

数据泵导入导出模式

n

n 模式

n

n 表空间

n 可转移表空间

数据泵和过滤

精细对象选择

-include = object_type[:”name_expr”]

-exclude = object_type[:”name_expr”]

EXCLUDE = VIEW

EXCLUDE = PACKAGE

EXCLUDE = INDEX:”like ‘EMP%’”

数据选择

-CONTENT = ALL|METADATA_ONLY|DATA_ONLY

-QUERY =[schema.][table_name:]”query_clause”

QUERY=hr.employees:"WHERE department_id in (10,20)

and salary < 1600 ORDER BY department_id"

数据泵导入的转换

Remap

使用REMAP_DATAFILE数据文件

使用REMAP_DATAFILE的表空间

使用REMAP_SCHEMA的模式

数据泵导入传送

使用transform,能够不包含下面的表和索引

Storage tablespace子句

Storage子句

重新添加抽象数据类型的对象标识

改变扩展分配和文件大小

TRANSFORM =

SEGMENT_ATTRIBUTES|STORAGE|OID|PCTSPACE:{y|n|v}[:object type

数据泵job监视视图

V$session_longops

Dba_datapump_jobs

Dba_datapump_sessions

Export: Release 10.2.0.1.0 - Production on 星期五, 23 6, 2006 14:32:17

Copyright (c) 2003, 2005, Oracle. All rights reserved.

数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输

数据对象的机制。该实用程序可以使用以下命令进行调用:

示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

您可以控制导出的运行方式。具体方法是: 'expdp' 命令后输入

各种参数。要指定各参数, 请使用关键字:

格式: expdp KEYWORD=value KEYWORD=(value1,value2,...,valueN)

示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott

TABLES=(T1:P1,T1:P2), 如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字 说明 (默认)

------------------------------------------------------------------------------

ATTACH 连接到现有作业, 例如 ATTACH [=作业名]

COMPRESSION 减小有效的转储文件内容的大小

关键字值为: (METADATA_ONLY) NONE

CONTENT 指定要卸载的数据, 其中有效关键字为:

(ALL), DATA_ONLY METADATA_ONLY

DIRECTORY 供转储文件和日志文件使用的目录对象。

DUMPFILE 目标转储文件 (expdat.dmp) 的列表,

例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp

ENCRYPTION_PASSWORD 用于创建加密列数据的口令关键字。

ESTIMATE 计算作业估计值, 其中有效关键字为:

(BLOCKS) STATISTICS

ESTIMATE_ONLY 在不执行导出的情况下计算作业估计值。

EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP

FILESIZE 以字节为单位指定每个转储文件的大小。

FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN

FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间。

FULL 导出整个数据库 (N)

HELP 显示帮助消息 (N)

INCLUDE 包括特定的对象类型, 例如 INCLUDE=TABLE_DATA

JOB_NAME 要创建的导出作业的名称。

LOGFILE 日志文件名 (export.log)

NETWORK_LINK 链接到源系统的远程数据库的名称。

NOLOGFILE 不写入日志文件 (N)

PARALLEL 更改当前作业的活动 worker 的数目。

PARFILE 指定参数文件。

QUERY 用于导出表的子集的谓词子句。

SAMPLE 要导出的数据的百分比;

SCHEMAS 要导出的方案的列表 (登录方案)

STATUS 在默认值 (0) 将显示可用时的新状态的情况下,

要监视的频率 (以秒计) 作业状态。

TABLES 标识要导出的表的列表 - 只有一个方案。

TABLESPACES 标识要导出的表空间的列表。

TRANSPORT_FULL_CHECK 验证所有表的存储段 (N)

TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。

VERSION 要导出的对象的版本, 其中有效关键字为:

(COMPATIBLE), LATEST 或任何有效的数据库版本。

下列命令在交互模式下有效。

: 允许使用缩写

命令 说明

------------------------------------------------------------------------------

ADD_FILE 向转储文件集中添加转储文件。

CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。

EXIT_CLIENT 退出客户机会话并使作业处于运行状态。

FILESIZE 后续 ADD_FILE 命令的默认文件大小 (字节)

HELP 总结交互命令。

KILL_JOB 分离和删除作业。

PARALLEL 更改当前作业的活动 worker 的数目。

PARALLEL=的数目>

START_JOB 启动/恢复当前作业。

STATUS 在默认值 (0) 将显示可用时的新状态的情况下,

要监视的频率 (以秒计) 作业状态。

STATUS[=interval]

STOP_JOB 顺序关闭执行的作业并退出客户机。

STOP_JOB=IMMEDIATE 将立即关闭

数据泵作业。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/222350/viewspace-908019/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/222350/viewspace-908019/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值