oracle 数据泵

来源:互联网 发布:mac pro 编辑:程序博客网 时间:2024/04/30 14:04

exp/imp导入导出技术是基于客户机的,而数据泵是基于服务器的,因此效率比前者快15-45倍。

用途:

将数据从开发环境转到测试或生产环境

在不同操作系统上的数据库之间传递数据

在修改重要的表之前进行备份

备份数据库

把数据对象从一个表空间移到另一个表空间

在数据库之间移动表空间

重新组织零散的表数据

提取表和其他对象(process、程序包)的dll

 

数据泵组成部分:

DBMS_DATAPUMP程序包

DBMS_METADATA程序包

命令行客户机

 

Directory(目录对象)

从安全的角度讲,不能让用户在服务器上制定绝对路径,避免读取、覆盖不该操作的文件。oracle自动创建一个目录DATA_PUMP_DIR,使用select * from dba_directories可以查看目录。

只要拥有sys和system的用户才能使用DATA_PUMP_DIR,因此可以使用system进行数据库作业。

创建目录:create directory data_dump_dir2 as '/u01/app/orcl/dump',这样就可以创建一个目录,然后使用export将指保存到DATA_PUMP_DIR。export DATA_PUMP_DIR=DATA_PUMP_DIR2。   拥有CREATE ANY DIRECTORY权限的用户可以创建directory。

 

执行数据泵的导出

命令行:

expd system/system directory=data_dump_dir dumpfile=data.bmp

 

也可以使用参数文件的方式:

myfile.txt:

SCHEMA=HR

DIRECTORY=DATA_DUMP_DIR

DUMPFILE=DATA.DMP

调用myfile:expdp parfile=myfile.txt

 

数据泵导出方式:

全导出   导出整个数据库,使用full参数。需要EXPORT_FULL_DATABASE角色

模式导出 导出单独用户的数据和对象,使用SCHEMA参数   这是默认方式   expdp system/passwd dumpfile=data.dmp schema=scott

表空间方式 使用TABLESPACE参数,导出一个活多个表空间中的全部表。

表方式 使用tables参数,导出一个活多个表

 

导出参数:

directory    :转存文件盒日志文件的目录对象

dumpfile  :转存文件名称

filesize: 转存文件大小 ,若转存文件大小不够,则转存文件达到此限制时,则导出作业将停止。

parfile :参数文件

logfile和nologfile :日志参数

reuse_dumpfiles :可以使用此参数覆盖一个转存文件。

compression:允许用户指定在将导出数据写入转储文件前,压缩哪些数据。默认情况下,所有数据压缩。可以指定NONE值禁止压缩。参数值(ALL,data_only ,etadata_only ,none)

与导出方式有关的参数:full schema ,tablespace transport_tablespace,transport_full_check

导出过滤参数

connec:过滤要写入导出转储文件中的内容,ALL:同时导出表数据和其他对象的定义(元数据),data_only :只导出表行  metadata_only 只导出元数据

exclude /include 执行元数据过滤。例如exclude=table:“LIKE 'EMP'” 排除emp开头的所有表。

pemap_data :允许用一个新值替换某个列中的多个值

data_options

query :借助sql语句导出数据   query=oe.orders:"where order_id>100000"

对导出数据加密: ENCRYPTION :all 加密所有数据,data_only:只加密写到转存文件的数据  encrypted_columns_only :对使用tde特性的加密咧进行加密  metadata_only:只对元数据加密  none:不加密

ENCRYPTION_ALGORITHM  指定加密算法。

ENCRYPTION_MODE 安全类型  。

ENCRYPTION_PASSWORD

 

 

 

 

 

原创粉丝点击