数据泵导出导入方法

合集下载

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

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

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

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

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

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

数据泵导入导出详解

数据泵导入导出详解

数据泵技术是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使用源数据库创建的,生成的文件存放在服务端。

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、使用数据泵语句导出的数据库,必须对应使用数据泵语句导入。

Oracle_数据泵命令导出导入dmp文件

Oracle_数据泵命令导出导入dmp文件

Oracle_数据泵命令导出导⼊dmp⽂件1. oracle命令⾏登录sqlplus pms/pms 或者 connect / as sysdba2. 查询dup存放⽬录⽬录select * from dba_directories;注意:后⾯的E盘下⾯的dpdump\ 必须把你要导⼊的xxx.dmp⽂件放进该⽂件夹3. 执⾏命令直接导⼊impdp导⼊dmp(注意:必须要有导⼊导出的,可以直接给dba权限)该命令需要在cmd的dos命令窗⼝直接执⾏,⽽不是sqlplus.exefull=y 是导⼊⽂件中全部内容ignore=y相当于,如果没有的表,创建并倒⼊数据,如果已经有的表,忽略创建的,但不忽略倒⼊impdp pms/pms@localhost:1521/orcl dumpfile=pms.dmp full=y directory=DATA_PUMP_DIR3. 执⾏命令直接导出(导出位置为DATA_PUMP_DIR这个位置)expdp pms/pms@localhost:1521/orcl dumpfile=pms.dmp full=y directory=DATA_PUMP_DIR导出⽂件:查看建⽴的⽬录Select * from dba_directories删除⽂件DROP DIRECTORY EXPNC_DIR;赋权Grant read,write on directory wly_dump to wly;导出案例1,按表导出expdp wly/wly directory=wly_dump dumpfile=wly.dmp logfile=scott.log tables=dept,emp导出案例2,按⽤户导出expdp wly/wly directory=wly_dump dumpfile=wly.dmp schemas=wly导出案例3,全库导出,且并⾏导出expdp wly/wly directory=wly_dump dumpfile=full.dmp parallel=4 full=y导⼊案例1,按表导⼊,从wly到wly2impdp wly/wly directory=wly_dump dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=wly:wly2导⼊案例2,按⽤户导⼊,从wly到wly2impdp wly/wly directory=wly_dump dumpfile=schema.dmp remap_schema=wly:wly2导⼊案例3,全库导⼊impdp wly/wlydirectory=wly_dump dumpfile=full.dmp full=y导⼊案例4,⽆落地⽂件的⽤户拷贝,需要建⽴db linkimpdp wly/wly directory=wly_dump network_link=remote_link remap_schema=wly:wly2。

【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数据泵导入导出案例Oracle数据库导入导出工具,可以使用exp/imp,但这是比较早期的工具。

本文主要介绍数据泵expdp/impdp工具的使用。

建立数据泵目录使用数据泵需要先建directorycreate directory dump_scott as'/home/oracle/dump/scott'查看建立的目录Select * from dba_directories赋权Grant read,write on directory dump_scott toscott导出案例1,按表导出expdp scott/tiger directory=dump_scottdumpfile=tab.dmp logfile=scott.log tables=dept,emp导出案例2,按用户导出expdp scott/tiger directory=dump_scottdumpfile=dumpscott.dmp schemas=scott导出案例3,全库导出,且并行导出expdp scott/tiger directory=dump_scottdump file=full.dmp parallel=4 full=y导入案例1,按表导入,从scott到scott2impdp scott2/tiger directory=dump_scottdumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:scott2导入案例2,按用户导入,从scott到scott2impdp scott/tiger directory=dump_scottdumpfile=schema.dmp remap_schema=scott:scott2导入案例3,全库导入impdp scott/tiger directory=dump_scottdumpfile=full.dmp full=y导入案例4,无落地文件的用户拷贝,需要建立db linkimpdp scott/tiger directory=dump_scott network_link=remote_link remap_schema=scott:scott2。

数据泵导入导出

数据泵导入导出

在开始我就说了,这里没有指定Job name。 所以系统自动给我们生成了一个:SYS_EXPORT_FULL_02。
默认是从SYS_EXPORT_FULL_01开始,因为我之前有一个没有运行的Job,所以这里从2开始了。
3.1.2指定Job_name
[oracle@qs-dmm-rh2 ~]$ expdp \'/ as sysdba\' directory=backup full=y dumpfile=fullexp3.dmp logfile=fullexp3.log parallel=2 job_name=diriJob;
20 bl
11 rows selected.
3. 开始测试
3.1 FULL=Y全库导出
3.1.1不指定Job_name
[oracle@qs-dmm-rh2 ~]$ expdp \'/ as sysdba\' directory=backup full=y dumpfile=fullexp.dmp logfile=fullexp.log parallel=2;
******************************************************************************
Dump file set for SYS.SYS_EXPORT_FULL_02 is:
/u01/backup/fullexp.dmp
OWNER DIRECTORY_NAME DIRECTORY_PATH
----- ------------------------- ------------------------------------------------

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里面。

数据泵工具导出的步骤

数据泵工具导出的步骤

数据泵工具导出的步骤:1、创建DIRECTORYcreate directory dir_dp as 'D:\oracle\dir_dp';2、授权Grant read,write on directory dir_dp to lttfm;--查看目录及权限SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories dWHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;3、执行导出expdp lttfm/lttfm@fgisdb schemas=lttfm directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1 With the Partitioning, OLAP and Data Mining options启动"LTTFM"."SYS_EXPORT_SCHEMA_01": lttfm/********@fgisdb schory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log; */ 备注:1、directory=dir_dp必须放在前面,如果将其放置最后,会提示ORA-39002: 操作无效ORA-39070: 无法打开日志文件。

ORA-39087: 目录名DA TA_PUMP_DIR; 无效2、在导出过程中,DATA DUMP 创建并使用了一个名为SYS_EXPORT_SCHEMA_01的对象,此对象就是DATA DUMP 导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JOB名字那么就会产生一个默认的JOB名字,如果在导出过程中指定JOB名字就为以指定名字出现如下改成:expdp lttfm/lttfm@fgisdb schemas=lttfm directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;3、导出语句后面不要有分号,否则如上的导出语句中的job 表名为‘my_job1;’,而不是my_job1。

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;

数据泵导入导出

数据泵导入导出

导出:Expdp work/work@lxgh DIRECTORY=DATA_PUMP_DIR DUMPFILE=test2.dmplogfile=test2.log导出的包目录,有二种方式可以找到,第一种方式最简单,导出完成后,最后会有导出包存放的目录,或查看日志也会有记录。

第二种方式是通过语句查询,用PLsql登录后,执行下面的语句:SELECT * FROM dba_directories;结果中查找DATA_PUMP_DIR对应的地址,就是导出包存放的位置了。

第二步:在需要导入的数据库中建好相应的表空间(一致),用户(一致)等,如果有就不需要执行此步骤。

第三步:导入数据用数据泵导入数据,先将导出的数据包放在需导入库的DATA_PUMP_DIR 对应的目录下,然后直接执行下面的语句就可以了:Impdp work/work@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=xtdb.Dmpfull=y (这个是全部导入的语句)导入执行完后,也有相应的日志可以查看,导入是否成功。

如果日志报ORA-39082: Object type VIEW:"YXT"."V_ZK_CAPITALASSERTS" created with compilation warnings 这一类错误,就说明在导入过程中,有些函数、视图和存储过程编译失败,可以执行如下语句查看:select owner,object_name,object_type,statusFROM dba_objectswhere status !='VALID'and owner not in('SYS','SYSTEM')然后把编译失败的OBJECT重新编译,可以在SQLPLUS DEVELOP中右键点击重新编译,或者执行如下语句:alter function F_GET_COST_AMOUNT_DATE_ALL compile;alter PROCEDURE P_DR_ESTI_INCOMES_CDI_HOSP compile;即可解决备注:一定要在导入之前在库里建好相关的存贮过程,ORCLLNK和HRP_ZK_LINK以及HRLINK要不编译不过去而且报错。

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 这个目录必须是磁盘上实际存在的,可以是其他目录名称和路径。

数据泵导入导出操作方法

数据泵导入导出操作方法
Alter System Set deferred_segment_creation=false scope=both;
--设置为不限制密码效期
Alter Profile Default Limit Password_Life_Time Unlimited;
--在原服务器上导出数据泵数据
--完成后编译无效对象
grant exp_full_database to SYSTEM;
grant imp_full_database to SYSTEM;
--设置为不限制大小写
Alter System Set sec_case_sensitive_logon = false scope=both;
--设置为可以导出空表
execute DBMS_AUTO_TASK_ADMIN.DISABLE;
--设置为不限制大小写
Alter System Set sec_case_sensitive_logon = false scope=both;
--设置为可以导出空表
Alter System Set deferred_segment_creation=false scope=both;
---在原服务器(WINDOWN服务器)上D盘创建一个DataBak目录
sqlplus sys/oracle@orcl as sysdba
--创建数据泵目录
CreaaBak';
--授权用户
Grant read,write on directory dp to system;
--设置为不限制密码效期
Alter Profile Default Limit Password_Life_Time Unlimited;

oracle 11g 数据泵导入导出方法

oracle 11g 数据泵导入导出方法

oracle 11g 数据泵导入导出方法
工具/原料电脑
安装好的oracle 11g 软件
方法/步骤1:
打开开始菜单中的运行
方法/步骤2:
打开以后,在运行框中输入CMD,点击确定
方法/步骤3:
运行以下命令:
sqlplus system/密码
方法/步骤4:
2 创建数据导出目录expnc_dir为目录名,'E:\ncdatabak'为数据库实际目录,命令如下:
create directory expnc_dir as 'E:\ncdatabak';
方法/步骤5:
为oracle用户授予访问数据目录的权限,命令如下:Grant read,write on directory expnc_dir to dxzyjt;
方法/步骤6:
执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。

expdp dxzyjt/dxzyjt@ncdata_192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt logfile=ncdatabak.log; 备份界面如下:
方法/步骤7:
以上是导出的步骤,导入与导出的步骤基本一样,有不清楚的可以联系我。

使用数据泵方式导入导出oracle数据(不导出附件表)

使用数据泵方式导入导出oracle数据(不导出附件表)

一、数据导出expdp1)使用oracle sys用户登录,创建directory并赋予权限。

create directory expdpdata as 'D:\DATA\';如果是在linux服务器上,请修改对应的目录,一定要保证对应的目录是存在的。

并且空间足够。

2)赋予权限:grant read,write on directory expdpdata to lyd;3)切换到dos界面(退出oracle登录)进行数据导出(开始会等待比较长的时间):expdp erpdb/erpdb directory=expdpdata schemas=erpdb dumpfile=2012-08-09.dmp logfile=2012-08-09.log exclude=table:\"IN\(\'SM_PUB_FILESYSTEM\',\’HR_ATTACHMENT\’\)\"完整截图如下:二、数据导入impdp导入时也需要和导出一样创建对应的目录和授权,将dmp文件放到创建的目录下。

1)导到指定用户下:impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的owner:impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)导入表空间:impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)导入数据库:impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据:impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;。

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