Oracle体系结构:数据泵初探

数据泵是基于服务器的工具,用于数据和元数据的高速移动。可以跨数据库版本(Oracle版本)进行数据的导入导出。所以也常被用来当作数据迁移的方案之一。它有expdp、impdp两种程序进行导出和导入,下文也会进行详细介绍;但文章标题毕竟只是数据泵初探,也不会详细到让人拍手叫好的程度哈哈。

那么话不多说,周末时间宝贵,开始介绍,先看目录!

目录

expdp

例子

常用

参数

可用关键参数

交互模式命令

impdp

 例子

常用

参数


expdp

expdp:数据泵导出程序

它提供了一种在Oracle数据库之间传输数据对象的机制。

例子

如果您从来没有使用过数据泵expdp导出程序。那么可以参考下面的步骤。

  • 创建OS目录

您需要首先创建一个操作系统上目录,用于存储expdp导出的转储文件,即dump文件。

mkdir /home/oracle/dump
  • 在Oracle中创建dump目录

虽然已经在操作系统上创建了一个指定目录,但Oracle现在并不知道该把导出的dump文件存储到哪里。所以需要创建一个dump目录,告诉Oracle我要存这里。

 create or replace directory dump as '/home/oracle/tc';

dump目录创建完成后, 可以查看有没有创建成功。

set lines 1000
set pages 100
col DIRECTORY_NAME for a25
col DIRECTORY_PATH for a80
select directory_name,directory_path from dba_directories;
  • 赋予用户相应的权限

用于进行导出的用户,如果没有dump目录的相关权限,那么是无法导出的。所以需要给予指定用户相应的权限。

 grant write,read on directory dump to hr;
 grant exp_full_database to hr;
  • 进行expdp导出

 此时已经可以开始进行expdp导出,下面是一个简单的导出指定的table的例子。(注意用户密码的大小写)

expdp HR/HR directory=DUMP dumpfile=employees.dump tables=employees logfile=expdp.log;

常用

 expdp工具的参数很多,但常用的组合确可以精简到以下几种,只要掌握了,是可以解决大部分的工作需求的。 且新人朋友们可以观察下我的习惯,在使用expdp工具时,我习惯将directory、dumpfile参数放在前面,logfile放在最后,中间放置满足此次需求的参数。个人感觉这样是比较标准规范的。

  • 导出用户及其对象

按用户导出,该组合的目的是将某个用户(schema)下的表、索引等所有对象全部导出。导出代码如下:

expdp HR/HR directory=dump dumpfile=HR.dmp schemas=HR logfile=expdp.log;
  • 导出指定的表

上文的例子中已经提及过,是针对某张表进行导出;新接触的朋友可能有疑问,一张表而已,为什么要用expdp导出这么麻烦,直接查询导出不就可以吗?其实有两个原因:一个是表的数据量太大,查询导出不现实;另一个原因是表中含有大字段,查询导出无法将大字段内容完整的导出,所以就用到了expdp。导出代码如下:

expdp HR/HR directory=DUMP dumpfile=emp.dump tables=employees logfile=expdp.log;
  • 按查询条件导出

和刚刚提到的导出表原因一样,只不过在此基础上加了条件限制。导出代码如下:

 expdp HR/HR directory=dump dumpfile=quer1.dump tables=employees QUERY=employees:'"WHERE department_id > 10"' logfile=expdp.log;

这里有个需要注意的地方: 在where条件中,不要只写一个

  • 按表空间导出

字面意思,导出代码如下:

expdp \'/ as sysdba \' directory=dump dumpfile=tablespace.dump tablespaces=SYSTEM logfile=expdp.log;
  • 导出整个数据库

字面意思,整个实例全部导出;导出代码如下:

expdp HR/HR directory=dump dumpfile=all.dump full=Y logfile=expdp.log;

参数

前文已经表述了expdp的使用方法样例、常用组合;现在对expdp的参数进行总结梳理下。可能有些参数在平时工作中用不到或者很少见,但我们需要有个印象,这样在某年某月某日某时遇到某个情况,我们可以想到有个参数,可以实现当下的需求。

在梳理参数之前,虽然上文已经有例子,我们还是先来总结以及明确一下格式。

expdp KEYWORD=value or KEYWORD=(value1,value2,...,valueN)

 KEYWORD即关键字,这个和下面的表格有联动。

可用关键参数

下面是可用的关键字及其描述。默认值列在方括号内。

参数说明

ABORT_STEP

在作业初始化后或在指定的对象处停止作业。 有效的值是-1或者N(N是0或者更大的数); N对应于对象在主表中的进程顺序号。

ACCESS_METHOD

指示“导出”使用特定的方法卸载数据 有效的关键字值:[AUTOMATIC]、DIRECT_PATH和EXTERNAL_TABLE。

ATTACH

添加一个已经存在的JOB

例子:ATTACH=job_name

CLUSTER

在RAC上利用集群资源分配工作。

有效关键字:[YES]

COMPRESSION

降低dump文件的大小

有效关键字:ALL, DATA_ONLY, [METADATA_ONLY] ,NONE

COMPRESSION_ALGORITHM

指定压缩算法:

有效关键字:[ALL], DATA_ONLY and METADATA_ONLY

CONTENT

指定卸载的数据类型

有效关键字:[ALL], DATA_ONLY and METADATA_ONLY.

DATA_OPTIONS

数据层选项:

有效关键字:GROUP_PARTITION_TABLE_DATA, VERIFY_STREAM_FORMAT ,XML_CLOBS

DIRECTORY

指定目录,上文有例子

DUMPFILE

指定dump文件名,上文有例子

ENCRYPTION

加密转储文件的全部或者部分:

有效关键字:ALL, DATA_ONLY, ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY , NONE.

ENCRYPTION_ALGORITHM

加密算法。

有效关键字:[AES128], AES192 and AES256.

ENCRYPTION_MODE

加密密钥的生成方法。

有效关键字:DUAL, PASSWORD , [TRANSPARENT].

ENCRYPTION_PASSWORD   

在转储文件中创建加密数据的密码密钥

ENCRYPTION_PWD_PROMPT

是否提示输入加密密码

有效关键字:[NO]

ESTIMATE

指定估算被导出表所占用磁盘空间分方法

有效关键字:[BLOCKS] and STATISTICS.

ESTIMATE_ONLY

指定是否只估算导出作业所占用的磁盘空间

有效关键字:[NO]

EXCLUDE

该选项用于指定执行操作时释放要排除对象类型或相关对象,EXCLUDE 和 INCLUDE 不能同时使用。

例子:EXCLUDE=SCHEMA:"='HR'"

FILESIZE

指定导出文件的最大尺寸,默认为 0,(表示文件尺寸没有限制)

FLASHBACK_SCN

指定导出特定 SCN 时刻的表数据

FLASHBACK_TIME

指定导出特定时间点的表数据

FULL

是否全库导出

有效关键字:[NO]

HELP

指定是否显示 expdp 命令行选项的帮助信息

有效关键字:[NO]

INCLUDE

指定导出时要包含的对象类型及相关对象
INCLUDE = object_type[:name_clause] [,… ] 在导数据过程中有如下参数比较好用:

TABLE_DATA    表中的数据

TABLE  表的定义,就是 create table 的语句,include 后只写 table 参 数,将只创建表结构,exclude 后写 table 参数导入过程将不执行 create table 命令。
OBJECT_GRANT    对象赋权操作
INDEX    索引定义,情况跟 table 一致
CONSTRAINT    约束

INDEX_STATISTICS    索引统计信息

TABLE_STATISTICS     表的统计信息


#在未使用 parfile 文件的情形下,所有的符号都需要进行转义,包括括号,双引号,单引号等。


# expdp system/manager DIRECTORY=my_dir #DUMPFILE=exp_tab.dmp
#LOGFILE=exp_tab.log SCHEMAS=hr
#INCLUDE=TABLE:\"IN \(\'EMPOLYEES\', \'DEPARTMENTS\'\)\"

JOB_NAME

指定要导出作用的名称

默认为 SYS_XXX JOB_NAME=jobname_string
SELECT * FROM DBA_DATAPUMP_JOBS;--查看存在的 job

KEEP_MASTER

导出任务成功完成后保留主表

有效关键字:[NO]

LOGFILE

指定日志文件名称,上文有例子。

LOGTIME

指定在导出操作期间显示的消息带有时间戳。

有效关键字:ALL, [NONE], LOGFILE ,STATUS.

METRICS

向导出日志文件报告其他作业信息。

有效关键字:[NO]

NETWORK_LINK

指定数据库连接名,如果要将远程数据库对象导出到本地实例的转储文件中,必须设置该选项。

#expdp hr/hr directory=dumpxxx NETWORK_LINK=dblink tables=test #dumpfile =test.dmp logfile=test.log job_name=my_job

#dblink 是目的数据库与源数据的链接名

#dumpxxx 是目的数据库上的目录

NOLOGFILE

该选项用于指定禁止生成导出日志文件

有效关键字:[NO]

PARALLEL

指定执行导出操作的并行进程个数,默认值为 1


#并行度设置不应该超过 CPU 数的 2 倍,如果 cpu 为 2 个,可将 #PARALLEL 设为 2,在导入时速度比 PARALLEL 为 1 要快.

【而对于导出的文件,如果 PARALLEL 设为 2,导出文件只有一个,导出速度提高不多,因为导出都是到同一个文件,会争抢资源;所以可以设置导出文件为两个,如下所示:
expdp hr/hr directory=d_test dumpfile=hrfile1.dmp,hrfile2.dp parallel=2

PARFILE 

指定导出参数文件的名称

QUERY

按照条件导出,上文有例子。

REMAP_DATA

指定数据转换函数。

例子:REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO

REUSE_DUMPFILES

如果目标转储文件存在,则覆盖

有效关键字:[NO]

SAMPLE

导出数据的百分比。

SCHEMAS

指定导出的用户,默认为当前用户;上文有例子

SERVICE_NAME

用于约束Oracle RAC资源的活动服务名称和关联的资源组名称。

SOURCE_EDITION

用于提取元数据的版本。

STATUS

指定显示导出作用进程的详细状态,默认值为 0

TABLES        

指定导出表,上文有例子

TABLESPACES

指定导出表空间,上文有例子

TRANSPORTABLE

指定是否可以使用可传输的方法。

有效关键字:ALWAYS ,[NEVER]

TRANSPORT_FULL_CHECK

验证所有表的存储段

有效关键字:[NO]

TRANSPORT_TABLESPACES

列表的表空间元数据将被卸载。

VERSION

指定被导出对象的数据库版本

有效关键字:[COMPATIBLE], LATEST,任何有效的数据库版本

VIEWS_AS_TABLES

识别一个或多个视图导出为表。

例子:VIEWS_AS_TABLES=HR.EMP_DETAILS_VIEW

交互模式命令

以下命令在交互模式下有效,允许使用缩写。

命令说明

ADD_FILE

将dump文件添加到dump文件集中

CONTINUE_CLIENT

返回日志模式。如果作业空闲,将重新启动。

EXIT_CLIENT

退出客户端会话并让作业继续运行。

FILESIZE

随后的ADD_FILE命令的默认文件大小(字节)。

HELP

帮助说明

KILL_JOB

分离和删除作业

PARALLEL

更改当前工作的活动线程数量。

REUSE_DUMPFILES

如果目标转储文件存在,则覆盖。[NO]

START_JOB

开始或恢复当前的工作.

有效关键字:SKIP_CURRENT

STATUS

指定显示导出作用进程的详细状态,默认值为 0

STOP_JOB

有序关闭作业执行并退出客户端。

有效关键字:IMMEDIATE

STOP_WORKER

停止挂起或卡住的线程或者进程。

TRACE

为当前作业设置跟踪/调试标志。

impdp

 impdp:数据泵导入程序

它提供了一种在Oracle数据库之间传输数据对象的机制。

 例子

如果您从来没使用过数据泵impdp导入程序,那么可以参考以下步骤。

  • 已拥有所需转储文件

虽然是废话文学,但还是得提一句;您想进行导入操作,那么您得确保您已经使用expdp导出了所需的dump文件。

  • 目标数据库服务器创建dump存储目录

创建完dump文件存储目录后,需要把expdp导出的dump文件挪到这里哦!

mkdir /home/oracle/dump
  •  目标数据库创建dump逻辑目录
 create or replace directory dump as '/home/oracle/dump';

 查看创建的dump逻辑目录

select directory_name,directory_path from dba_directories;
  • 赋予所使用用户权限

在expdp章节里,已经给了hr用户对于dump目录的read和write权限 ;这里除了导出权限外,也需要给予hr导入数据库的权限。否则也会报错。

grant write,read on directory dump to hr;
grant exp_full_database to hr; 
grant imp_full_database to hr;
  • impdp导入所需dump文件 

 大家按照下面的impdp导入代码进行导入

impdp HR/HR directory=dump dumpfile=hr.dmp remap_schema=hr:hrcopy logfile=impdp.log;

 就会得到如下的报错

Import: Release 12.2.0.1.0 - Production on Sun Mar 31 19:50:26 2024

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
ORA-39002: invalid operation
ORA-39358: Export dump file version 19.0.0.0.0 not compatible with target version 12.2.0

这是我们非常有可能会遇到的一个情况,其实原因就是Oracle版本不同的问题。 在上文expdp的导出例子中,数据库环境是19C,这里的impdp导入数据库环境是12C。那么此时该咋整呢?

Follow me

expdp重新按版本导出

expdp HR/HR directory=dump dumpfile=hr.dmp schemas=HR version=12.2.0 logfile=expdp.log
[oracle@oracle19c tc]$ expdp HR/HR directory=dump dumpfile=hr.dmp schemas=HR version=12.2.0 logfile=expdp.log

Export: Release 19.0.0.0.0 - Production on Mon Apr 1 20:06:50 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "HR"."SYS_EXPORT_SCHEMA_01":  HR/******** directory=dump dumpfile=hr.dmp schemas=HR version=12.2.0 logfile=expdp.log
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
. . exported "HR"."SYS_EXPORT_FULL_01"                   574.9 KB    3198 rows
. . exported "HR"."EMPLOYEES"                            17.08 KB     107 rows
. . exported "HR"."LOCATIONS"                            8.437 KB      23 rows
. . exported "HR"."JOB_HISTORY"                          7.195 KB      10 rows
. . exported "HR"."JOBS"                                 7.109 KB      19 rows
. . exported "HR"."DEPARTMENTS"                          7.125 KB      27 rows
. . exported "HR"."RO"                                   6.820 KB       5 rows
. . exported "HR"."RI"                                   6.375 KB       5 rows
. . exported "HR"."ASI"                                  6.382 KB       5 rows
. . exported "HR"."COUNTRIES"                            6.367 KB      25 rows
. . exported "HR"."REGIONS"                              5.546 KB       4 rows
. . exported "HR"."WJZ"                                      0 KB       0 rows
Master table "HR"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for HR.SYS_EXPORT_SCHEMA_01 is:
  /home/oracle/tc/hr.dump
Job "HR"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Apr 1 20:08:51 2024 elapsed 0 00:01:57

OK,现在已经重新导出成功了,大家可以看上面的输出,输出内容中有显示有HR.ASI这个表;但我的12C库中现在是没有这个表的。

OK,那么现在开始正式进行impdp导入,这次的例子是将HR用户导入到目标库12C。且给其换一个schema name,因为HR是Oracle安装默认用户已经有了,我这边偷个懒也不愿意新建用户,也不愿意覆盖掉它。

impdp SYSTEM/oracle directory=dump dumpfile=hr.dmp remap_schema=hr:hrcopy logfile=impdp.log;

 写完命令回车,就会得到如下输出。

Import: Release 12.2.0.1.0 - Production on Sun Mar 31 20:19:12 2024

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Master table "SYSTEM"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_FULL_01":  SYSTEM/******** directory=dump dumpfile=hr.dmp remap_schema=hr:hrcopy logfile=impdp.log
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "HRCOPY"."SYS_EXPORT_FULL_01"               574.9 KB    3198 rows
. . imported "HRCOPY"."EMPLOYEES"                        17.08 KB     107 rows
. . imported "HRCOPY"."LOCATIONS"                        8.437 KB      23 rows
. . imported "HRCOPY"."JOB_HISTORY"                      7.195 KB      10 rows
. . imported "HRCOPY"."JOBS"                             7.109 KB      19 rows
. . imported "HRCOPY"."DEPARTMENTS"                      7.125 KB      27 rows
. . imported "HRCOPY"."RO"                               6.820 KB       5 rows
. . imported "HRCOPY"."RI"                               6.375 KB       5 rows
. . imported "HRCOPY"."ASI"                              6.382 KB       5 rows
. . imported "HRCOPY"."COUNTRIES"                        6.367 KB      25 rows
. . imported "HRCOPY"."REGIONS"                          5.546 KB       4 rows
. . imported "HRCOPY"."WJZ"                                  0 KB       0 rows
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
ORA-39367: Statistcis are being skipped.  Cannot locate the time zone version 32 file.

Job "SYSTEM"."SYS_IMPORT_FULL_01" completed with 1 error(s) at Sun Mar 31 20:20:18 2024 elapsed 0 00:01:01

下面来验证下导入的数据,导入完成后,重新查询HRCOPY用户下的ASI表,可以发现已经导入成功了。

常用

和expdp一样,impdp参数灰常多。但也可以精简出比较常用的几种。下面和朋友们分享下。

  • 按表导入

字面意思,代码如下。

asi.dmp 文件中的表,此文件是以 hr 用户按 schemas=hr 导出的。

impdp HR/HR directory=dump dumpfile=asi.dmp tables=asi logfile=impdp.log tables=p_street_area 

从hr用户中把表RI和RO导入到system用户 ,如果表存在,就替换掉。

impdp system/oracle directory=dump dumpfile=expdp.dmp tables=hr.ro,hr.ri remap_schema=hr:system table_exists_action=replace logfile=impdp.log 
  •  按用户导入

字面意思,代码如下。

可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入。

impdp hr/hr directory=dump dumpfile=hr.dmp schemas=HR logfile=impdp.log 
  •  不通过 expdp 的步骤生成 dump 文件而直接导入

从源数据库中向目标数据库导入表 ro

DBLINKPRO是目的数据库与源数据的链接名,也就是DBlink。

数据迁移的时候就很有可能会用到此方案。

impdp HR/HR directory=dump NETWORK_LINK=DBLINKPRO tables=RO logfile=DBLINKPRO.log  
  • 更换表空间 

(1)

朋友们可以看下,现在使用的用户换了。

如果是用 sys 用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容。

OK,那么开始导出HR下的所有表 

expdp system/oracle directory=dump dumpfile=hr.dmp SCHEMAS=HR logfile=expdp.log

(2) 

以下是将 hr 用户下的数据全部导入到表空间 TEST(原来为 USERS表空间下)下

impdp system/oracle directory=dump dumpfile=hr.dmp remap_tablespace=USERS:TEST
  •  导入整个数据库

字面意思,代码如下。

impdb system/oracle directory=dump dumpfile=full.dmp full=y logfile=impdp.log;

参数

impdp导入程序的参数和expdp相比,大部分都一致;其中有些impdp独有的参数,在这里单独梳理出来。

参数说明

REMAP_DATAFILE

该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间迁移表空间时可能需要该选项

例子:REMAP_DATAFIEL=source_datafie:target_datafile

REMAP_SCHEMA

该选项用于将源schema的所有对象装载到目标schema中

例子:REMAP_SCHEMA=source_schema:target_schema

REMAP_TABLESPACE

将源表空间的所有对象导入到目标表空间中
REMAP_TABLESPACE=source_tablespace:target:tablespace

REUSE_DATAFILES

该选项指定建立表空间时是否覆盖已存在的数据文件

有效关键字:[N]、Y

SKIP_UNUSABLE_INDEXES

指定导入是是否跳过不可使用的索引

有效关键字:[N]、Y

SQLFILE

指定将导入要指定的所有DDL 操作写入到 SQL 脚本中

例子:

SQLFILE=[directory_object:]file_name
Impdp hr/hr DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql

STREAMS_CONFIGURATION        

指定是否导入流元数据(Stream Matadata)

有效关键字:[YES]、NO

TABLE_EXISTS_ACTION

该选项用于指定当表已经存在时,导入作业要执行的操作。

有效关键字:APPEND, REPLACE, [SKIP] ,TRUNCATE

当设置该选项为 SKIP 时,导入作业会跳过已存在表处理下一个对象;

当设置为 APPEND 时,会追加数据;

当设置为TRUNCATE 时,导入作业会截断表,然后为其追加新数据;

当设置为 REPLACE 时, 导入作业会删除已存在表,重建表并追加数据;

注意,TRUNCATE 选项不适用与簇表和 NETWORK_LINK 选项

TRANSFORM

该选项用于指定是否修改建立对象的 DDL 语句

有效关键字:DISABLE_ARCHIVE_LOGGING, INMEMORY, INMEMORY_CLAUSE, LOB_STORAGE, OID, PCTSPACE, SEGMENT_ATTRIBUTES, SEGMENT_CREATION, STORAGE, TABLE_COMPRESSION_CLAUSE.

例子:

Impdp hr/hr directory=dump dumpfile=tab.dmp transform=segment_attributes:n:table
 

TRANSPORT_DATAFILES

该选项用于指定迁移空间时要被导入到目标数据库的数据文件
TRANSPORT_DATAFILE=datafile_name
Datafile_name 用于指定被复制到目标数据库的数据文件

例子:

Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp TRANSPORT_DATAFILES=’/user01/data/tbs1.dbf’


数据泵初探就先探到这里啦,感谢您的阅读。

❀❀❀❀❀❀❀❀❀❀❀❀

祝大家周末愉快哦!!!

❀❀❀❀❀❀❀❀❀❀❀❀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜豆豆耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值