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

合集下载

Oracle10g数据泵的导入导出

Oracle10g数据泵的导入导出

从故障中恢复
重启动任务的能力使你可以从某些类型的故障中恢复过来。例如, 清单 5 显示了一个用完了转储文件空间的导出任务的日志文件的结尾部分。然而,什么也没有丢失。该任务只是进入了一个空闲状态,当你连接到该任务并查看状态输出时就可以看到这一点。这个状态不显示任务空闲的原因。要确定这是因为转储文件的空间不够了,则你需要查看日志文件。
启动一个导出任务
你可以使用新的 expdp 实用程序来启动一个导出任务。因为参数与老的 exp 实用程序不同,所以你得熟悉这些新的参数。你可以在命令行中指定参数,但在本文中我使用了参数文件。我想导出我的整个模式( schema ),使用了以下参数:
DUMPFILE=gnis%U.dmp
仅导入那些与密歇根州相关的数据行
不导入原始的存储参数
一开始,我可以在我的导入参数文件中写出以下四行:
DUMPFILE=gnis%U.dmp
DIRECTORY=export_dumps
LOGFILE=gnis_import.log
JOB_NAME=gnis_import
DUMPFILE=export_dumps01:gnis%U.dmp,
export_dumps02:gnis%U.dmp
PARALLEL=2
注意,在这个并行导出任务中,目录名作为文件名的一部分来被指定。
检查状态
你可以随时连接到一个运行中的任务来检查其状态。要连接到一个导出任务,必须执行一条 expdp 命令,使用 ATTACH 参数来指定任务名称。 清单 2 显示了到 GNIS_EXPORT 任务的连接。当你连接到一个任务, expdp 显示该任务的相关信息和当前状态,并为你提供一个 EXPORT> 提示符。

oracle使用数据泵导出和导入

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注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。

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

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”为创建的目录;2、蓝字” yonghuming”为需要被授权的用户名;3.3数据库备份导出创建用户并授权后,在dos状态(非sqlplus下)假设原用户名称为test:expdp nc6/orcle@orcl schemas=nc6 dumpfile=nc6.dmp directory=expdir logfile=test.log;3.4数据库导入创建用户并授权后,在dos状态(非sqlplus下)【说明】:1、使用数据泵语句导出的数据库,必须对应使用数据泵语句导入。

数据泵

数据泵
impdp system/orcl123 directory=dump_dir dumpfile=full.dmp full=y
一、EXPDP和IMPDP介绍
1.数据泵导出(Data Dump Export)
数据泵导出的是Oracle Database 10g新增的功能功能,它使用实用工具EXPDP将数据库对象的元数据(对象结构)或数据导出到
1、以sys登录,建目录并将该目录的读写权利授予SCOTT
connect sys/orcl123 as sysdba
create directory dump_dir as 'd:\dump';
grant read,write on directory dump_dir to scott;
impdp scott/tiger directory=dump_dir dumpfile=tab.dmp tables=dept,emp
(2) 将DEPT,EMP表导入到system方案中。
impdp system/orcl123 directory=dump_dir dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:sy库是指将存放在转蓄文件中所有的数据库对象及其相关数据装载到数据库中,导入数据库是使用FULL选项来完成的。
注意:导出转蓄文件需要具有DBA角色或是EXP_FULL_DATABASE角色,导入转蓄文件是需要具有DBA角色或是IMP_FULL_DATABASE角
色。
二、使用EXPDP导出数据
EXPDP是服务器端的工具,该工具只能在Oracle服务器端使用,而不能在Oracle客户端使用。数据泵导出包括导出表、导出方案、导出表空间、导出数据库等4种模式。

董镇军—Oracle 数据泵的运用

董镇军—Oracle 数据泵的运用

Oracle数据泵导出导入数据董镇军北京北科博研科技有限公司oracle数据泵是oracle提供的更新、更快、更灵活的数据导入、导出工具。

Oracle的数据泵导入导出功能比原有的导入导出工具(exp/imp)功能强很多,特别是大数量的数据导入导出时,速度一般的数据导入导出速度提高很多。

1、连接Oracle数据库C:\Users>sqlplus请输入用户名:输入口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - ProductionWith the Partitioning, OLAP and Data Mining options2、创建一个操作目录SQL> create directory dump_dir as 'e:\testDir';目录已创建。

**注意同时需要使用操作系统命令在硬盘上创建这个物理目录。

3、使用以下命令创建一个导出文件目录scott用户操作dump_dir目录的权限,SQL>grant read,write on directory dump_dir to gwpj;授权成功。

4、使用命令expdp导出数据(可以按照用户模式导出、按照表、按照表空间导出和全库导出)C:\>expdp zcxxfw/zcxxfw directory=dump_dir dumpfile=20090517scotttab.dmp ----------------------------------------------------------------------------------------Export: Release 10.2.0.3.0 - Production on 星期一, 14 10月, 2013 19:23:43 Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production With the Partitioning, OLAP and Data Mining options启动"ZCXXFW"."SYS_EXPORT_SCHEMA_01": zcxxfw/******** directory=dump_dir dumpfile=20131014.dmp正在使用 BLOCKS 方法进行估计...处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA使用 BLOCKS 方法的总估计: 32.81 MB处理对象类型 SCHEMA_EXPORT/USER处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS. . 导出了 "ZCXXFW"."XX_APPLOG" 7.151 MB 52402 行. . 导出了 "ZCXXFW"."XX_BOOK" 819.8 KB 3398 行已成功加载/卸载了主表 "ZCXXFW"."SYS_EXPORT_SCHEMA_01"*************************************************************************** ***ZCXXFW.SYS_EXPORT_SCHEMA_01 的转储文件集为:E:\TESTDIR\20131014.DMP作业 "ZCXXFW"."SYS_EXPORT_SCHEMA_01" 已于 19:24:26 成功完成---------------------------------------------------------------------------------------------5、导入命令C:\Users\dzj>impdp zcxxfw/zcxxfw directory=dump_dir dumpfile=20131014.DMP ---------------------------------------------------------------------------------Import: Release 10.2.0.3.0 - Production on 星期一, 14 10月, 2013 19:34:22 Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production With the Partitioning, OLAP and Data Mining options已成功加载/卸载了主表 "ZCXXFW"."SYS_IMPORT_FULL_01"启动"ZCXXFW"."SYS_IMPORT_FULL_01": zcxxfw/******** directory=dump_dir dumpfile=20131014.DMP处理对象类型 SCHEMA_EXPORT/USERORA-31684: 对象类型 USER:"ZCXXFW" 已存在处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TABLE/TABLEORA-39151: 表 "ZCXXFW"."XX_NOTICE" 已存在。

【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法

【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法

【Oracle】EXPDP和IMPDP数据泵进⾏导出导⼊的⽅法⼀、expdp/impdp和exp/imp客户端⼯具1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

服务端⼯具2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。

注意:3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。

4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。

⼆、expdp导出步骤(1)创建导出逻辑⽬录⽤sys管理员登录sqlplus[oracle@shdb02 ~]$ export ORACLE_SID=fp2[oracle@shdb02 ~]$ echo $ORACLE_SIDfp2[oracle@shdb02 ~]$ sqlplusSQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 19 21:53:42 2022Copyright (c) 1982, 2013, Oracle. All rights reserved.Enter user-name: sys as sysdbaEnter password:**********Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing optionsSQL>如果提⽰:Connected to an idle instance. //这个就是错误的信息。

数据泵导入导出详解

数据泵导入导出详解

数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍。

速度的提高源于使用了并行技术来读写导出转储文件。

expdp使用使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。

因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限。

首先得建DIRECTORY:SQL> conn /as sysdbaSQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/u01/backup/';SQL> GRANT read,write ON DIRECTORY dir_dump TO public;1) 导出scott整个schema--默认导出登陆账号的schema$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.log--其他账号登陆, 在参数中指定schemas$ expdp system/oracle@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.logSCHEMAS=SCOTT2) 导出scott下的dept,emp表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=DEPT,EMP3) 导出scott下除emp之外的表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logEXCLUDE=TABLE:"='EMP'"4) 导出scott下的存储过程$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=PROCEDURE5) 导出scott下以'E'开头的表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表6) 带QUERY导出$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=EMP,DEPTQUERY=EMP:"whereempno>=8000"QUERY=DEPT:"wheredeptno>=10 and deptno<=40"注: 处理这样带查询的多表导出, 如果多表之间有外健关联, 可能需要注意查询条件所筛选的数据是否符合这样的外健约束, 比如EMP中有一栏位是deptno, 是关联dept中的主键, 如果"whereempno>=8000"中得出的deptno=50的话, 那么, 你的dept的条件"wheredeptno>=10 and deptno<=40"就不包含deptno=50的数据, 那么在导入的时候就会出现错误.expdp选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:ATTACH=[schema_name.]job_nameschema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:expdpscott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALL.语法如下:CONTENT={ALL | DATA_ONLY |METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dumpCONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录.语法如下:DIRECTORY=directory_objectdirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dump建立目录:CREATE DIRECTORY dump as 'd:dump';查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:DUMPFILE=[directory_object:]file_name[,….]directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象,示例如下:expdpscott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:EXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下:expdpscott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=dumpDUMPFILE=a.dump一般情况下, 当用默认值(blocks)时, 日志中估计的文件大小会比实际expdp出来的文件大, 用statistics时会跟实际大小差不多.6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:EXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:expdpscott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时要排除的对象类型或相关对象.语法如下:EXCLUDE=object_type[:name_clause][,….]object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW在EXPDP的帮助文件中, 可以看到存在EXCLUDE和INCLUDE参数, 这两个参数文档中介绍的命令格式存在问题, 正确用法是:EXCLUDE=OBJECT_TYPE[:name_clause][,...]INCLUDE=OBJECT_TYPE[:name_clause][,...]示例:Expdp<other_parameters> schema=scottexclude=sequence,table:"in('EMP','DEPT')"impdp<other_parameters> schema=scott include = function,package, procedure, table:"='EMP'"有了这些还不够, 由于命令中包含了多个特殊字符, 在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行,如:EXCLUDE=TABLE:"IN('BIGTALE')"8. FILESIZE指定导出文件的最大尺寸,默认为0(表示文件尺寸没有限制).9. FLASHBACK_SCN指定导出特定SCN时刻的表数据.语法如下:FLASHBACK_SCN=scn_valuescn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据.语法如下:FLASHBACK_TIME="TO_TIMESTAMP(time_value)"示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME ="TO_TIMESTAMP('25-08-200414:35:00','DD-MM-YYYY HH24:MI:SS')"11. FULL指定数据库模式导出,默认为N.语法如下:FULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N.当设置为Y时,会显示导出选项的帮助信息,示例如下:expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象.语法如下:INCLUDE=object_type[:name_clause][,… ]示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger1.1.2 expdp选项14. JOB_NAME指定要导出作用的名称,默认为SYS_XXX.语法如下:JOB_NAME=jobname_string示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmpINCLUDE=triggerJOB_NAME=exp_trigger后面想临时停止expdp任务时可以按Ctrl+C组合键,退出当前交互模式,退出之后导出操作不会停止,这不同于Oracle以前的EXP. 以前的EXP,如果退出交互式模式,就会出错终止导出任务. 在Oracle10g中,由于EXPDP是数据库内部定义的任务,已经与客户端无关. 退出交互之后,会进入export的命令行模式,此时支持status等查看命令:Export> status如果想停止改任务,可以发出stop_job命令:Export>stop_job如果有命令行提示: "是否确实要停止此作业([Y]/N):" 或"Are you sure you wish to stop this job ([yes]/no):", 回答应是yes或者no, 回答是YES以后会退出当前的export界面.接下来可以通过命令行再次连接到这个任务:expdp test/test@acf attach=expfull通过start_job命令重新启动导出:Export>start_jobExport> status15. LOGFILE指定导出日志文件文件的名称,默认名称为export.log.语法如下:LOGFILE=[directory_object:]file_namedirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.expdp中使用连接字符串和network_link的区别:expdp属于服务端工具,而exp属于客户端工具,expdp生成的文件默认是存放在服务端的,而exp生成的文件是存放在客户端.expdp username/password@connect_string //对于使用这种格式来说,directory使用源数据库创建的,生成的文件存放在服务端。

数据泵expdp和impdp使用说明

数据泵expdp和impdp使用说明

Expdp和impdpOracle 11g数据库以后的导入导出功能,采用数据泵模式expdp和impdp命令备份和恢复Oracle数据库。

1.首先创建一个用于存放对象的文件,即导入\导出时的文件存放目录,以便能够直接找到导出的文件。

默认也有directory,一般在\admin\orcl\dpdump下。

(此路径必须在电脑中存在,否则oracle会提示创建成功,但实际应用导入\导出时会报错。

)举例:我创建一个在D盘根目录下的oracle文件夹下的目录。

第一步:创建一个目录(也就是文件路径)来装导出的dmp文件方法:操作系统—开始—运行输入“cmd”进入dos界面输入“sqlplus system/zl@orcl”(根据自己的数据库情况输入) 。

按回车如下图:接着,创建DIRECTORYcreate directory expdp_dir as 'D:\oracle\ ';这里要注意,路径D:\oracle\一定要是系统已经存在的了,如果该路径不存在,下边的导出将会提示正确创建了路径的显示如下:第二步:授权(授予要导入数据的用户对该目录(路径)进行读和写的权限),还是在连接数据库的状态下输入:Grant read,write on directory dir_dp to htdss;如下图:就完成了,关闭窗口,重新进入dos界面就可以进行备份了;第三步:执行导出expdp htdss/htdss@orcl directory=expdp_dir dumpfile =xxx.dmp schemas=htdss logfile=xxxx.log;连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1With the Partitioning, OLAP and Data Mining options启动"LTTFM"."SYS_EXPORT_SCHEMA_01": lttfm/********@fgisdb schory=expdp_dir dumpfile =expdp_test1.dmp logfile=expdp_test1.log; */备注:1、directory=expdp_dir必须放在前面,如果将其放置最后,会提示ORA-39002: 操作无效ORA-39070: 无法打开日志文件。

oracle数据泵导入导出命令

oracle数据泵导入导出命令

oracle数据泵导⼊导出命令1.在PL/SQL的界⾯,找到Directories⽂件夹,找到⽬录⽂件的路径2.通过SSH进⼊服务器找到相应的路径 cd /u01/oracle/dpdir输⼊指令df -h 查看资源使⽤量su – oracle 进⼊系统的oracle⽤户3.导出数据库⽂件expdp userid=hbcxjm/oracle directory=dpdir dumpfile=hbcxjm.dmp job_name=hbcxjm logfile=hbcxjmlog parallel=2 schemas=hbcxjmPS:其中userid是要导出的⽬标库的⽤户名密码,directory是建⽴的路径名称,dumpfile是⽬标⽂件名称4.新建数据库⽤户PS:注意表空间问题,确保表空间充⾜,否则导⼊会报错5.导⼊数据impdp hbcxjm/oracle directory=dpdir dumpfile=hbcxjm.dmp REMAP_SCHEMA=hbcxjm:hbcxjmREMAP_TABLESPACE=TP_HBCXJM:TP_HBCXJMtable_exists_action = truncate logfile=hbcxjmimp.log SCHEMAS=hbcxjmPS:REMAP_SCHEMA:导出数据⽤户的名称和导⼊数据⽤户的名称REMAP_TABLESPACE:导出数据⽤户的表空间和导⼊数据⽤户的表空间table_exists_action:如果表中有数据的处理⽅式,此处采⽤truncate处理logfile:⽇志⽂件名称例⼦:⽂件导出:expdp userid=hbcxjm/oracle directory=dpdir dumpfile=hbcxjm.dmp job_name=hbcxjm logfile=hbcxjmlog parallel=2 schemas=hbcxjmexpdp userid=drm_hbcxjm/oracle directory=dpdir dumpfile=drm_hbcxjm.dmp job_name=drm_hbcxjm logfile=drm_hbcxjmlog parallel=2 schemas=drm_hbcxjmexpdp userid=hbcxjm_report/oracle directory=dpdir dumpfile=hbcxjm_report.dmp job_name=hbcxjm_report logfile=hbcxjm_reportlog parallel=2 schemas=hbcxjm_reportexpdp userid=hbcxjm_siif/oracle directory=dpdir dumpfile=hbcxjm_siif.dmp job_name=hbcxjm_siif logfile=hbcxjm_siiflog parallel=2 schemas=hbcxjm_siifexpdp userid=hxpt3dd/oracle directory=dpdir dumpfile=hxpt3dd.dmp job_name=hxpt3dd logfile=hxpt3ddlog parallel=2 schemas=hxpt3dd expdp userid=drm_hxpt3dd/oracle directory=dpdir dumpfile=drm_hxpt3dd.dmp job_name=drm_hxpt3dd logfile=drm_hxpt3ddlog parallel=2 schemas=drm_hxpt3dd⽂件导⼊:impdp hbcxjm/oracle directory=dpdir dumpfile=hbcxjm.dmp REMAP_SCHEMA=hbcxjm:hbcxjmREMAP_TABLESPACE=TP_HBCXJM:TP_HBCXJM table_exists_action = truncate logfile=hbcxjmimp.log SCHEMAS=hbcxjmimpdp drm_hbcxjm/oracle directory=dpdir dumpfile=drm_hbcxjm.dmp REMAP_SCHEMA=drm_hbcxjm:drm_hbcxjmREMAP_TABLESPACE=TP_HBCXJM_DRM:TP_HBCXJM_DRM table_exists_action = truncate logfile=drm_hbcxjmimp.logSCHEMAS=drm_hbcxjmimpdp hbcxjm_report/oracle directory=dpdir dumpfile=hbcxjm_report.dmp REMAP_SCHEMA=hbcxjm_report:hbcxjm_reportREMAP_TABLESPACE=TP_HBCXJM_DRM:TP_HBCXJM_DRM table_exists_action = truncate logfile=hbcxjm_reportimp.logSCHEMAS=hbcxjm_reportimpdp hbcxjm_siif/oracle directory=dpdir dumpfile=hbcxjm_siif.dmp REMAP_SCHEMA=hbcxjm_siif:hbcxjm_siifREMAP_TABLESPACE=TP_HBCXJM:TP_HBCXJM table_exists_action = truncate logfile=hbcxjm_siifimp.log SCHEMAS=hbcxjm_siif impdp hxpt3dd/oracle directory=dpdir dumpfile=hxpt3dd.dmp REMAP_SCHEMA=hxpt3dd:hxpt3ddREMAP_TABLESPACE=TP_HBCXJM_YBDD:TP_HBCXJM_YBDD table_exists_action = truncate logfile=hxpt3ddimp.log SCHEMAS=hxpt3dd impdp drm_hxpt3dd/oracle directory=dpdir dumpfile=drm_hxpt3dd.dmp REMAP_SCHEMA=drm_hxpt3dd:drm_hxpt3ddREMAP_TABLESPACE=TP_HBCXJM_YBDD:TP_HBCXJM_YBDD table_exists_action = truncate logfile=drm_hxpt3ddimp.logSCHEMAS=drm_hxpt3dd。

数据泵IMPDP 导入工具的使用

数据泵IMPDP 导入工具的使用

数据泵IMPDP 导入工具的使用收藏--=================================--数据泵IMPDP 导入工具的使用--=================================数据的导入导出时数据库经常处理的作业之一,Oracle 提供了IMP和IMPDP以及SQL*Loader等工具来完成数据的导入工作,其中IMP服务于早期的9i之前的版本,在10g及后续版本,Oracle 提供了数据泵高速导入工具,本文主要介绍IMPDP的使用方法,关于高速导出工具请参照:数据泵EXPDP 导出工具的使用。

SQL*Loader请参照:SQL*Loader使用方法。

一、数据泵的体系结构数据泵的体系结构在数据泵EXPDP 导出工具的使用已列出,再此不再赘述。

二、IMPDP支持的接口及导入模式导入接口使用命令行带参数的使用命令行带参数文件使用命令行交互使用database console(GUI)几种常用的导入模式导入表导入方案导入表空间导入数据库传输表空间模式三、演示如何导入1.关于查看impdp的帮助,使用以下命令[oracle@oradb ~]$ impdp -? 或[oracle@oradb ~]$ impdp -help 前者提供帮助信息并开启命令行交互模式2. 导入表--将表dept,emp导入到scott方案中impdp scott/tiger directory=dump_scott dumpfile=tab.dmp tables=dept,emp--将表dept和emp从scott方案导入到system方案中,对于方案的转移,必须使用remap_shcema参数impdp system/manage directory=dump_scott dumpfile=tab.dmptables=scott.dept,scott.emp remap_schema=scott:system3.导入方案--将dump_scott目录下的schema.dmp导入到scott方案中impdp scott/tiger directory=dump_scott dumpfile=schema.dmp schemas=scott--将scott方案中的所有对象转移到system方案中impdp system/redhat directory=dump_scott dumpfile=schema.dmp schemas=scott remap_schema=scott:system4.导入表空间impdp system/redhat directory=dump_scott dumpfile=tablespace.dmp tablespaces=user015.导入数据库impdp system/redhat directory=dump_scott dumpfile=full.dmp full=y6.将数据对象原样导回(演示从Windows客户端来实现,数据库基于Linux系统)从Windows客户端来导出scott.emp表,导出后删除该表,再原样导回C:\>expdp scott/tiger@list2 directory=dump_scott dumpfile=emp.dmp tables=emp C:\>sqlplus scott/tiger@list2SQL*Plus: Release 10.2.0.1.0 - Production on星期一9月20 20:50:35 2010Copyright (c) 1982, 2005, Oracle.All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining optionsSQL>drop table emp;Table dropped.SQL>commit;Commit complete.SQL>select count(1)from emp;select count(1)from emp*ERROR at line 1:ORA-00942:table or view does not existSQL> host impdp scott/tiger@list2 directory=dump_scott dumpfile=emp.dmpSQL>select count(1)from emp;COUNT(1)----------147.将导出的对象使用remap_schema参数转移到不同的方案a.将dept从scott用户导入到system用户下expdp scott/tiger directory=dump_scott dumpfile=dept.dmp tables=dept方法一:impdp system/redhat tables=scott.dept directory=dump_scottdumpfile=dept.dmp remap_schema=scott:system方法二:sql>grant imp_full_database to scott;impdp scott/tiger directory=dump_scott dumpfile=dept.dmp tables=dept remap_schema=scott:system table_exists_action=replaceb.将scott方案下的所有对象导入到system方案下expdp scott/tiger directory=dump_scott dumpfile=allobj.dmp schemas=scott impdp scott/tiger directory=dump_scott dumpfile=allobj.dmpremap_schema=scott:system table_exists_action=replace8.使用remap_datafile参数转移到不同的数据文件(用于不同平台之间存在不同命名方式时)下面的示例首先创建了一个参数文件,参数文件名为payroll.pardirectory=pump_scottfull=ydumpfile=datafile.dmpremap_datafile='db$:[hrdata.payroll]tbs2.f':'/db/hrdata/payroll/tbs2.f' --指明重新映射数据文件impdp scott/tiger PARFILE=payroll.par9.使用remap_tablespace参数转移到不同的表空间impdp scott/scott remap_tablespace=users:tbs1 directory=dpump_scott dumpfile=users.dmp10.并行导入:expdp e/e directory=dump_e dumpfile=a_%u.dmp schemas=e parallel=3impdp e/e directory=dump_e dumpfile=a_%u.dmp schemas=e parallel=3table_exists_action=replace四、数据泵impdp参数:1.REMAP_DATAFILE该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间搬移表空间时需要该选项.REMAP_DATAFILE=source_datafie:target_datafile2.REMAP_SCHEMA该选项用于将源方案的所有对象装载到目标方案中.REMAP_SCHEMA=source_schema:target_schema3.REMAP_TABLESPACE将源表空间的所有对象导入到目标表空间中REMAP_TABLESPACE=source_tablespace:target:tablespace4.REUSE_DATAFILES该选项指定建立表空间时是否覆盖已存在的数据文件.默认为NREUSE_DATAFIELS={Y | N}5.SKIP_UNUSABLE_INDEXES指定导入是是否跳过不可使用的索引,默认为N6,sqlfile 参数允许创建DDL 脚本文件impdp scott/tiger directory=dump_scott dumpfile=a1.dmp sqlfile=c.sql 默认放在directory下,因此不要指定绝对路径7.STREAMS_CONFIGURATION指定是否导入流元数据(Stream Matadata),默认值为Y.8.TABLE_EXISTS_ACTION该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIPTABBLE_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.dmptransform=segment_attributes:n:table10.TRANSPORT_DATAFILES该选项用于指定搬移空间时要被导入到目标数据库的数据文件TRANSPORT_DATAFILE=datafile_nameDatafile_name用于指定被复制到目标数据库的数据文件Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmpTRANSPORT_DATAFILES=’/user01/data/tbs1.f’五、影响数据泵性能的相关参数对下列参数建议如下设置disk_asynch_io=truedb_block_checking=falsedb_block_checksum=false对下列参数建议设置更高的值来提高并发 processessessionsparallel_max_servers对下列参数应尽可能的调大空间大小shared_pool_size undo_tablespace。

Oracle导入导出(imp,exp,impdp,expdp)详解

Oracle导入导出(imp,exp,impdp,expdp)详解
BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表
FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表
SHOW 只列出文件内容 (N) TABLES 表名列表
IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度
RESUMABLE_TIMEOUT RESUMABLE 的等待时间
COMPILE 编译过程, 程序包和函数 (Y)
STREAMS_CONFIGURATION 导入流的一般元数据 (Y)
STREAMS_INSTANTIATION 导入流实例化元数据 (N)
ROWS 导出数据行 (Y) PARFILE 参数文件名
CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)
OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N)
FEEDBACK 每 x 行显示进度 (0)
USERID 必须是命令行中的第一个参数。
关键字 说明 (默认值) 关键字 说明 (默认值)
--------------------------------------------------------------------------
USERID 用户名/口令 FULL 导入整个文件 (N)
GRANTS 导入权限 (Y) INCTYPE 增量导入类型
INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)
ROWS 导入数据行 (Y) PARFILE 参数文件名
LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)
BUFFER 数据缓冲区大小 OWNER 所有者用户名列表

Oracle数据泵常用命令

Oracle数据泵常用命令

Oracle数据泵常用命令
1前言
expdp和impdp是oracle数据库之间移动数据的工具。

expdp 和impdp只能在数据库服务端使用,不能在客户端使用。

本文简单总结了expdp和impdp常用的命令,详细信息参考oracle官方文档Utilities。

2directory相关SQL语句
3EXPDP导出
3.1说明
1、导数的数据库用户需要拥有对directory_object的读写权限。

2、操作系统中需要已经存在directory_object指定的路径。

3、oracle用户拥有对directory_object指定路径的读写权限。

4、system用户导出用户,会将创建用户和授予系统权限的元数据也
导出,普通用户不能导出这些元数据。

3.2expdp命令示例
3.3以导出一个用户为例
3.4expdp参数说明
4IMPDP导入
4.1说明
1、expdp导出的文件不能使用imp导入,只能通过impdp导入数据库。

2、导入时遇到已存在的对象,默认会跳过这个对象,继续导入其他对象。

3、导入时应确认dmp文件和目标数据库的tablespace、schema是否对应。

4、导入dmp文件时,应确定dmp文件导出时的命令,以便顺利导入数据。

4.2impdp命令示例
4.3以导入dmp文件中的所有数据为例
4.4impdp参数说明。

Oracle 数据泵详解

Oracle 数据泵详解

Oracle 数据泵详解一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移.二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

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

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

数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.三、Expdp参数EXPDP命令行选项,可通过expdp help=y查看:E:\emp>expdp help=yExport: Release 10.2.0.1.0- Production on 星期日, 03 5月, 2009 17:54:49Copyright (c) 2003, 2005, Oracle. All rights reserved.数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。

该实用程序可以使用以下命令进行调用:示例: expdp scott/tigerDIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。

具体方法是: 在 'expdp' 命令后输入各种参数。

要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tigerDUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令行中的第一个参数。

Oracle 数据泵导出和导入

Oracle 数据泵导出和导入

简介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 端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改创建DIRECTORYDATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server 端的目录。

将要访问数据泵文件的用户必须要拥有该目录的读/写权限。

注意:在开始操作之前要验证外部目录是否存在,并且下达create directory 命令的用户需要拥有create any directory的系统权限。

数据泵导入导出步骤(从sqlplus登录到导入过程)

数据泵导入导出步骤(从sqlplus登录到导入过程)

1、首先建立目录:create directory 目录名称as '数据库服务器上的一个目录',如:create directory 别名as 'd:\服务器目录名';将导入或导出的文件放在这个目录下2、导出及导入以SID=orcl,导出dmp的账号为test,导入dmp的账号为test为例。

若将数据从sfz中导出:expdp test/test@orcl directory=别名dumpfile=导出文件名导入到test中:impdp test/test@orcl directory=别名dumpfile=导出文件名.dmp导入到处用户名不一样时,做个映射,一样时,不用写remap_schema=test:test111g版本导出,导入到10g具体如下:导出脚本(11G):expdp test109/test109@orcl directory=expdp dumpfile=test10930bak.dmp logfile=mydb.log filesize=200m full=y version=10.2.0.1.0version号一定要哈导入脚本(10G):impdp shl1017/shl1017 directory=expdpdumpfile=TEST10930BAK.dmp version=10.2.0.1.0 REMAP_SCHEMA=test109:shl1017各参数对应的数据你根据自己的修改下2015-11-24下午数据泵方式导入zh.dmp过程:1、建立目录(expnc_dir为别名)create directory expnc_dir as 'E:\ncdatabak';2、导入数据impdp system/oracle@orcl directory=expnc_dir dumpfile=zh.dmp;3、根据错误日志文件(E:\ncdatabak目录下),建立用户、临时空间、用户空间a、删除用户及空间(再次导入的时候使用)drop user zh cascade;DROP TABLESPACE EAS_D_ZH_STANDARD INCLUDING CONTENTS AND DATAFILES;DROP TABLESPACE temp_zh INCLUDING CONTENTS AND DATAFILES;b、建立空间create tablespace EAS_D_ZH_STANDARDlogging datafile 'D:\app\Administrator\oradata\orcl\EAS_D_ZH_STANDARD.dbf'size 5gautoextend onnext 100m maxsize UNLIMITEDextent management local;c、建临时空间create temporary tablespace temp_zhtempfile 'D:\app\Administrator\oradata\orcl\temp_zh.dbf'size 100mautoextend onnext 32m maxsize UNLIMITEDextent management local;d、修改自动增长的太小alter database datafile 'D:\app\Administrator\oradata\orcl\EAS_D_ZH_STANDARD.dbf' autoextend on next 100m maxsize UNLIMITED;e、建用户create user zh identified by zhdefault tablespace EAS_D_ZH_STANDARDtemporary tablespace temp_zh;f、授权grant dba,connect,resource to zhg、导入数据impdpzh/zh directory=expnc_dir dumpfile=ZH.dmpremap_schema=zh:zhremap_tablespace=EAS_D_ZH_STANDARD:EAS_D_ZH_STANDARD(注意不带;)或impdp zh/zh@orcl directory=expnc_dir dumpfile=zh.dmp;注意:a、temp表空间不能自动扩展,所以建了一个有自动扩展的空间temp_zhb、出错的时候需要删除用户、表空间、临时空间再重新建立、再导入Oracle命令(一):Oracle登录命令()1、运行SQLPLUS工具C:\Users\wd-pc>sqlplus2、直接进入SQLPLUS命令提示符C:\Users\wd-pc>sqlplus /nolog3、以OS身份连接C:\Users\wd-pc>sqlplus / as sysdba 或SQL>connect / as sysdba4、普通用户登录C:\Users\wd-pc>sqlplus scott/123456 或SQL>connect scott/123456 或SQL>connect scott/123456@servername5、以管理员登录C:\Users\wd-pc>sqlplus sys/123456 as sysdba或SQL>connect sys/123456 as sysdba6、切换用户SQL>conn hr/123456注:conn同connect7、退出exitOracle数据导入导出imp/exp sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类sp2-0734:未知的命令开头'imp 忽略了剩余行默认分类应该是在cmd的dos命令提示符下执行,而不是在sqlplus里面。

oracle数据泵介绍及使用

oracle数据泵介绍及使用

oracle数据泵介绍及使⽤数据泵可以⾼效备份,复制,保护和传输⼤量得数据和元数据。

可以通过下列⽅式使⽤数据泵:1.对整个数据库或数据⾃⼰进⾏实时逻辑备份;2.为测试或开发,复制整个数据库或数据⼦集;3.快速⽣成⽤于重建对象的DDL代码;4.通过旧版本导出数据,然后像新版本导⼊数据的⽅式,升级数据库。

1.⾼效处理⼤量数据的功能,可以⾼效导出和导⼊⼤量数据。

2.交互式命令⾏使⽤程序,使⽤它可以先断开连接,然后恢复连接活动的数据泵作业。

3.在不创建数据泵⽂件的情况下,从远程数据库导出⼤量数据,并将这些数据直接导⼊本地数据库。

4.通过导⼊和导出⼯作,在运⾏时更改⽅案,表空间,数据⽂件和存储位置;5.精细过滤对象和数据;6.对⽬录对象应⽤受控安全模式(通过数据库);7.⾼级功能,如压缩和加密。

1.expdp (数据泵导出实⽤程序);2.impdp (数据泵导⼊实⽤程序);3.DMBS_DATAPUMP软件包(数据泵API);4.DBMS_METADATA软件包(数据泵元数据API);在导出和导⼊数据和元数据时,expdp 和 impdp 实⽤程序会使⽤内置的DBMS_DATAPUMP DBMS_METADATA 软件包。

DBMS_DATAPUMP软件包可以在不同的数据库环境之间移动整个数据库或数据⼦集。

DBMS_MATEDATA软件包可以导出和导⼊数据库对象的信息。

当启动数据泵导出和导⼊作业时,数据库服务器上就会初始化⼀个OS主进程。

这个主进程的名称格式为 ora_dmNN_。

在Linux和Unix系统中,可以使⽤ps命令查看进程。

ps -ef |grep ora_dm因为数据泵使⽤其内部的PL/SQL代码执⾏操作,所以需要使⽤共享池中的⼀些内存加载PL/SQL软件。

如果共享池中空间不⾜,系统会提⽰ORA-04031:unable to allocate bytes of shared memory…错误提⽰,并中断数据泵。

Navicat下Oracle数据泵的使用简单例子

Navicat下Oracle数据泵的使用简单例子

Navicat下Oracle数据泵的使用简单例子如何使用Navicat等数据库开发工具进行高效开发将是未来工作的重点。

Navicat一来美观而来够操作够傻瓜,使用得当其强大功能与PL SQL不相上下。

今天学习就是如何在Navicat中使用数据泵进行数据导入导出。

数据泵使用前事项:想使用数据泵必须以sys或system等dba角色进行数据导出:1、导出前必须先创建表目录,点击“其他”--“目录”可查看当前数据库所有目录。

具体如下图:点击“新建目录”,进行目录新建,目录路径必须真实存在。

路径填写完毕后点击保存即可。

具体如下图:随后点击“数据泵”--“数据泵导出”进入数据泵导出界面;接下来选择模式,按照模式(FULL--全部导出、TABLESPACE--表空间、SCHEMA--用户节点下对象集合、TABLE--表)可按相关指标导出数据;本文的实现是以用户为单位,在导出数据下方的空白框中选择需要导出的用户对象,本例需导出的用户为ARREARS;接下来在转储文件中,选择目录及保存的文件名,然后点击生成SQL。

SQL预览中可以看到具体生成的SQL,确认SQL没啥问题后,点击运行(由于数据库水平有限,我是看不太出来是否有错误....惭愧...)点击运行后,可看到如下运行过程:看到成功完成后表示数据导出已经完成,在对应目录中可以看到导出的DMP文件:至此数据导出部分完成。

数据导入:数据导出后下来可以进行数据导入了,话不多说继续:点击“数据泵”--“数据泵导入”随后选择模式为“SCHEMA”(用户节点集合)再选择“表存在的动作”,表示的是若导入的用户下存在表名相同的表数据泵选择的操作,一共有“SKIP”--跳过、“APPEND”--追加、"TRUNCATE"--清空表、“REPLACE”--替换四种操作,接下来在模式的输入框中输入需要将数据导入的用户节点名,此例为 ARREARS,接下来再选择转储文件的目录和文件名(比较奇怪的是,前面导出的ARREARS.DMP文件名在可选列表中变成了ARREARS.DMP.DMP,不过好在可以修改,直接修改为实际文件名即可)点击生成SQL后,检查SQL是否有异常:点击运行后,看见xxxx时间运行成功说明导入完成了!检查一下ARREARS用户下的表,都已经导进来了。

oracle数据泵(expdpimpdp)的导入导出语句

oracle数据泵(expdpimpdp)的导入导出语句
五、还原数据 1)导到指定用户下 create directory temp as 'D:/dp_temp'; grant read,write on directory temp to user; impdp user/password@x.x.x.x/orcl DUMPFILE=datas.dmp DIRECTORY=temp SCHEMAS=user ;
oracle数据泵( expdpimpdp)的导入导出语句
一、查看管理理员目录(因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * from dba_directories;
二、创建dmp导出目录,最好以system等管理员创建。(如果发现磁盘上temp目录未新建成功,手动新建目录即可) create directory temp as 'D:/dp_temp';
缺点:必须在oracle服务端进行
三、给user用户赋予在指定目录的操作权限,最好以system等管理员赋予。 grant read,write on directory temp to user;
四、导出数据 1)按用户导 expdp user/passwoቤተ መጻሕፍቲ ባይዱd@x.x.x.x/orcl schemas=user dumpfile=datas.dmp DIRECTORY=temp;

impdp详解

impdp详解
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
4.REUSE_DATAFILES
16. NETWORK_LINK
指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.
17. NOLOGFILE
该选项用于指定禁止生成导出日志文件,默认值为N.
18. PARALLEL
指定执行导出操作的并行进程个数,默认值为1
19. PARFILE
指定导出参数文件的名称
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
调用EXPDP
使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.
CREATE DIRECTORY dump dir AS ‘D:DUMP’;

Oracle数据泵方式导入导出

Oracle数据泵方式导入导出

一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Pump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移.二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:1) EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

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

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

数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.【pump特点】与原有的export和import使用程序相比,oracle的data pump工具的功能特点如下:1) 在导出或者导入作业中,能够控制用于此作业的并行线程的数量。

2) 支持在网络上进行导出导入,而不需要是使用转储文件集。

3) 如果作业失败或者停止,能够重新启动一个data pump作业。

并且能够挂起恢复导出导入作业。

4) 通过一个客户端程序能够连接或者脱离一个运行的作业。

5) 空间估算能力,而不需要实际执行导出。

6) 可以指定导出导入对象的数据库版本。

允许对导出导入对象进行版本控制,以便与低版本数据库兼容。

三、导入导出操作1.导出数据1.1在数据库服务端,用system用户通过sqlplus命令登录到oracle,sqlplus logis/logis@logis_local;1.2在oracle中创建目录,如下:CREATE DIRECTORY LOGIS_EXP_DIR AS 'd:\data';注意:d:\data 这个目录必须是磁盘上实际存在的,可以是其他目录名称和路径。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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,emps=Export: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:49:00Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options启动"SCOTT"."SYS_EXPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp tabledept,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 行. . 导出了"SCOTT"."EMP" 7.820 KB 14 行已成功加载/卸载了主表"SCOTT"."SYS_EXPORT_TABLE_01"****************************************************************************** SCOTT.SYS_EXPORT_TABLE_01 的转储文件集为:E:\DUMP\20080601.DMP作业"SCOTT"."SYS_EXPORT_TABLE_01" 已于15:49:22 成功完成C:\>******************************************************************************* *******************************常见错误如果没有在指定的硬盘上建立物理文件,则会出现如下错误提示信息:解决的方法是现在硬盘上创建指定的物理文件目录,然后在执行expdp程序。

Oracle 中的create directory dump_dir as 'e:\dump';命令只是在逻辑上创建了一个Oracle能够识别的目录和硬盘上的一个物理目录之间的联系,并不能真正的在硬盘上创建物理目录。

******************************************************************************* *******************************C:\>expdp scott/tiger directory=dump_dir dumpfile=20080601.dmp tables=dept,empExport: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:46:19Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsORA-39002: 操作无效ORA-39070: 无法打开日志文件。

ORA-29283: 文件操作无效ORA-06512: 在"SYS.UTL_FILE", line 475ORA-29283: 文件操作无效导入命令:impdp scott/tiger directory=dump_dir dumpfile=20080601.dmp tables=dept,empC:\>impdp scott/tiger directory=my_dir dumpfile=20090517scotttab.dmp tables=employee Import: Release 10.2.0.1.0 - Production on 星期三, 18 6月, 2008 15:56:11Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options已成功加载/卸载了主表"SCOTT"."SYS_IMPORT_TABLE_01"启动"SCOTT"."SYS_IMPORT_TABLE_01": scott/******** directory=dump_dir dumpfile=20080601.dmp tabledept,emp处理对象类型TABLE_EXPORT/TABLE/TABLE处理对象类型TABLE_EXPORT/TABLE/TABLE_DA TA. . 导入了"SCOTT"."DEPT" 5.656 KB 4 行. . 导入了"SCOTT"."EMP" 7.820 KB 14 行处理对象类型TABLE_EXPORT/TABLE/INDEX/INDEX处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT作业"SCOTT"."SYS_IMPORT_TABLE_01" 已于15:56:20 成功完成C:\>查看结果,发现删除的数据表又已经找回来了:SQL> set linesize 150;SQL> select * from scott.emp;EMPNO ENAME JOB MGR HIREDA TE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ----------7369 SMITH CLERK 7902 17-12月-80 800 207499 ALLEN SALESMAN 7698 20-2月-81 1600 300 307521 W ARD SALESMAN 7698 22-2月-81 1250 500 307566 JONES MANAGER 7839 02-4月-81 2975 207654 MARTIN SALESMAN 7698 28-9月-81 1250 1400 307698 BLAKE MANAGER 7839 01-5月-81 2850 307782 CLARK MANAGER 7839 09-6月-81 2450 107788 SCOTT ANALYST 7566 19-4月-87 3000 207839 KING PRESIDENT 17-11月-81 50007844 TURNER SALESMAN 7698 08-9月-81 1500 0 307876 ADAMS CLERK 7788 23-5月-87 1100 20EMPNO ENAME JOB MGR HIREDA TE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ----------7900 JAMES CLERK 7698 03-12月-81 950 307902 FORD ANALYST 7566 03-12月-81 3000 207934 MILLER CLERK 7782 23-1月-82 1300 10已选择14行。

SQL> select * from scott.dept;DEPTNO DNAME LOC---------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERA TIONS BOSTONSQL>******************************************************************************* ************************************************************对Oracle10g中的数据泵导出数据的分析******************************************************************************* ************************************************************Oracle10g中的数据泵只能用于服务器端,而不能用于客户端,它可以导出表、方案、表空间和整个数据库。

相关文档
最新文档