文档库 最新最全的文档下载
当前位置:文档库 › 使用Oracle 10g数据泵使用详解

使用Oracle 10g数据泵使用详解

使用Oracle 10g数据泵使用详解
使用Oracle 10g数据泵使用详解

使用Oracle 10g数据泵(EXPDP/IMPDP)

一、关于数据泵的概述

在Oracle 10g中,数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O 服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。

通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。

数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以推出连接,任务会在server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改

二、数据泵的使用

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

注意到与EXP不同,EXPDP增加了一个主要的参数:DIRECTORY

这个参数是用来定义一个路径,前面已经提到,数据泵主要在Server端工作,导出文件需要写出到Server 端本地目录,这个DIRECTORY就是对应的Server端的路径

如:

//创建目录

create or replace directory expdir as 'd:\';

//给test赋予目录的读写权限

grant read,write on directory expdir to test;

//导出数据

C:\>expdp test/test@acf dumpfile=test.dmp directory=expdir

三、EXPDP/IMPDP的停止与重启动

EXPDP和IMPDP的本质在于,通过API调用,把传统的EXP/IMP类交付式模式的操作,转变成数据库内部的job任务,从而实现了任务的可终止与重启动。

c:\expdp test/test@acf directory=dpdata dumpfile=full.dmp full=y job_name=expfull

在执行过程中,可以拿下Ctrl+C组合键,退出当前交互模式,退出之后,导出操作不会停止,这不同于Oracle以前的EXP。以前的EXP,如果退出交互式模式,就会出错终止导出任务。

在Oracle 10中,由于EXPDP是数据库内部定义的任务,已经与客户端无关。退出交互之后,会进入export 的命令行模式,此时支持status等查看命令:

Export> status

如果想停止改任务,可以发出stop_job命令

Export> stop_job

接下来可以通过命令行再次连接到这个任务

通过start_job命令重新启动导出

Export> start_job

4、EXPDP排出部分对象的导出

在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数

这个两个参数文档中介绍的命令格式存在问题,这个两个参数的正确用法是:

EXCLUDE=OBJECT_TYPE[:name_clause][,...]

INCLUDE=OBJECT_TYPE[:name_clause][,...]

示例:

expdp schema=scott exclude=sequence,table:"in('EMP','DEPT')"

impdp schema=scott include=function,package,procedure,table:"='EMP'"

有了这些还不够,由于命令中包含了多个特殊字符,在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行

如:EXCLUDE=TABLE:\"IN('BIGTALE')\"

EXPDP和IMPDP使用说明

Oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中.

数据泵导出导入(EXPDP和IMPDP)的作用

1、实现逻辑备份和逻辑恢复.

2、在数据库用户之间移动对象.

3、在数据库之间移动对象

4、实现表空间搬移. 数据泵导出导入与传统导出导入的区别:

在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项; EXP和IMP是客户段工具程序,它们既可以在客户端使用,也可以在服务器段使用.

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

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

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

EXPDP命令行选项

1. ATTACH

该选项用于在客户会话与已存在导出作用之间建立关联.语法如下

ATTACH=[schema_name.]job_name

Schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:

Expdp scott/tiger ATTACH=scott.export_job

2. CONTENT

该选项用于指定要导出的内容.默认值为ALL

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义

Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump

CONTENT=METADATA_ONLY

3. DIRECTORY

指定转储文件和日志文件所在的目录

DIRECTORY=directory_object

Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录

Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump

建立目录:

CREATE DIRECTORY dump as …d:dump?;

查询创建了那些子目录:

SELECT * FROM dba_directories;

4. DUMPFILE

用于指定转储文件的名称,默认名称为expdat.dmp

DUMPFILE=[directory_object:]file_na me [,….]

Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定

directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象

Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp

5. ESTIMATE

指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKS

EXTIMATE={BLOCKS | STATISTICS}

设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间

Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS

DIRECTORY=dump DUMPFILE=a.dump

6. EXTIMATE_ONLY

指定是否只估算导出作业所占用的磁盘空间,默认值为N

EXTIMATE_ONLY={Y | N}

设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.

Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y

7. EXCLUDE

该选项用于指定执行操作时释放要排除对象类型或相关对象

EXCLUDE=object_type[:name_clause] [,….]

Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE 不能同时使用

Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW

8. FILESIZE

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

9. FLASHBACK_SCN

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

FLASHBACK_SCN=scn_value

Scn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用

Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp

FLASHBACK_SCN=358523

10. FLASHBACK_TIME

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

FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”

Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=

“TO_TIMESTAMP(?25-08-2004 14:35:00?,?DD-MM-YYYY HH24:MI:SS?)”

11. FULL

指定数据库模式导出,默认为N

FULL={Y | N}

为Y时,标识执行数据库导出.

12. HELP

指定是否显示EXPDP命令行选项的帮助信息,默认为N

当设置为Y时,会显示导出选项的帮助信息.

Expdp help=y

13. INCLUDE

指定导出时要包含的对象类型及相关对象

INCLUDE = object_type[:name_clause] [,… ]

14. JOB_NAME

指定要导出作用的名称,默认为SYS_XXX

JOB_NAME=jobname_string

15. LOGFILE

指定导出日志文件文件的名称,默认名称为export.log

LOGFILE=[directory_object:]file_name

Directory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.

Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log

16. NETWORK_LINK

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

17. NOLOGFILE

该选项用于指定禁止生成导出日志文件,默认值为N.

18. PARALLEL

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

19. PARFILE

指定导出参数文件的名称

PARFILE=[directory_path] file_name

20. QUERY

用于指定过滤导出数据的where条件

QUERY=[schema.] [table_name:] query_clause

Schema用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用. Expdp scott/tiger directory=dump dumpfiel=a.dmp

Tables=emp query=?WHERE deptno=20?

21. SCHEMAS

该方案用于指定执行方案模式导出,默认为当前用户方案.

22. STATUS

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

23. TABLES

指定表模式导出

TABLES=[schema_name.]table_name[:partitio n_name][,…]

Schema_name用于指定方案名,table_name用于指定导出的表名,partition_name用于指定要导出的分区名.

24. TABLESPACES

指定要导出表空间列表

25. TRANSPORT_FULL_CHECK

该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为N.

当设置为Y时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息.当设置为N时,导出作用只检查单端依赖,如果搬移索引所在表空间,但未搬移表所在表空间,将显示出错信息,如果搬移表所在表空间,未搬移索引所在表空间,则不会显示错误

信息.

26. TRANSPORT_TABLESPACES

指定执行表空间模式导出

27. VERSION

指定被导出对象的数据库版本,默认值为COMPATIBLE.

VERSION={COMPATIBLE | LATEST | version_string}

为COMPATIBLE时,会根据初始化参数COMPATIBLE生成对象元数据;为LATEST时,会根据数据库的实际版

本生成对象元数据.version_string用于指定数据库版本字符串.调用EXPDP

使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.

CREATE DIRECTORY dump dir AS …D:DUMP?;

GRANT READ, WIRTE ON DIRECTORY dump_dir TO scott;

1、导出表

Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp

2、导出方案

Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp

SCHEMAS=system,scott

3、导出表空间

Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp

TABLESPACES=user01,user02

4、导出数据库

Expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y

使用IMPDP

IMPDP命令行选项与EXPDP有很多相同的,不同的有:

1、REMAP_DATAFILE

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

2、REMAP_SCHEMA

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

REMAP_SCHEMA=source_schema:target_schema

3、REMAP_TABLESPACE

将源表空间的所有对象导入到目标表空间中

REMAP_TABLESPACE=source_tablespace:target:tablespace

4、REUSE_DATAFILES

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

REUSE_DATAFIELS={Y | N}

5、SKIP_UNUSABLE_INDEXES

指定导入是是否跳过不可使用的索引,默认为N

6、SQLFILE

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

SQLFILE=[directory_object:]file_name

Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql

7、STREAMS_CONFIGURATION

指定是否导入流元数据(Stream Matadata),默认值为Y.

8、TABLE_EXISTS_ACTION

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

TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表病追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项

9、TRANSFORM

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

TRANSFORM=transform_name:value[:object_type]

Transform_name用于指定转换名,其中SEGMENT_ATTRIBUTES用于标识段属性(物理属性,存储属性,表空间,日志等信息),STORAGE用于标识段存储属性,VALUE用于指定是否包含段属性或段存储属

性,object_type用于指定对象类型.

Impdp scott/tiger directory=dump dumpfile=tab.dmp

Transform=segment_attributes:n:table

10、TRANSPORT_DATAFILES

该选项用于指定搬移空间时要被导入到目标数据库的数据文件

TRANSPORT_DATAFILE=datafile_name

Datafile_name用于指定被复制到目标数据库的数据文件

Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp

TRANSPORT_DATAFILES=?/user01/data/tbs1.f?调用IMPDP

1、导入表

Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp

Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM

第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入的SYSTEM 数据泵导入:

指令 impdp

一:数据库所有对象的导入:

impdp system/tiger dumpfile=pump_dir:mydatabase_%.dat

filesize=100m nologfile=y job_name=zhang full=y estimate_only

二:用户数据的导入:

impdp system/tiger dumpfile=pump_dir:mydatabase_%.dat

filesize=100m nologfile=y job_name=zhang schemas=scott

三:导入特定的表:

impdp system/tiger dumpfile=pump_dir:mydatabase_%.dat

filesize=100m nologfile=y job_name=zhang tables=scott.emp,scott.dept

数据泵导出:

指令 expdp

一:数据库所有对象的导出:

expdp system/tiger dumpfile=pump_dir:mydatabase_%.dat

filesize=100m nologfile=y job_name=zhang full=y estimate_only

二:用户数据的导出:

expdp system/tiger dumpfile=pump_dir:mydatabase_%.dat

filesize=100m nologfile=y job_name=zhang schemas=scott

三:导出特定的表:

expdp system/tiger dumpfile=pump_dir:mydatabase_%.dat

filesize=100m nologfile=y job_name=zhang tables=scott.emp,scott.de pt

高速的資料匯出/匯入:Oracle Data Pump

?於:十月23, 2007, 11:11:36 下午?

資料匯出/匯入工具仍是跨多個平台轉移資料庫的首選實用工具,儘管人們常常抱怨它速度太慢。

因為匯入只是將每條記錄從匯出檔案文件中讀出來,然後使用常見的INSERT INTO 命令將其插入到目標表中,因此匯入可能是個很慢的過程,這一點很正常的。

到了Oracle Data Pump,Oracle Database 10g 中的匯出/匯入工具,它被設計來加速這個過程。

Data Pump 反映了整個匯出/匯入過程的徹底革新。它不是使用常見的SQL 命令,而是應用專用API 來以更快得多的速度加載和卸載資料。測試中,看到匯出性能比在直接模式下提高了10-15 倍,匯入過程性能也提高了5 倍。此外,與傳統使用匯出工具不同,它還能夠只取出特定類型的對象(如過程)。

Data Pump 匯出

這個新的實用工具稱為expdp,以和原來的匯出exp 區分開。在Lab中,我們將用Data Pump 來匯出一個大T able CASES,大小約為3GB。我們將使用檔案系統/u02/dpdata1 來保存匯出後dump file 資料文件。

create directory dpdata1 as '/u02/dpdata1';

grant read, write on directory dpdata1 to steven;

接下來,我們將匯出資料:

expdp steven/abc123 tables=CASES directory=DPDATA1

dumpfile=expCASES.dmp job_name=CASES_EXPORT

與原來的傳統匯出工具exp不同的是,dump file文件是在伺服器(不是客戶端)上建立的。位置由目錄參數值DPDATA1 指定,它指向之前建立的/u02/dpdata1。

匯出監控

當Data Pump Export (DPE) 運行時,按Control-C;它將阻止訊息在螢幕上顯示,但並不停止匯出Process本身。相反,它將顯示DPE 提示符(如下所示)。Process現在被認為處於“交談式”模式:Export>

這種方法允許在這個DPE 作業上輸入命令。要查看狀態,在提示符下使用STATUS 命令:

Export> status

Job:CASES_EXPORT

Operation:EXPORT

Mode:TABLE

State:EXECUTING

Degree: 1

Job Error Count: 0

Dump file:/u02/dpdata1/expCASES.dmp

bytes written = 2048

Worker 1 Status:

State:EXECUTING

Object Schema:DWOWNER

Object Name:CASES

Object Type:TABLE_EXPORT/TBL_TABLE_DATA/TABLE/TABLE_DATA

Completed Objects: 1

Total Objects: 1

Completed Rows: 4687818

平行處理

您可以通過PARALLEL 參數為匯出使用一個以上的Process來加速作業。每個Proces建立一個單獨的dumpfile,因此參數dumpfile 應當擁有和平行處理一樣多的項目。您可以指定變數符號作為文件名,例如:

expdp steven/abc123 tables=CASES directory=DPDATA1

dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export

注意dumpfile 參數擁有一個變數符號%U,它指示文件將按需要建立,格式將為

expCASES_nn.dmp,其中nn 從01 開始,然後按需要往上增加。

在平行模式下,狀態螢幕將顯示四個工作Process。(在默認模式下,只有一個Process是可見的。)所有的工作Process同步取出資料,並在狀態螢幕上顯示它們的進度。

Data Pump 匯入

不過,資料匯入性能是Data Pump 真正出色的地方。要匯入先前匯出的資料,我們將使用

impdp steven/abc123 directory=dpdata1 dumpfile=expCASES.dmp

job_name=cases_import

和使用Data Pump 匯入一樣,在Process中按Control-C 將進入Date Pump Import (DPI) 的交互模式;同樣,提示符號是Import>

你可以參考以下範例:

ALTER USER sh IDENTIFIED BY sh ACCOUNT UNLOCK;

GRANT CREATE ANY DIRECTORY TO sh;

CREATE OR REPLACE DIRECTORY test_dir AS 'c:\pump\';

GRANT READ, WRITE ON DIRECTORY test_dir TO sh;

T able Exports/Imports

expdp sh/sh@ora10g tables=SALES directory=TEST_DIR dumpfile=DP_SALES.dmp

logfile=expdpDP_SALES.log

impdp sh/sh@ora10g tables=SALES directory=TEST_DIR dumpfile=DP_SALES.dmp logfile=impdpDP_SALES.log

exp sh/sh@ora10g tables=SALES file=c:\pump\exp_SALES.dmp log=exp_SALES.log

imp sh/sh@ora10g file=c:\pump\exp_SALES.dmp tables=SALES

exp scott/tiger@ora10g tables=EMP,DEPT file=c:\pump\scott.dmp log=exp_scott.log

imp scott/tiger@ora10g file=c:\pump\scott.dmp tables=EMP,DEPT

Schema Exports/Imports

expdp sh/sh@ora10g schemas=SH directory=TEST_DIR dumpfile=SH.dmp

logfile=expdpSH.log

impdp sh/sh@ora10g schemas=SH directory=TEST_DIR dumpfile=SH.dmp

logfile=impdpSH.log

Database Exports/Imports

expdp system/oracle@ora10g full=Y directory=TEST_DIR dumpfile=DB10G.dmp

logfile=expdpDB10G.log

impdp system/oracle@ora10g full=Y directory=TEST_DIR dumpfile=DB10G.dmp

logfile=impdpDB10G.log

回覆:高速的資料匯出/匯入:Oracle Data Pump

下面看看导出整个TEST用户和导出TEST数据库:

C:\dmdbms\bin>expdb userid=test/testtest file=e:\dmdbms\backup\full.dmp log=e:\dmdbms\backup \full.log full=y

login success

即将导出指定的表通过常规路径 ...

. . 正在导出表 "test"."test"."t_num" 0行

. . 正在导出表 "test"."test"."T_PART_COL" 0行

. . 正在导出表 "test"."test"."T_PART_RANGE" 0行

. . 正在导出表 "test"."test"."T_PART_HASH" 0行

. . 正在导出表 "test"."test"."T_RECORD" 1000000行被导出

. . 正在导出表 "test"."test"."t" 4行被导出

4 procedures output...

****************** total ***********************

1 databases output...

2 schemas output...

6 tables output...

22 indexes output...

0 triggers output...

0 views output...

4 stored procedures output...

1 sequences output...

0 roles output...

0 dblinks output...

2 synonyms output...

*********************end**********************

成功终止导出, 没有出现警告。

C:\dmdbms\bin>expdb userid=test/testtest file=e:\dmdbms\backup\test.dmp log=e:\dmdbms\backup \test.log owner=test

login success

即将导出指定的表通过常规路径 ...

. . 正在导出表 "test"."test"."t_num" 0行

. . 正在导出表 "test"."test"."T_PART_COL" 0行

. . 正在导出表 "test"."test"."T_PART_RANGE" 0行

. . 正在导出表 "test"."test"."T_PART_HASH" 0行

. . 正在导出表 "test"."test"."T_RECORD" 1000000行被导出

. . 正在导出表 "test"."test"."t" 4行被导出

4 procedures output...

****************** total ***********************

0 databases output...

1 schemas output...

6 tables output...

22 indexes output...

0 triggers output...

0 views output...

4 stored procedures output...

1 sequences output...

0 roles output...

0 dblinks output...

2 synonyms output...

*********************end**********************

成功终止导出, 没有出现警告。

除了上面介绍的这几个例子,expdb还支持绝大部分exp的参数。可能是与达梦数据库的内存管理机制有关,expdb不支持buffer和recordlength等与客户端分配内存有关的参数。

下面再看看导入工具,和expdb一样,impdb也支持两种模式,一种是Oracle的imp兼容模式,另一种是与老版本兼容的模式,推荐使用功能更强的第一种模式。

C:\dmdbms\bin>impdb userid=test/testtest file=e:\dmdbms\backup\test.dmp log=e:\dmdbms\backup \t.log tables=t ignore=y

impdb version: 0X1000101

login success

表 t 已经存在

. . 正在导入表 test.test.t

4行被导入

Error Code -2352: 无效的同义词名'S_T'

CREATE SYNONYM "S_T" FOR "test"."T"

Error Code -2352: 无效的同义词名'S_TEST' CREATE SYNONYM "S_TEST" FOR "test"."F_TAX"

****************** total ***********************

0 databases input...

1 schemas input...

0 tables input...

0 indexes input...

0 triggers input...

0 views input...

0 stored procedures input...

0 sequences input...

0 roles input...

0 dblinks input...

0 synonyms input...

*********************end**********************成功终止导入, 但出现警告

数据泵导入导出

数据泵导入导出 导入imp/导出exp 权限设置: GRANT CREATE USER,DROP USER,ALTER USER,CREATE ANY VIEW, DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA,CONNECT,RESOURCE,CREATE SESSION TO用户名 数据导出: 1将数据库orcl完全导出,用户名system密码manager导出到D:\expdat.dmp中 exp system/manager@orcl file=d:\expdat.dmp full=y 2将数据库中system用户与sys用户的表导出 exp system/manager@orcl file=d:\expdat.dmp owner=(system,sys) 3将数据库中的表emp、dept导出 exp scott/tiger@orcl file=d:\dump\newsexpdat.dmp tables=(emp,dept) 4将数据库中的表emp中的字段ename以"G"打头的

数据导出 exp scott/tiger@orcl file=d:\expdat.dmp tables=(emp) query=\"where ename like'S%'\" 数据的导入 1将D:\dump\expdat.dmp中的数据导入user数据库中。imp system/manager@orcl file=d:\expdat.dmp imp scott/tiger@orcl full=y file=d:\dump\newexpdat.dmp ignore=y 2将d:\expdat.dmp中的表emp导入 imp test/test@orcl file=d:\db.expdat.dmp tables=(expdat) imp test/test@orcl file=d:\db.expdat.dmp tables=(expdat) 1、exp system/oracle@jlnbd file=d:\temp.dmp tables=(ds.tbdsmf,ds.tbdsaf,ds.tbdsgf)例子(导出数据所在服务器的用户名和密码)

Oracle数据泵的使用

Oracle数据泵的使用 几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data P ump Export and Import)实用程序导出和导入数据。 以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。 例如: ●你可以中断导出/导入作业,然后恢复它们; ●可以重新启动已失败的导出和导入作业; ●可以重映射对象属性以修改对象; ●可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性; ●使用并行技术很容易快速移动大量的数据; ●因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL程序中包含导出/ 导入作业; ●可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统 平台之间移动。 与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y或者impdp help = y快速获取所有数据泵参数及命令的概述 一.数据泵技术的优点 原有的导出和导入技术基于客户机,而数据泵技术基于服务器。默认所有的转储,日志和其他文件都建立在服务器上。 以下是数据泵技术的主要优点: 1.改进了性能 2.重新启动作业的能力 3.并行执行的能力

4.关联运行作业的能力 5.估算空间需求的能力 6.操作的网格方式 7.细粒度数据导入功能 8.重映射能力 二.数据泵导出和导入的用途 1.将数据从开发环境转到测试环境或产品环境 2.在不同的操作系统平台上的oracle数据库直接的传递数据 3.在修改重要表之前进行备份 4.备份数据库 5.把数据库对象从一个表空间移动到另一个表空间 6.在数据库直接移植表空间 7.提取表或其他对象的DDL 注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。但是对于较小的数据库和个别的表空间的导出,数据导出仍然是一个可行的备份工具。 三.数据泵的组成部分 数据泵技术主要有三个以下部件组成 ●DBMS_DATAPUMP程序包。这是驱动数据字段元数据装载和卸载的主要引擎。DBMS_ DATAPUMP程序包包括数据泵技术的核心部分,此核心部分以过程的形式出现,实际驱动数据装载和卸载。 ●DBMS_METADATA。为了提取并修改元数据,Oracle提供了DBMS_METADATA程序 包。 ●命令行客户机。两个实用程序expdp和impdp进行导出和导入工作

数据库第二次作业 能使用 Oracle 的数据泵进行数据的备份和数据恢复。

实验要求:能使用Oracle 的数据泵进行数据的备份和数据恢复。加深对Oracle 基本锁的类型以及封锁机制的理解,掌握监控Oracle 多粒度封锁机制的方法。 实验内容: 一、使用数据泵进行数据逻辑备份和恢复 用expdp 和impdp 使用程序,导出数据是将数据库中的数据导出到一个操作系统文件中(即导出文件中),导入数据是将导出文件中的数据导入到数据库中。expdp 和impdp 都是服务器端的使用程序,只能在oracle 服务器端使用,不能在客户端使用。而exp 和imp 是客户端实用程序,既可以在客户端使用,也可以在服务器端使用。由于expdp 和impdp 的速度优于exp 和imp ,所以oracle 建议使用expdp 和impdp 。 步骤: 1 、创建目录对象并授权 使用expdp 和impdp 实用程序时,其导出文件只能存放在directory( 目录) 对象指定的OS (操作系统)目录中,而不能直接指定OS 目录。 目录对象是数据库中的一个对象,它是使用create directory 语句建立的对象,而不是操作系统中的某个目录,但它指向操作系统中的某个目录。目录对象不是方案对象,它不属于某个用户,而是属于数据库。 a. 先在操作系统中创建两个目录,如e:\dump1 和e:\dump2 。这两个目录都可以保存导出文件和日志文件。 b. SYS 用户创建两个directory 对象,如dirdp1 和dirdp2 ,用于指向这两个操作系统目录,并为运行expdp 和impdp 实用程序数据库用户,如SCOTT 和pf 用户授权使用这两个directory 对象的权限。导出文件、日志文件就保存在dirdp1 和dirdp2 所指的操作系统目录中。最后,可以从dba_directories 数据字典视图中查询所创建的directory 对象。 SQL> create directory dirdp1 as 'e:\dump1'; SQL> create directory dirdp2 as 'e:\dump2'; SQL> grant read, write on directory dirdp1 to SCOTT; SQL> grant read, write on directory dirdp2 to SCOTT; SQL> select * from dba_directories where directory_name like 'DIR%'; 2 、使用expdp 导出数据 使用expdp 的命令行语法是: expdp username/password parameter [, parameter2,...] 参数tablespace 用于指定要导出的表空间列表,语法如下:

oracle使用数据泵导出和导入

使用数据泵导出和导入 几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据。 以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。例如,你可以中断导出/导入作业,然后恢复它们;可以重新启动已失败的导出和导入作业;可以重映射对象属性以修改对象;可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性;使用并行技术很容易快速移动大量的数据;因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL 程序中包含导出/导入作业;可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统平台之间移动。 与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y 或者impdp help = y快速获取所有数据泵参数及命令的概述。 一.数据泵技术的优点 原有的导出和导入技术基于客户机,而数据泵技术基于服务器。默认所有的转储,日志和其他文件都建立在服务器上。以下是数据泵技术的主要优点: 1.改进了性能 2.重新启动作业的能力 3.并行执行的能力 4.关联运行作业的能力 5.估算空间需求的能力 6.操作的网格方式 7.细粒度数据导入功能 8.重映射能力 二.数据泵导出和导入的用途 1.将数据从开发环境转到测试环境或产品环境 2.在不同的操作系统平台上的oracle数据库直接的传递数据 3.在修改重要表之前进行备份 4.备份数据库 5.把数据库对象从一个表空间移动到另一个表空间 6.在数据库直接移植表空间 7.提取表或其他对象的DDL 注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。但是对于较小的数据库和个别的表空间的导出,数据导出仍然是一个可行的备份工具。 三.数据泵的组成部分

数据库数据导入导出方法

数据库数据导入导出方法 1逻辑导入 备份方法: 在主机服务器的DOS提示符下输入: EXP USERID=ZLHIS/HIS BUFFER=4096 FILE=D:\20040101.dmp LOG=D:\20040101.log OWNER=(ZLHIS) ROWS=Y INDEXES =Y CONSTRAINTS =Y GRANTS=Y DIRECT=N 表示只导出zlhis用户的数据对象 Buffer:该值越大,导出的时间略短。 File:表示导出的dmp的文件路径 Log:表示导出的日志文件路径 其余参数可以通过exp help=y查询。 2逻辑导出 在主机服务器的DOS提示符下输入: IMP USERID=ZLHIS/HIS FROMUSER=(ZLHIS) TOUSER=(ZLHIS) BUFFER=30720 FILE=D:\20040101.dmp LOG=D:\20040101.log ROWS=Y INDEXES=Y CONSTRAINTS =Y GRANTS =Y SHOW=N COMMIT =Y IGNORE=Y 表示只导入zlhis用户的数据对象 Buffer:该值越大,导入的时间略短。 File:表示导入的dmp的文件路径 Log:表示导入的日志文件路径 Ignore:Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignore 参数的设置来决定如何操作。若ignore=y,Oracle不执行CREATE TABLE语句,直接将数据插入到表中,如果插入的记录违背了约束条件,比如主键约束,则出错的记录不会插入,但合法的记录会添加到表中。若ignore=n,Oracle不执行CREATE TABLE语句,

Oracle数据泵备份与恢复实例

SQL> conn / as sysdba 已连接。 SQL> create directory mydump as 'd:\oracle\mydump'; SQL> Grant read,write on directory mydump to test; 授权成功。 创建目录d:\oracle\mydump。 C:\Users\David>expdp test/test directory=mydump dumpfile=test.dmp logfile=test.l og tables=t1 Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc tion With the Partitioning, OLAP, Data Mining and Real Application Testing options 启动"TEST"."SYS_EXPORT_TABLE_01": test/******** directory=mydump dumpfile=test .dmp logfile=test.log tables=t1 正在使用BLOCKS 方法进行估计... 处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA 使用BLOCKS 方法的总估计: 64 KB 处理对象类型TABLE_EXPORT/TABLE/TABLE 处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . 导出了"TEST"."T1" 5.507 KB 5 行 已成功加载/卸载了主表"TEST"."SYS_EXPORT_TABLE_01" ****************************************************************************** TEST.SYS_EXPORT_TABLE_01 的转储文件集为: D:\ORACLE\MYDUMP\TEST.DMP 作业"TEST"."SYS_EXPORT_TABLE_01" 已于22:53:09 成功完成 需要将原表删除。 C:\Users\David>impdp test/test directory=mydump dumpfile=test.dmp tables=t1 Import: Release 11.2.0.1.0 - Production on 星期三7月16 23:00:28 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc

实例:使用expdpimpdp导入导出数据库

实例:使用expdp/impdp导入导出数据库 1.创建数据导出权限的目录 (注意oracle用户一定要有此目录的读写权限): SQL> create directory MY_DIR as '/home/dump'; 公司数据库都已经创建了对应的DIR目录,不建议继续创建新的,如有疑问可以联系我: 可以使用以下命令查看数据库中是否存在DIR目录 SQL> col DIRECTORY_PATH for a50; SQL> set linesize 150; SQL> select * from dba_directories; 查看目录及权限 --查看目录及权限 SQL> SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1; 2.给该数据导出用户授予该目录的读写权限 SQL> grant read,write on DIRECTORY MY_DIR to user_name; (其中user_name为用户名称,本示例中user_name为zdyw2) 即: SQL> grant read,write on DIRECTORY MY_DIR to zdyw2; 3.使用expdp导出源数据库 expdp zdyw2/zdyw185test2 schemas=zdyw2 DIRECTORY=dir CONTENT=all DUMPFILE=zdywyf20121109_2.dmp logfile=zdywyf_exp20121109_2.log 其中: 1、zdyw2为导出数据库的用户,zdyw185test2为导出数据库的密码; 2、schemas为导出的用户的schemas,普通请款下为该用户名称; 3、Direcotry,DIR为导出文件的存放目录,此目录需要zdyw2有对应的操作权限, 4、zdywyf20121109_2.dmp为导出的文件名称,

推荐下载-Oracle 数据泵导出和导入 精品

Oracle10g数据导入导出 简介 Oracle 10g引入了DATA PUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATA PUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。DATA PUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。 注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的。 以下是DATA PUMP的几个优点介绍: 1.数据泵(Data Pump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。 2.通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。 3.数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以退出连接,任务会在server 端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改创建DIRECTORY DATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server 端的目录。将要访问数据泵文件的用户必须要拥有该目录的读/写权限。 注意:在开始操作之前要验证外部目录是否存在,并且下达create directory 命令的用户需要拥有create any directory的系统权限。 下面给出一个创建名为TEST_EXPDP的目录并授予hs_user,hs_his用户访问此目录读/写权限。

ORACLE EXPDP命令使用详细

ORACLE EXPDP命令使用详细 1. DIRECTORY 指定转储文件和日志文件所在的目录 DIRECTORY=directory_object Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录 Expdp scott/tiger DIRECTORY= DMP DUMPFILE=a.dump Sql>create or replace directory dmp as 'd:/dmp' expdp zftang/zftang@zftang directory=dmp dumpfile=test.dmp content=metadata_only 2. CONTENT 该选项用于指定要导出的内容.默认值为ALL CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY 时,只导出对象数据,为METADATA_ONLY时,只导出对象定义 expdp zftang/zftang@zftang directory=dmp dumpfile=test.dmp content=metadata_only ----------只导出对象定义 expdp zftang/zftang@zftang directory=dmp dumpfile=test.dmp content=data_only ----------导出出所有数据 3. DUMPFILE DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmp DUMPFILE=[directory_object:]file_name [,….]

Oracle11G数据泵导入导出-changxf-20140926

Oracle11G数据库命令: 1进入SQLPLUS状态 1、打开【附件】-【命令提示符】,以系统管理员的身份运行; 2、输入sqlplus / as sysdba; 3、回车执行语句,进入数据库; 2用户管理 【说明】:在SQLPLUS状态下执行。 2.1创建用户 CREATE USER yonghuming IDENTIFIED BY mima DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp; 说明: 1、“yonghuming”——用户名称; 2、“mima”——用户密码; 2.2授权用户:(一般授权) GRANT connect,dba to yonghuming; 说明: 1、“yonghuming”——用户名称; 2.3授权用户:(数据泵模式) GRANT read,write on directory expdir to yonghuming; 说明: 1、“expdir”——数据泵创建的目录名称; 2、“yonghuming”——用户名称;

2.4查看用户 select username from dba_users; 2.5删除用户 drop user yonghuming(用户名)cascade; 3数据泵操作 3.1创建目录 1、在数据库实例上创建directory(sqlplus模式下执行) CREATE OR REPLACE DIRECTORY 目录名称 AS '数据库服务器上的一个目录' 例如 CREATE OR REPLACE DIRECTORY expdir AS 'd:\'; 红字为要命名的目录名称,as后面为实际路径(windows环境),把需要导入的数据直接放入d盘目录下即可。 2、创建后可以用这个命令来查看已存在的目录 (查看所有) select * from dba_directories; (查看制定目录名所在目录) select * from dba_directories WHERE DIRECTORY_name='expdir'; 3.2创建用户并授权 CREATE USER yonghuming IDENTIFIED BY mima DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp; GRANT read, write ON DIRECTORY expdir TO orcle; 1、红字“expdir”为创建的目录;

用数据泵方法迁移oracle11gR2

Oracle11g 数据库迁移 在Oracle11g中,exp默认不能导出空表。用传统的exp,imp进行数据库迁移会比较麻烦,不过可以使用expdp、impdp进行迁移。现对oracle11g数据库迁移进行介绍: 1.安装好数据库后可以通过对数据库参数进行修改,使其能通过exp导出导出空表 1)、Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g 数据库时,空表不会导出。 2)、设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 查看: SQL>show parameter deferred_segment_creation; 如果在执行建库脚本后进行修改该参数,只对后面新增的表产生作用,对之前建立的空表不起作用。 2.通过使用数据泵的方法进行导入导出

2008 to 2008 把32位windows 2008的Oracle11gR2数据库迁移到另一台32位windows 2008的Oracle11gR2数据库中,可以使用expdp、impdp进行迁移数据。 如:A和B均为windows服务器,数据库用户为ccense,把A服务器的数据迁移到B服务器中 在A服务器操作: 1、 SQL>conn / as sysdba SQL> create directory expdp_dir as 'D:\databack '; SQL> grant read,write on directory expdp_dir to ccense; 注:命令行中黑色粗体可以进行更改,下同 2、在windows2008目录中创建目录D:\databack,如果不创建将出现如下报错: 3、在DOS命令窗口导出: 在A服务器的DOS窗口输入如下命令:

数据库-Oracle数据泵跨版本问题--嘉为科技

Oracle 10g 推出数据泵工具,提高数据迁移的效率,Oracle 10g刚推出的时候,跨版本的问题并不明显,而等到11.2推出之后,数据泵同样存在处理跨版本的问题。 Oracle原始的EXP/IMP导出、导入工具的跨版本特性对于从Oracle8、9版本就接触数据库的人来说,应该是基本常识了——低版本导出,目标版本导入。而对于数据泵来说,很多人并没有意识到这一点,事实上数据泵如果从低版本导出,高版本导入是不需要额外处理的,而大多数的需求不是版本相同,就是版本升级,因此很多人没有注意到数据泵的版本问题。 如果数据泵从高版本导出,低版本导入时,如果不加处理,就会出现下面的错误: [oracle@rhlinux5 ~]$ expdp test/test directory=expdir dumpfile=test.dmp TABLES=tab1 Export: Release 11.2.0.3.0 - Production ON Mon Apr 27 09:50:10 2013 Copyright (c) 1982, 2011, Oracle AND/OR its affiliates. ALL rights reserved. Connected TO: Oracle DATABASE 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production WITH the Partitioning, OLAP, DATA Mining AND REAL Application Testing options Starting "TEST"."SYS_EXPORT_TABLE_01": test/******** dumpfile=test.dmp tables=tab1 Estimate in progress using BLOCKS method... Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Oracle数据的导入导出(数据泵的使用)

Oracle数据泵的使用 使用数据泵导出数据 1、连接Oracle数据库 SQL> conn / as sysdba 已连接。 2、创建一个操作目录 SQL> create directory dump_dir as 'e:\dump'; 注意同时需要使用操作系统命令在硬盘上创建这个物理目录。 目录已创建。 3、使用以下命令创建一个导出文件目录 hr用户操作dump_dir目录的权限, SQL>grant read,write on directory my_dir to scott; 授权成功。 4、使用命令expdp导出数据(可以按照用户模式导出、按照表、按照表空间导出和全库导出) C:\>expdp scott/tiger directory=dump_dir dumpfile=20090517scotttab.dmp tables=dept,emp s= Export: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:49:00 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动"SCOTT"."SYS_EXPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp table dept,emp 正在使用BLOCKS 方法进行估计... 处理对象类型TABLE_EXPORT/TABLE/TABLE_DA TA 使用BLOCKS 方法的总估计: 128 KB 处理对象类型TABLE_EXPORT/TABLE/TABLE 处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX 处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT . . 导出了"SCOTT"."DEPT" 5.656 KB 4 行

Oracle数据泵同步数据方式简要步骤

Oracle数据泵同步数据方式简要步骤1、Oracle数据泵简介 Data Pump 反映了整个导出/导入过程的完全革新。不使用常见的 SQL 命令,而是应用专有 API(direct path api etc) 来以更快得多的速度加载和卸载数据。 以下步骤为从容灾数据库(源端)上,按照用户或者数据表的模式将数据同步到测试数据库(目标端)上的简要步骤。 应用数据泵做数据同步的前提条件是: 1、在源端数据库主机上有足够大的空间存储导出的数据 文件,要求提前对导出的数据文件大小做评估,看预 留多少空间。 2、在目标端主机上也要保证有足够的空间存放导入的数 据文件 3、源端和目标端导入导出所用的数据库用户及密码(明 文) 2、Oracle数据泵数据表同步方式和用户同步方式 2.1.指定数据表同步方式(导出、导入) 以同步客服测试数据库为例: 源端数据库主机:10.220.33.112(存放目录:/dataapp1/expdp) 目标端数据库主机:10.220.64.71(存放目录:/oracle/imp)

导出: 1.滤出需要同步的数据表列表,评估需要同步的表大小,在源端 及目标端主机上留出所需的数据文件的空间。 2.登录(oracle/oracle)源端数据库主机(10.220.3 3.112),执行: $sqlplus / as sysdba 登录数据库,执行如下语句: >create directory dpdata2 as '/dataapp1/expdp '; >grant read, write on directory dpdata2 to kf; 3.按照表名导出的语句如下: $expdp kf/kf@rzkfdb1new tables=co_task,co_task_log,……directory=dpdata2 dumpfile=par%U.dmp parallel=15; 参数说明:tables------要导出的数据表名 Directory------数据文件导出的路径 Dumpfile---------导出的数据文件命名%为通配符,按照导出的进程数递增 Parallel----------数据泵支持多进程导出方式 4.此语句执行后观察在对应的目录是否有*.dmp类别的文件生成导入: 1.数据泵导入操作是在导出操作基础上进行的,在导入操作之前, 需要在目标数据库上建立与源端相同的表空间、schema等元素。 2.登录(oracle)目标端10.220.64.71数据库主机,执行 $Sqlplus / as sysdba 登录数据库,执行如下语句: >create directory dpdata5 as '/oracle/imp'; >grant read, write on directory dpdata2 to kf; 3.把导出的*.dmp文件,传递到导入数据目录/oracle/imp,执行: $impdp kf/kf@kfcsdb directory=dpdata5 dumpfile=par%U.dmp parallel=15 remap_tablespace=TS_KF:KFCSDB_DATA_TBS01,TS_KF_LOG:KFCSDB_DATA_TBS01;

数据泵参数详解

Oracle10g数据泵impdp参数详解 2011-6-30 12:29:05 导导入命令Impdp ?ATTACH 连接到现有作业, 例如ATTACH [=作业名]。 ?CONTENT 指定要加载的数据, 其中有效关键字为: (ALL), DATA_ONLY 和 METADATA_ONLY。 ?DIRECTORY 供转储文件, 日志文件和 sql 文件使用的目录对象。 ?DUMPFILE 要从 (expdat.dmp) 中导出的转储文件的列表,例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。 ?ENCRYPTION_PASSWORD 用于访问加密列数据的口令关键字。此参数对网络导入作业无效。 ?ESTIMATE 计算作业估计值, 其中有效关键字为:(BLOCKS) 和 STATISTICS。 ?EXCLUDE 排除特定的对象类型, 例如EXCLUDE=TABLE:EMP。 ?FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN。 ?FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间。 ?FULL 导出整个数据库 (N)。 ?HELP 显示帮助消息 (N)。 ?INCLUDE 包括特定的对象类型, 例如INCLUDE=TABLE_DATA。 ?JOB_NAME 要创建的导出作业的名称。 ?LOGFILE 日志文件名 (import.log)。

?NETWORK_LINK 链接到源系统的远程数据库的名称。?NOLOGFILE 不写入日志文件 (N)。?PARALLEL 更改当前作业的活动 worker 的数目。 ?PARFILE 指定参数文件。?QUERY 用于导出表的子集的谓词子句。 ?REMAP_DATAFILE 在所有 DDL 语句中重新定义数据文件引用。 ?REMAP_SCHEMA 将一个方案中的对象加载到另一个方案。?REMAP_TABLESPACE 将表空间对象重新映射到另一个表空间。?REUSE_DATAFILES 如果表空间已存在, 则将其初始化 (N)。?SCHEMAS 要导入的方案的列表 (登录方案)。?SKIP_UNUSABLE_INDEXES 跳过设置为无用索引状态的索引。?SQLFILE 将所有的 SQL DDL 写入指定的文件。?STATUS 在默认值 (0) 将显示可用时的新状态的情况下,要监视的频率 (以秒计) 作业状态。?STREAMS_CONFIGURATION 启用流元数据的加载 ?TABLE_EXISTS_ACTION 导入对象已存在时执行的操作。有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。 ?TABLES 标识要导出的表的列表 - 只有一个方案。?TABLESPACES 标识要导出的表空间的列表。?TRANSFORM 要应用于适用对象的元数据转换。 有效转换关键字为: SEGMENT_ATTRIBUTES, STORAGE, OID 和 PCTSPACE。?TRANSPORT_DATAFILES 按可传输模式导入的数据文件的列表。

oracle数据泵应用及常见问题

Oracle数据泵应用及常见问题 1、Oracle数据泵简介 Oracle数据泵(Data Pump)是Oracle10G引进的新技术,在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP。经相关测试,Oracle数据泵方式进行数据导入导出要比以前的IMP/EXP快10倍左右,给大数据量的数据库导入导出提供了方便。 数据泵方式与IMP/EXP的主要区别在于EXP和IMP是客户段工具程序,它们既可以在可以客户端使用,也可以在服务端使用。而EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用;IMP只适用于EXP导出文件,不适用于EXPDP 导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。 2、Oracle数据泵命令及主要参数 a)EXPDP/IMPDP使用前准备 运行命令前必须建立工作目录并赋权限,然后执行命令,具体步骤如下: a1在数据库所在机器上建立工作目录,如:d:\dp。 a2用数据库DBA用户SYS登录数据库,执行语句如下语句: create directory dump_dir as ' d:\dp '; grant read, write on directory dump_dir to db_user;(此处dump_dir 是第上面语句中工作目录名称,非实际目录名称,db_user是数据库用户名)。 a3运行EXPDP命令。 b)EXPDP主要参数 a1DIRECTORY:导出数据的目录(目录是上面的设定的目录dump_dir) a2DUMPFILE:导出的文件名。 a3VERSION:以哪个版本导出数据,如果在不同的版本间导出导入数据,这个参数非常有用,例如将Oracle11G数据导入到Oracle10G(10.2.0.1.0)的数据库中,参数应写为VERSION=10.2.0.1.0,否则无法导入到低版本的数据库中。

数据泵详解及案例

数据泵详解及案例 北京神州泰岳软件股份有限公司2011年5月12日

文档属性 文档变更 文档送呈

目录 1前言 (5) 2准备工作 (6) 3导出常见需求案例 (7) 3.1全库导出 (7) 3.1.1全库导出最简写法 (7) 3.1.2全库并行导出到多个文件 (7) 3.1.3全库导出到多个路径 (7) 3.2按schema导出 (8) 3.3按表导出 (8) 3.3.1导出普通表 (8) 3.3.2导出表分区 (8) 3.4导出表空间 (9) 3.5部分导出(EXCLUDE与INCLUDE) (9) 3.5.1屏蔽部分schema (9) 3.5.2屏蔽部分对象 (9) 3.5.3屏蔽统计信息 (10) 3.5.4INCLUDE对象 (10) 3.6带查询条件导出(QUERY) (10) 3.7估算导出数据大小 (10) 3.8只导出元数据或数据 (11) 3.9其他可选参数 (11) 3.9.1JOB_NAME参数 (11) 3.9.2LOGFILE参数 (11) 3.9.3VERSION参数 (11) 3.9.4STA TUS参数 (12) 3.9.5PARFILE参数 (12) 3.9.6SAMPLE参数 (12)

4导入常见需求案例 (13) 4.1导入到不同SCHEMA中 (13) 4.2导入到不同表空间中 (13) 4.3将元数据以sql形式写入文本文件 (14) 4.4导入时使用新存储属性 (14) 4.5导入表存在时的处理 (14) 5管理维护任务 (15) 6重建数据泵工具 (17)

1 前言 Oracle 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中。 数据泵导出导入(EXPDP和IMPDP)的作用: 1)实现逻辑备份和逻辑恢复。 2)在数据库用户之间移动对象。 3)在数据库之间移动对象 4)实现表空间搬移。 数据泵导出导入与传统导出导入的区别:在10g之前,传统的导出和导入分别使用EXP 工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项;EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只运行在ORACLE服务端,不受连接会话是否断开的影响。数据泵与传统导入导出产生的dump文件互不兼容,即使用EXPDP导出的文件,无法使用IMP导入,而以EXP导出的文件,无法用IMPDP导入。 在实际工作中,值得注意的是源库字符集尽量与目标库字符集相同。 本文档适用于Oracle10.2版本的数据泵。

Windows下Oracle11g数据泵操作步骤详解图文

概念简介 数据泵是Oracle数据库本身提供的“基于服务器的工具”,用于在加载和卸载数据时获得高性能。因为他是基于服务器的,所以所有操作一定要在服务器端进行。 本文不想介绍太多的理论知识和参数,主要介绍数据泵“导入/导出”的基本步骤,其目的就是让读者轻松的掌握数据泵的基本使用方法(可以满足日常工作需求)。 该工具还有很多参数,读者可深入研究,欢迎交流。 导出详细步骤 一、导出数据 1、在数据库服务端,用system用户通过sqlplus命令登录到oracle,如下: 进入sqlplus,如下图所示: 2、在oracle中创建目录,如下: CREATE DIRECTORY DUMP_EXP AS 'e:\data';

注意:e:\data 这个目录必须是磁盘上实际存在的,可以是其他目录名称和路径。 3、导出数据 a、退出sqlplus:quit b、在dos窗口中,执行以下语句: expdp system/neusoft@epmt DIRECTORY=DUMP_EXP DUMPFILE = EPC_LN.DMP LOGFILE = EPC_LN.LOG SCHEMAS = EPC_LN DIRECTORY=DUMP_EXP : DUMP_EXP 我们第二个步骤所创建的目录名(实际指向E:\DATA)SCHEMAS = EPC_LN,如果是多个SCHEMA使用“,”分割。 回车执行如下图所示:

导出成功如下图所示:

导入详细步骤 1、在dos窗口输入导入命令,如下图所示 impdp system/neusoft@epmt DIRECTORY=DUMP_EXP DUMPFILE = EPC_LN.DMP LOGFILE = EPC_LN_IMP.LOG

相关文档
相关文档 最新文档