数据泵详解及案例
- 格式:pdf
- 大小:225.26 KB
- 文档页数:17
navicat 数据泵的用法摘要:I.引言A.Navicat 简介B.数据泵的作用II.Navicat 数据泵的用法A.数据泵导入1.连接到数据库2.打开数据泵3.设置常规选项4.预览和运行SQL语句B.数据泵导出1.连接到数据库2.打开数据泵3.设置常规选项4.预览和运行SQL语句III.数据泵的高级用法A.数据过滤和转换1.数据过滤2.数据转换B.数据泵的备份和还原1.备份数据库2.还原数据库IV.结论A.总结数据泵的用法B.展望Navicat的发展正文:avicat是一款功能强大的数据库管理工具,可以用于连接和管理多种类型的数据库。
在数据库管理和操作中,数据泵是一个非常重要的功能。
它可以实现数据的导入和导出,方便数据的备份和迁移。
本文将详细介绍Navicat数据泵的用法。
首先,我们来了解一下Navicat数据泵的导入用法。
数据泵导入需要以下几个步骤:连接到数据库,打开数据泵,设置常规选项,预览和运行SQL语句。
在连接到数据库时,需要输入数据库的连接信息,包括服务器名称、端口号、用户名和密码。
打开数据泵后,我们可以设置工作名称、模式、内容、导入数据等选项。
在预览和运行SQL语句时,可以查看导入数据的SQL语句是否正确,以及数据泵导入过程中可能出现的错误信息。
接下来,我们来介绍一下Navicat数据泵的导出用法。
数据泵导出同样需要以下几个步骤:连接到数据库,打开数据泵,设置常规选项,预览和运行SQL语句。
在连接到数据库时,需要输入数据库的连接信息,包括服务器名称、端口号、用户名和密码。
打开数据泵后,我们可以设置工作名称、模式、内容、导出数据等选项。
在预览和运行SQL语句时,可以查看导出数据的SQL 语句是否正确,以及数据泵导出过程中可能出现的错误信息。
除了基本的导入和导出功能,Navicat数据泵还提供了许多高级功能。
比如,数据过滤和转换功能,可以让我们在导入和导出数据时,对数据进行筛选和转换。
数据泵技术是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使用源数据库创建的,生成的文件存放在服务端。
一、介绍Oracle Data Pump是Oracle数据库中用于将数据和元数据从一个数据库导出到另一个数据库的工具。
它是一个非常强大和灵活的工具,可以用来在不同的数据库之间迁移数据,备份和恢复数据,以及进行数据库升级和复制等操作。
二、主要组成部分1. 数据泵作业(Data Pump Job):数据泵作业是数据泵操作的一个实例,它包含了所有需要导出或导入的数据和元数据的信息,以及执行数据泵操作的参数和选项。
2. 数据泵进程(Data Pump Process):数据泵进程是实际执行数据泵操作的进程,它负责读取源数据库中的数据和元数据,并将其写入到目标数据库中。
数据泵进程通常以后台进程的形式存在,可以由数据泵作业来启动和管理。
3. 数据泵引擎(Data Pump Engine):数据泵引擎是数据泵作业的核心组成部分,它负责解析数据泵作业中的参数和选项,调度数据泵进程来执行具体的数据导出和导入操作。
4. 数据泵文件(Data Pump File):数据泵文件是数据泵操作中的重要存储介质,它可以用来存储导出的数据和元数据,以及在导入数据时用作数据源。
数据泵文件通常以二进制格式存储,可以包括数据泵作业的日志、导出的数据文件、导出的元数据文件等。
三、数据泵的工作流程1. 创建数据泵作业:在进行数据泵操作之前,首先需要创建一个数据泵作业,指定需要导出或导入的数据和元数据的信息,以及执行数据泵操作的参数和选项。
2. 启动数据泵作业:一旦数据泵作业创建完成,就可以通过Oracle Data Pump工具或者PL/SQL包来启动数据泵作业,数据泵引擎会根据作业中的参数和选项来调度数据泵进程来执行具体的数据导出和导入操作。
3. 执行数据泵操作:数据泵引擎会根据作业中的参数和选项来调度数据泵进程来执行具体的数据导出和导入操作,数据泵进程会读取源数据库中的数据和元数据,并将其写入到目标数据库中。
4. 完成数据泵作业:一旦所有的数据导出和导入操作全部完成,数据泵作业就会进入完成状态,数据泵引擎会生成数据泵作业的日志,并将其存储到数据泵文件中,以便后续的查看和分析。
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:49 Copyright (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数据库之间导入和导出数据。
它提供了一种快速和高效的方式,可以将数据从一个数据库迁移到另一个数据库,或者备份和还原数据。
在本文中,我将分享一些使用Oracle数据泵的技巧,希望对您有所帮助。
让我们来了解一下数据泵的基本概念和术语。
数据泵由两个主要组件组成:导出(expdp)和导入(impdp)。
导出是将数据从源数据库导出到文件系统的过程,而导入是将数据从文件系统导入到目标数据库的过程。
在导出和导入过程中,可以使用各种参数和选项来控制数据的导出和导入行为。
一、导出数据1. 导出整个数据库要导出整个数据库,可以使用以下命令:```expdp username/password@database_name directory=directory_name dumpfile=dumpfile_name.dmp full=y```其中,username是数据库用户的名称,password是用户的密码,database_name是数据库的服务名,directory_name是导出文件保存的目录,dumpfile_name.dmp是导出文件的名称。
通过设置full参数为y,可以导出整个数据库。
2. 导出指定的表如果只需要导出特定的表,可以使用tables参数来指定要导出的表的名称:```expdp username/password@database_name directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name```其中,table_name是要导出的表的名称。
可以通过逗号分隔多个表的名称。
3. 导出指定的数据有时候,可能只需要导出表中的部分数据。
可以使用query参数来指定要导出的数据的条件:```expdp username/password@database_name directory=directory_name dumpfile=dumpfile_name.dmp tables=table_name query=condition```其中,condition是指定要导出的数据的条件。
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 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任务,从而实现了任务的可终止与重启动。
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等数据库开发工具进行高效开发将是未来工作的重点。
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数据泵使⽤详解数据泵使⽤EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。
EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
expdp或impdp命令时,可暂不指出⽤户名/密码@实例名 as ⾝份,然后根据提⽰再输⼊,如:expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dir;环境windows2003SP2oracle11gR1使⽤expdp和impdp1.命令⾏打开sqlplussqlplus /nologconn / as sysdba2.创建逻辑⽬录,该命令不会在操作系统创建真正的⽬录(最好⼿⼯先建好),最好以administrator等管理员创建。
create directory dir as 'd:\dump'; //dir名称可以随便命名需要⼿⼯创建d:\dump3.查看管理理员⽬录(同时查看操作系统中是否存在,因为Oracle并不关⼼该⽬录是否存在,如果不存在,则出错)select * from dba_directories;4.给scott⽤户赋予在指定⽬录的操作权限,最好以system等管理员赋予。
grant read,write on directory dir to scott;5、导出数据1)按⽤户导expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log2)并⾏进程parallelexpdp scott/tiger@orcl directory=dir dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dir;4)按查询条件导expdp scott/tiger@orcl directory=dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dir DUMPFILE=full.dmp FULL=y;6、还原数据1)导到指定⽤户下impdp scott/tiger@orcl DIRECTORY=dir DUMPFILE=expdp.dmp SCHEMAS=scott logfile=impdp.log2)改变表的ownerimpdp system/manager DIRECTORY=dir DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system; 3)导⼊表空间impdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=example;4)导⼊数据库impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dir DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION****************************************************************************************LINUX环境(RHEL5)oracle10g和oracle11g使⽤expdp和impdp1.命令⾏打开sqlplussqlplus /nologconnect system/oracle2.创建逻辑⽬录,该命令不会在操作系统创建真正的⽬录(最后⼿⼯先建好),最好以system等管理员创建。
泵加工数字化案例泵加工数字化案例:一、案例背景某泵业公司是一家专业生产各种泵产品的企业,随着市场竞争的加剧,该公司决定采用数字化技术来提高泵加工效率和品质。
二、解决方案1. 引入数字化加工设备该公司引入了数控机床、加工中心等数字化加工设备,这些设备具有高精度、高效率的特点,可以快速准确地完成泵零件的加工。
2. 采用CAD/CAM技术该公司采用CAD/CAM技术,实现了泵零件的数字化设计和加工。
通过三维建模,可以更加直观地了解零件的结构和形状,避免了传统二维图纸的歧义和误差。
同时,CAM软件可以根据加工设备的工艺参数,自动生成加工路径和程序,提高了加工精度和效率。
3. 建立数字化管理系统为了更好地管理泵零件的加工过程,该公司建立了数字化管理系统。
该系统可以实时监控加工设备的运行状态、加工进度和品质情况,及时发现和解决问题。
同时,系统还可以对加工数据进行统计和分析,为生产决策提供数据支持。
三、实施效果通过采用数字化技术,该公司取得了以下效果:1. 提高了加工效率和品质数字化加工设备和高精度测量设备的引入,提高了泵零件的加工效率和品质,缩短了产品上市时间。
同时,CAD/CAM技术的应用也避免了传统二维图纸的歧义和误差,进一步提高了加工精度和品质。
2. 降低了生产成本数字化技术的应用减少了人工干预和人为误差,降低了废品率和生产成本。
同时,数字化管理系统也提高了生产管理的效率和准确性,减少了不必要的浪费。
3. 增强了市场竞争力数字化技术的应用提高了泵产品的品质和性能,增强了该公司在市场上的竞争力。
同时,数字化管理系统也为该公司提供了更加灵活的生产和供应链管理方式,更好地满足了客户需求。
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.log tables=t1Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith 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 成功完成需要将原表删除。
oracle 数据泵备份步骤(原创实用版)目录1.Oracle 数据泵简介2.数据泵备份的优势3.备份步骤详解3.1 连接到数据库3.2 创建备份目录3.3 创建物理目录映像3.4 授权用户3.5 使用 expdp 进行全库备份3.6 定时备份设置4.总结正文一、Oracle 数据泵简介Oracle 数据泵(Data Pump)是 Oracle 数据库提供的一个高效、可靠的数据传输工具,可用于在数据库之间传输数据,也可以用于将数据从数据库导出到文件或从文件导入到数据库。
数据泵可以有效地提高数据传输的性能,同时减少数据库的负载。
二、数据泵备份的优势相较于传统的 Oracle 备份方法,如使用 export 工具或逻辑备份,数据泵备份具有以下优势:1.高性能:数据泵利用 Oracle 数据库的内部机制进行数据传输,因此其性能更高,可以在更短的时间内完成备份操作。
2.高可靠性:数据泵备份可以确保数据的一致性和完整性,同时支持增量备份和数据压缩,可以有效地减少存储空间占用。
3.易于管理:数据泵提供了丰富的命令和选项,可以灵活地满足不同备份需求,同时可以通过 SQL*Plus 或 PL/SQL 进行编程控制,便于实现自动化备份。
三、备份步骤详解以下是使用数据泵进行 Oracle 全库备份的详细步骤:1.连接到数据库:首先,使用 PL/SQL 或 SQL*Plus 连接到 Oracle 数据库,并以管理员身份登录。
2.创建备份目录:在本地服务器或 Linux 服务器上创建一个备份数据保存目录。
3.创建物理目录映像:在连接成功的数据库窗口中创建物理目录的映像。
4.授权用户:如果是其他用户要使用这个目录进行导出操作,还需要对这个用户进行授权,如果是管理员用户就不需要再进行授权。
5.使用 expdp 进行全库备份:在 dos 命令行中直接使用 expdp 对全库进行备份,命令格式为:exp 用户名/密码@SID filed:xx.dmp owner 用户名。
数据泵详解及案例北京神州泰岳软件股份有限公司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版本的数据泵。
2 准备工作使用数据泵除了要求数据库用户有足够的系统权限,还需要建立directory与操作系统目录想对应,并授予用户对该对象的读写权限。
执行数据泵程序的数据库用户需要有CREATE SESSION, CREATE TABLE, EXP_FULL_DATABASE, IMP_FULL_DATABASE等几个系统权限。
通过如下命令在数据库中建立directory并与操作系统的目录相对应:CREATE DIRECTORY 自定义名称 AS '系统目录的全路径';GRANT read,write ON DIRECTORY 自定义名称TO 用户;举例如下:CONNECT system/managerCREATE DIRECTORY my_dir AS '/backup';CREATE ROLE expdp_role;GRANT create session, create table TO expdp_role;GRANT read, write ON DIRECTORY my_dir TO expdp_role;GRANT expdp_role TO scott;ALTER USER scott DEFAULT ROLE all;ALTER USER scott QUOTA unlimited ON users;相关视图:dba_sys_privs,dba_role_privs,dba_directories3 导出常见需求案例其中重要参数用红字标出3.1 全库导出3.1.1 全库导出最简写法使用FULL 参数导出全库数据expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp FULL=yDIRECOTRY 是数据库中directory 的名称DUMPFILE 是导出文件名FULL 代表全库导出3.1.2 全库并行导出到多个文件当导出单个文件过大时,可使用多个文件,并配合FILESIZE 参数限制单个文件大小 expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp,demo02.dmp,d emo03.dmp FULL=y FILESIZE=20g PARALLEL=2FILESIZE 是每个导出文件的最大尺寸,可接受单位为b,k,m,g ,默认是b--字节PARALLEL 是并行度,默认为1,当数据库为企业版并且CPU 数目为多个时可设置超过1,与文件个数配合可提高导出速度。
该参数可在导出过程中修改3.1.3 全库导出到多个路径。
如果文件个数无法预估,可使用DUMPFILE=%U ,将自动生成导出文件,如:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo%U FULL=y FILESI ZE=20g PARALLEL=2有时路径所在文件系统的容量不足以存放导出文件,可以将导出文件分散在多个路径所在文件系统下,如:expdp scott/tiger DUMPFILE=data_pump_dir:demo01.dmp,other_dir:demo02.dmp FULL =y FILESIZE=20g PARALLEL=2注意该语句没有使用DIRECTORY参数,而是在DUMPFILE中设置other_dir为另一个directory,同样需要给用户授予读写权限3.2 按schema导出如果数据库只有少数schema(可简单理解为用户的所有对象),可以使用SCHEMAS 参数进行导出,以提高导出速度并减少问题几率,如:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp SCHEMAS=s cott,testSCHEMAS为需要导出的用户,用逗号隔开如果导出数据较多,需要分割文件或分散路径,参照3.1全库导出3.3 按表导出3.3.1 导出普通表如果只需要导出个别表,则使用TABLES参数,如:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp TABLES=test, dept注意导出的默认是当前用户的表,TABLES、SCHEMAS、FULL不可同时使用,如果想导出其他用户的表,需要在表前加用户的名字,如:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp TABLES=sc ott.test3.3.2 导出表分区如果想导出表的某个分区的数据,使用如下命令:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp TABLES=test: p2*******3.4 导出表空间expdp scott/tiger DUMPFILE=data_pump_dir:demo01.dmp TABLESPACES=users3.5 部分导出(EXCLUDE与INCLUDE)exclude参数和include参数分别用来屏蔽不需要的数据和导出需要的数据。
当使用exclude屏蔽某对象时,依赖这个对象的其他对象也一并被屏蔽,比如exclude一张表,则其索引和触发器都被屏蔽。
exclude和include参数互斥,无法一起使用,但其语法相同。
3.5.1 屏蔽部分schema例如想要屏蔽scott用户的所有数据,使用如下命令:expdp scott/tiger FULL=y DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp EX CLUDE=SCHEMA:\"like \'SCOTT\'\"exclude参数中的“\”为转义符,在unix系统中使用,是为了正确识别引号。
而windows 中不需要。
“like”也可替换成“=”。
如果屏蔽多个schema,使用如下命令expdp scott/tiger FULL=y DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp EX CLUDE=SCHEMA:\"IN\(\'SCOTT\',\'TKF\'\)\"由上可知,除了逗号,其他符号都需要由转义符“\”来识别。
3.5.2 屏蔽部分对象可以屏蔽的主要对象包括:table,function,package,function,procedure,sequence,grant,view, index,db_link,constraint,ref_constraint,job,statistics等,语法如下:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp SCHEMAS=s cott EXCLUDE=procedure,function,table:\"IN \(\'TSUMSCHEMA\',\'TSUMALGORITHM \'\)\"其中对象如果名字类似,可以使用通配符“%”,如下:expdp scott/tiger DIRECTORY=data_pump_dir DUMPFILE=demo01.dmp SCHEMAS=s cott EXCLUDE=table:\"like \'TE%\'\"3.5.3 屏蔽统计信息统计信息包含表的平均行长,行数,字段直方图信息等,也是可以用exclude屏蔽的对象。
之所以把它单拿出来,是因为数据泵有时会因为统计信息的问题导致导出时间过长,甚至失败。