expdp-impdp_用法详解
Exp-Imp-Expdp-Impdp的使用
Exp/Imp/Expdp/Impdp的使用寶成國際集團-中山電腦部2011-10-15內容簡介一.Exp/Imp的用法二.Expdp/Impdp的用法三.Exp/Imp 與Expdp/Impdp的比較一、Exp/Imp命令介紹1.Oracle資料導出導入Exp/Imp就相當於Oracle數據備份與還原。
exp命令可以把資料從遠端資料庫伺服器導出到本地的dmp檔,imp命令可以把dmp檔從本地導入到遠處的資料庫伺服器中。
2.迄今為止:導出/導入(exp/imp)工具集仍是跨多個平臺轉移資料所需勞動強度最小的首選實用工具,儘管人們常常抱怨它速度太慢.導入只是將每條記錄從dmp中讀出來,然後使用常見的Insert Into 命令將其插入到目標表中,因此導入可能會是個很慢的過程。
3.Exp: 高版本的DB不能導出低版本的DB資料.會報以下錯誤: (oracle10gdb exp oracle9idb Error)EXP-00056: ORACLE error 6550 encounteredORA-06550: line 1, column 41:PLS-00302: component 'SET_NO_OUTLINES' must be declaredORA-06550: line 1, column 15:4.Imp: 跨多個版本的dmp之間不能直接導入,需利用中間版本的DB導入.如Oracle8i導出的dmp file不能在Oracle10中直接導入,但可以在Oracle9i中利用網絡導入Oracle10g DB中.二、Exp/Imp使用實例1.數據導出(exp help=y)(1) 將資料庫TEST完全導出[EXP_FULL_DATABASE]exp system/manager@TEST file=d:\sys.dmp log=d:\sys.log full=y(2) 將資料庫中usera用戶與userb用戶的表導出exp system/manager@TEST file=d:\sys.dmp log=d:\sys.logowner=(usera,userb)(3) 將資料庫中的表table1、table2導出exp user/password@TEST file= d:\user.dmp log=d:\user.logtables=(table1, table2)(4)將資料庫中的表table1中的欄位filed1以‚00‛打頭的數據導出exp user/password@TEST file=d:\user.dmp log=d:\user.log tables=(table1) query=‚ where filed1 like ‘00%’‛(5)導出userA的架構不含Dataexp user/password@TEST file=d:\user.dmp log=d:\user.log rows=n(6)導出userA的架構,設定filesize為5Mexp user/password@TEST file=(d:\user-1.dmp,d:\user-2.dmp) log=d:\user.log filesize=5M2.數據導入(imp help=y)(1) 將資料庫中各owner導入[IMP_FULL_DATABASE]imp system/manager@TEST file=d:\sys.dmp log=d:\sys.log fromuser=ownera touser=ownera(2) 將資料庫中用戶A中的所有資料導入用戶B中imp userB/password@TEST file=d:\userA.dmp log=d:\in-userB.log fromuser=userA touser=userB(3) 導入時只導入架構和和data,不導入indeximp user/password@TEST file= d:\user.dmp log=d:\user.log indexes=n--產生index file的sql以便create indeximp user/password@TEST file= d:\user.dmp log=d:\index.log indexfile=user-index.sql(4) 往資料庫中的表table1中追加Dataimp user/password@TEST file=d:\user.dmp log=d:\inuser.log ignore=y(5) 使用commit=y及設定bufferimp gass/gasstest file=GASS2009.dmp log=in-GASS2009.log commit=y buffer=51200000(6) 使用使用INDEXES=Nimp user/password@TEST file=d:\user.dmp log=d:\inuser.log indexes=n rows=yimp user/password@TEST file=d:\user.dmp log=d:\inuser2.log indexes=y rows=n一、Expdp/Impdp命令介紹1.Oracle10g中的导出/导入(expdp/impdp)工具包為Oracle資料提供高速並行及大資料的遷移。
expdpimpdp用法详解
expdpimpdp⽤法详解⼀关于expdp和impdp 使⽤EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。
EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
expdp或impdp命令时,可暂不指出⽤户名/密码@实例名 as ⾝份,然后根据提⽰再输⼊,如:expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;⼀、创建逻辑⽬录,该命令不会在操作系统创建真正的⽬录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';⼆、查看管理理员⽬录(同时查看操作系统是否存在,因为Oracle并不关⼼该⽬录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott⽤户赋予在指定⽬录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;四、导出数据1)按⽤户导expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;2)并⾏进程parallelexpdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;4)按查询条件导expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、还原数据1)导到指定⽤户下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的ownerimpdp 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⼆附加说明并⾏操作(PARALLEL)您可以通过 PARALLEL 参数为导出使⽤⼀个以上的线程来显著地加速作业。
expdp和impdp语句
expdp和impdp语句expdp和impdp是Oracle数据库中用于数据泵的导出和导入工具。
它们允许用户将数据和元数据从一个Oracle数据库导出到一个dump文件,然后将该文件导入到另一个Oracle数据库中。
expdp的常用语法如下:复制代码expdp userid=用户名/密码@数据库连接标识文件=数据泵导出文件的路径和名称 logfile=日志文件的路径和名称 dumpfile=dump文件的路径和名称full=yes/no schemas=schema_name[,schema_name]tables=table_name[,table_name] ...其中,userid是用户名和密码,用于连接到数据库;文件路径和名称指定了数据泵导出文件、日志文件和dump文件的路径和名称;full参数用于指定是否导出整个数据库;schemas参数用于指定要导出的模式;tables参数用于指定要导出的表。
impdp的常用语法如下:复制代码impdp userid=用户名/密码@数据库连接标识文件=数据泵导出文件的路径和名称 logfile=日志文件的路径和名称 dumpfile=dump文件的路径和名称full=yes/no schemas=schema_name[,schema_name]tables=table_name[,table_name] ...其中,userid是用户名和密码,用于连接到数据库;文件路径和名称指定了数据泵导出文件、日志文件和dump文件的路径和名称;full参数用于指定是否导入整个数据库;schemas参数用于指定要导入的模式;tables参数用于指定要导入的表。
需要注意的是,在使用expdp和impdp时,必须确保目标数据库已经创建了相应的表、视图、序列等对象,否则导入操作将会失败。
同时,在使用expdp和impdp 时,需要确保具有足够的权限,并且要遵守Oracle数据库的数据泵规范和最佳实践。
EXPDB_IMPDB导出数据库和导入数据库操作手册
EXPDB_IMPDB导出数据库和导入数据库操作手册EXPDP/IMPDP导出导入操作手册1.介绍EXPDP/IMPDP 是 Oracle 数据库中提供的一种工具,用于导出和导入数据库中的数据和对象。
通过使用 EXPDP 可以将数据库中的指定数据表、视图、程序、触发器等对象导出到一个二进制文件中,而使用 IMPDP 可以将这个导出的文件再导入到一个新的数据库中。
2.环境设置在使用 EXPDP/IMPDP 前,需要进行一些环境设置。
首先,确保数据库已经以归档模式运行,并且存在一个有效的备份策略。
其次,确认当前用户具备使用 EXPDP/IMPDP 的权限,可以通过以下语句进行授权:```GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO username;```其中,`username` 是需要授权的用户名。
3.导出数据库要导出数据库,可以使用以下命令:```expdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导出数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导出文件所在的目录,`dump` 是导出文件的名称,`log` 是导出日志文件的名称。
4.导入数据库要导入数据库,可以使用以下命令:```impdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导入数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导入文件所在的目录,`dump` 是导入文件的名称,`log` 是导入日志文件的名称。
使用EXPDP|IMPDP替代EXP|IMP备份数据
一、数据泵(Data Pump)主要解决的问题
1. 据说比 IMP/EXP 更加灵活, 支持多种元数据过滤策略, 多种导入/导出模式, 如将 A 库 B 用户导到 C 库中 D 用户, 则只需要 REMAP_SCHEMA 即可 2. 占用 USER 表空间问题。一直纠结的占用其他表空间问题可以用 REMAP_TABLESPACE 参数解决 3. 高版本数据导入到低版本问题。可以在 Oracle11g 中用 version 参数指定版本,在 Oracle10g 中导入。 4. 空表问题,Oracle11g 新的表并且表中无数据也未使用过则表的 SEGMENT 空间是不会分配的,这样在 EXP 时表 是导不出来的,这个问题的解决就是给表分配 SEGMENT 或使用 EXPDP 了 i. Select 'ALTER TABLE ' || TABLE_NAME || ' ALLOCATE EXTENT;' From user_tables WHERE NUM_ROWS=0, 将查询结果导出成 sql 脚本执行即可 ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH
指定。 有了这个目录指定之后,就可以使用 EXPDP 了。 2. 删除目录指定
Drop Directory AAA
几个参数
REMAP_SCHEMA 将一个方案中的对象加载到另一个方案。 REMAP_TABLE 将表名重新映射到另一个表。 例如, REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。 REMAP_TABLESPACE 将表空间对象重新映射到另一个表空间。
SELECT * FROM dba_directories;
EXPDB和IMPDP使用
1、创建DIRECTORY
CREATE DIRECTORY DIR_DP as 'D:/expbackup';
2、创建导出角色可以使用sys账户
CREATE USER wpf identified by wpf
3、授权
Grant read,write on directory dir_dp to wpf
7、更换表空间
采用remap_tablespace参数
--导出gwm用户下的所有数据
expdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp SCHEMAS=gwm
注:如果是用sys用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容
--以下是将gwm用户下的数据全部导入到表空间gcomm(原来为gmapdata表空间下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp remap_tablespace=gmapdata:gcomm
LINUX
今天在使用expdp导出的时候报如下错误
6、导入
-- 全部导入
impdp scott/tiger dumpfile=EXPDP_TEST1.DMP logfile=imp_p_test.log directory=dir_dp
-- 按表导入
impdp scott/tiger dumpfile=EXPDP_TEST1.DMP logfile=imp_p_test.log directory=dir_dp tables=test(表名,多个表用逗号分隔)
EXPDB和IMPDP使用
EXPDB和IMPDP使用EXPDP和IMPDP是Oracle数据库中用于导出和导入数据的工具。
EXPDP用于将数据库中的数据、对象和元数据导出为一个二进制文件,而IMPDP则用于将这个二进制文件导入到另一个数据库中。
本文将详细介绍EXPDP和IMPDP的使用方法。
EXPDP命令用于在Oracle数据库中导出数据。
它可以导出整个数据库、指定的表空间、指定的表或指定的数据集。
EXPDP提供了很多选项,可以控制导出的方式,比如导出数据的压缩级别、并发作业数、导出的内容等。
以下是一个基本的EXPDP命令示例:``````上述命令将从数据库中导出所有的数据,然后将数据保存到data.dmp文件中,日志信息保存在expdp.log文件中。
接下来是IMPDP命令的使用。
IMPDP可以用于将导出的数据文件导入到一个新的数据库中。
它也可以使用很多选项来控制导入过程,比如指定导入的表空间、指定导入的对象、并发作业数等。
以下是一个基本的IMPDP命令示例:``````上述命令将从data.dmp文件中导入数据到数据库中,日志信息保存在impdp.log文件中。
在实际使用EXPDP和IMPDP时,有一些常用的选项可以帮助我们更好地管理数据的导入和导出过程。
下面是一些常用的选项及其说明:-`SCHEMAS`:指定要导出或导入的模式或用户。
可以同时指定多个模式。
-`TABLES`:指定要导出或导入的表。
可以同时指定多个表。
-`INCLUDE`:指定要导出或导入的对象类型。
可以是表、索引、约束等。
-`EXCLUDE`:指定要排除的对象类型。
-`JOB_NAME`:用于标识导出或导入作业的名称。
-`FULL`:指定是否导出或导入整个数据库。
-`NETWORK_LINK`:用于从一个远程数据库导入数据。
-`REMAP_SCHEMA`:用于在导入时重新映射模式或用户。
除了上述常用选项外,EXPDP和IMPDP还提供了很多其他选项,用于更灵活地控制导入和导出过程。
Oracle导入导出(imp,exp,impdp,expdp)详解
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 所有者用户名列表
expdp、impdp用法详解
expdp、impdp用法详解Oracle数据泵一、数据泵的作用:1.实现逻辑备份和逻辑恢复2.在数据库用户之间移动对象3.在数据库之间移动对象4.实现表空间转移二、数据泵的特点与传统导出导入的区别1.EXP和IMP是客户段工具程序, EXPDP和IMPDP是服务端的工具程序2.EXP和IMP效率比较低. EXPDP和IMPDP效率高3.数据泵功能强大并行、过滤、转换、压缩、加密、交互等等4.数据泵不支持9i以前版本, EXP/IMP短期内还是比较适用5.同exp/imp数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.三、DATA PUMP的体系结构:四、EXPDP语法介绍:数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。
具体方法是: 在 'expdp' 命令后输入各种参数。
要指定各参数,请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令行中的第一个参数。
关键字说明 (默认)------------------------------------------------------------------------------ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。
COMPRESSION 减小有效的转储文件内容的大小关键字值为: (METADATA_ONLY) 和 NONE。
expdp和impdp的用法解读
Expdp和Impdp的用法马飞2016-7-18一、概述Oracle官方对此的形容是:OracleDataPump technology enables Very High-Speed movement of data and metadata from one database to another.其中Very High-Speed是亮点。
先说数据泵提供的主要特性(包括,但不限于):1. 支持并行处理导入、导出任务2. 支持暂停和重启动导入、导出任务3. 支持通过Database Link的方式导出或导入远端数据库中的对象4. 支持在导入时通过Remap_schema、Remap_datafile、Remap_tablespace几个参数实现导入过程中自动修改对象属主、数据文件或数据所在表空间。
5. 导入/导出时提供了非常细粒度的对象控制。
通过Include、Exclude两个参数,甚至可以详细制定是否包含或不包含某个对象。
二、什么是Directory对象Directory对象是Oracle10g版本提供的一个新功能。
他是一个指向,指向了操作系统中的一个路径。
每个Directory都包含 Read,Write两个权限,可以通过Grant命令授权给指定的用户或角色。
拥有读写权限的用户就可以读写该Directory对象指定的操作系统路径下的文件。
无论在什么地方使用expdp,生成的文件最终页是在服务器上(Directory指定的位置)三、如何调用1. 命令行方式最简单的调用,但是写的参数有限,建议使用参数文件的方式。
2. 参数文件方式最常用的方式。
通常需要先编写一个参数文件。
指定导出时需要的各种参数。
然后以如下方式调用。
expdp user/pwd parfile=xxx.par这个xxx.par即是我们编辑的参数文件。
注意,在这个命令行后面,同样可以再跟别的参数,甚至是在par参数文件中指定过的参数。
数据泵expdp impdp 和exp imp工具命令参数中文说明
一、数据泵EXPDP命令参数中文说明#通过在命令行输入expdp help=y 获取imp的语法信息Export: Release 11.2.0.1.0 - Production on 星期五10月10 12:25:21 2019Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.数据泵导出实用程序提供了一种用于在Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。
具体方法是: 在'expdp' 命令后输入各种参数。
要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott 或TABLES=(T1:P1,T1:P2), 如果T1 是分区表USERID 必须是命令行中的第一个参数。
------------------------------------------------------------------------------以下是可用关键字和它们的说明。
方括号中列出的是默认值。
ATTACH连接到现有作业。
例如, ATTACH=job_name。
COMPRESSION减少转储文件大小。
有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和NONE。
CONTENT指定要卸载的数据。
有效的关键字值为: [ALL], DATA_ONLY 和METADATA_ONLY。
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: 无法打开日志文件。
expexpdp与impimpdp命令导入导出数据库详解-1
expexpdp与impimpdp命令导⼊导出数据库详解-1转载于:⼀、exp命令导出数据库如何使exp的帮助以不同的字符集显⽰:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中⽂显⽰,如果set nls_lang=American_america.字符集,那么帮助就是英⽂的了。
参数:1.1 导出⽤户全部数据exp 登录名称/⽤户密码@服务命名 FILE=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 FULL=Y(表⽰导出全部数据,如视图、索引关联关系等等全部的东西)exp hlsoa/hlsoa@orcl file=E:\test\file log=E:\test\log full=y 这是导出本地数据库如果要是导出远程数据库需要修改tnsnames.ora 在连接字符串中将HOST改为远程数据库地址也可以直接通过服务器地址加服务命名解决exphlsoa/*************.1.227/orclfile=E:\test\filelog=E:\test\logfull=y注意:在test⽂件夹下可以新建file.dmp、log.log⽂件也可以不建,系统会⾃动创建。
上⾯命令中可以加⽂件后缀,也可以不加。
但是test这个⽂件夹必须要存在。
1.2导出数据库结构⽽不导出数据exp 登录名称/⽤户密码@服务命名 file=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 full=y rows=n(不导出⾏数据)exp hlsoa/hlsoa@orcl file=E:\test\file log=E:\test\log full=y rows=n1.3导出⼀个或者多个指定表exp 登录名称/⽤户密码@服务命名 file=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 tables=表名字exp 登录名称/⽤户密码@服务命名 file=⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 tables=(表1,表2,表3,表N)1.4 导出某个⽤户所拥有的数据库表exp ⽤户名/密码@服务命名 file=存放位置\存放⽂件名.dmp log=存放位置\存放⽂件名.log owner=拥有者⽤户名exp hlsoa/hlsoa@orcl file=E:\test\file log=E:\test\log owner=(hlsoa)1.5 ⽤多个⽂件分割⼀个导出⽂件exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G tables=hr.paycheck1.6使⽤参数⽂件导出数据exp system/manager@服务命名 parfile=bible_tables.parbible_tables.par(参数⽰例⽂件):#Export the sample tables used for the Oracle8i Database Administrator's Bible.file=bible_tables(⽂件存储的路径以及名称)log=bible_tables(⽇志存储的路径以及名称)tables=(amy.artistamy.booksseapark.checkupseapark.items)1.7 增量导出数据--“完全”增量导出(complete),即备份整个数据库exp system/manager@服务命名 inctype=complete file=990702.dmp--“增量型”增量导出(incremental),即备份上⼀次备份后改变的数据exp system/manager@服务命名 inctype=incremental file=990702.dmp--“累计型”增量导出(cumulative),即备份上⼀次“完全”导出之后改变的数据exp system/manager@服务命名 inctype=cumulative file=990702.dmp导出某个⽤户所拥有的数据库表:exp ⽤户名/密码@服务命名 file=存放位置\存放⽂件名.dmp log=存放位置\存放⽂件名.log owner=拥有者⽤户名1.8估计导出⽂件的⼤⼩--整个数据库全部表总字节数:SELECT sum(bytes)/1024/1024/1024 "占⽤空间:单位GB"FROM dba_segmentsWHERE segment_type = 'TABLE';--指定⽤户所属表的总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = 'SEAPARK'AND segment_type = 'TABLE';seapark⽤户下的aquatic_animal表的字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = 'SEAPARK'AND segment_type = 'TABLE'AND segment_name = 'AQUATIC_ANIMAL'⼆、imp 命令导⼊数据库参数:2.1 导⼊⼀个完整数据库imp 登录名称/⽤户密码@服务命名 FILE=数据⽂件存储的路径以及名称 log=⽇志存储的路径以及名称 FULL=Y IGNORE=y(因为有的表已经存在,然后它就报错,对该表就不进⾏导⼊,然后忽略该报错)imp system/manager file=bible_db log=dible_db full=y ignore=y2.2导⼊⼀个或⼀组指定⽤户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seaparkimp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)2.3 将⼀个⽤户所属的数据导⼊另⼀个⽤户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copyimp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)2.4 导⼊⼀个或者多个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)2.5 从多个⽂件导⼊imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G full=y2.6 使⽤参数⽂件imp system/manager parfile=bible_tables.parbible_tables.par参数⽂件:#Import the sample tables used for the Oracle8i Database Administrator'sBible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import2.7 增量导⼊imp system./manager inctype= RECTORE FULL=Y FILE=A三、expdp命令导出数据库3.1 参数介绍序号关键字说明 (默认)01ATTACH连接到现有作业, 例如 ATTACH [=作业名]。
oracle数据库导入导出expdpimpdp命令详细操作过程
oracle数据库导⼊导出expdpimpdp命令详细操作过程⼀、我们为什么现在要⽤expdp/impdp命令,⽽不是使⽤exp/imp命令来备份/还原数据库?expdp/impdp命令,我们也通常称之为“数据泵(DataPump)”,它具有以下优点:l 在性能上,具有并⾏处理能⼒,因此可以获得性能上的优势,加快导⼊导出速度。
l 在功能上,——为数据及数据对象提供更细微级别的选择性——可以设定数据库版本号(主要是⽤于兼容⽼版本的数据库系统)——预估导出作业所需要的磁盘空间——⽀持导⼊时重新映射功能(即将对象导⼊到新的⽬标数据⽂件,架构,表空间等)——⽀持元数据压缩及数据采样限制条件:数据泵是服务端的实⽤程序,只能在数据库服务器上执⾏,不能在客户端执⾏。
如需详细了解,可参考⽹上⽂章:⼆、准备过程(以下步骤在源数据库和⽬标数据库上均需要执⾏,第⼀次执⾏即可,以后不需要重复执⾏,如不确认是否已做相关设置,可直接执⾏第3步查看)创建数据库物理存放路径,例如d:\dbbak(以下3步操作都是)创建逻辑⽬录,指向上⾯所建物理路径。
dpdata1为我们定义的逻辑⽬录名。
SQL>create directory dpdata1 as 'd:\dbbak';验证上述步骤操作是否成功(注意:此处只是验证是否成功创建逻辑路径,并不会检查对应的物理路径是否真实有效)SQL>select * from dba_directories;以管理员⾝份赋予sbnetdba⽤户赋予在指定⽬录的操作权限,如果有多个⽤户,请对⽤户授权。
SQL>grant read,write on directory dpdata1 to sbnetdba;三、导出数据(注意下⾯命令不是在SQL下执⾏,⽽是直接在CMD命令⾏中执⾏)l 按⽤户导数据,如果有多个⽤户,按每个⽤户分别执⾏备份。
expdp sbnetdba/passwd@netdb schemas=sbnetdba dumpfile=expdp.dmp DIRECTORY=dpdata1——schemas:需要进⾏导出的⽤户⾝份——dumpfile:导出的⽂件名——导出完成后,会⽣产export.log⽇志⽂件,记录导出信息,如有疑问可⽤来分析。
oracleimpdp参数expdpimpdp详细参数解释
oracleimpdp参数expdpimpdp详细参数解释Oracle impdp (import data pump) 是一个用于导入数据的工具,用于将由 expdp 工具导出的数据文件导入到 Oracle 数据库中。
impdp 工具提供了许多参数,以配置和控制导入过程。
下面将详细解释一些常用的impdp 参数。
1. directory: 指定导入导出文件的目录对象。
2. dumpfile: 指定要导入的数据文件。
可以使用通配符指定多个文件。
3. logfile: 指定导入日志文件的名称和路径。
4. schemas: 指定要导入的模式(用户)。
可以使用逗号分隔的列表指定多个模式。
5. remap_schema: 将导入的数据文件中的模式(用户)映射到一个新的模式。
6. tables: 指定要导入的表。
可以使用逗号分隔的列表指定多个表。
7. remap_tablespace: 将导入的表映射到新的表空间。
可以使用逗号分隔的列表指定多个映射关系。
9. exclude: 排除一些对象或类型的对象不进行导入。
可以使用exclude 参数指定需要排除的对象类型。
10. network_link: 通过网络链接导入数据。
可以与数据库之间使用dblink 创建网络链接。
11. parallel: 启用并行导入,使用多个进程同时导入数据。
12. cluster: 以并行方式导入集群表和索引。
13. remap_data: 对导入的数据进行变换。
14. remap_tablespace: 将导入的对象映射到新的表空间。
15. nologfile: 导入时不生成日志文件。
16. remap_all_tables: 将导入的所有数据表映射到一个新的模式和表空间。
17. remap_all_indexes: 将导入的所有索引映射到一个新的模式和表空间。
18. table_exists_action: 指定当导入的数据表已经存在时的处理方式,如 SKIP, APPEND, TRUNCATE, REPLACE等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;四、导出数据1)按用户导expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;2)并行进程parallelexpdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;4)按查询条件导expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE dep tno=20';5)按表空间导expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=te mp,example;6)导整个数据库expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、还原数据1)导到指定用户下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept RE MAP_SCHEMA=scott:system;3)导入表空间impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=ex ample;4)导入数据库impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TA BLE_EXISTS_ACTION=append;----------------------------Expdp/Impdp的相关参数---------------------------- EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用A TTACH选项,在命令行除了连接字符串和A TTACH选项外,不能指定任何其他选项,示例如下:Expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALLCONTENT={ALL | DATA_ONL Y | METADA TA_ONL Y}当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DA TA_ONL Y时,只导出对象数据,为METADA TA_ONL Y时,只导出对象定义Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dumpCONTENT=METADATA_ONL Y3. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_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.dmpDUMPFILE=[directory_object:]file_name [,….]Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKSEXTIMATE={BLOCKS | STA TISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STA TISTICS时,根据最近统计值估算对象占用空间Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=dump DUMPFILE=a.dump6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为NEXTIMATE_ONL Y={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.Expdp scott/tiger ESTIMATE_ONL Y=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[:name_clause] [,….]Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用EXCLUDE=SEQUENCEor:EXCLUDE=TABLE:"IN ('EMP', 'DEPT')"or:EXCLUDE=INDEX:"= 'MY_INDX'"or:INCLUDE=PROCEDURE:"LIKE 'MY_PROC_%'"or:INCLUDE=TABLE:"> 'E'"在CMD下需要用\转义”例如INCLUDE=TABLE:\"IN ('EMP', 'DEP')\"Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)9. FLASHBACK_SCN指定导出特定SCN时刻的表数据FLASHBACK_SCN=scn_valueScn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_SCN=35852310. 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指定数据库模式导出,默认为NFULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N当设置为Y时,会显示导出选项的帮助信息.Expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象INCLUDE = object_type[:name_clause] [,… ]14. JOB_NAME指定要导出作用的名称,默认为SYS_XXXJOB_NAME=jobname_string15. LOGFILE指定导出日志文件文件的名称,默认名称为export.logLOGFILE=[directory_object:]file_nameDirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.17. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为N.18. PARALLEL指定执行导出操作的并行进程个数,默认值为119. PARFILE指定导出参数文件的名称PARFILE=[directory_path] file_name20. QUERY用于指定过滤导出数据的where条件QUERY=[schema.] [table_name:] query_clauseSchema 用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY选项不能与 CONNECT=METADA TA_ONL Y,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用.Expdp scott/tiger directory=dump dumpfiel=a.dmpTables=emp query=‟WHERE deptno=20‟21. SCHEMAS该方案用于指定执行方案模式导出,默认为当前用户方案.22. STATUS指定显示导出作用进程的详细状态,默认值为023. TABLES指定表模式导出TABLES=[schema_name.]table_name[:partition_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}28. REMAP_SCHEMA=source_schema:target_schema为COMPATIBLE时,会根据初始化参数COMPA TIBLE生成对象元数据;为LATEST时,会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字符串.调用EXPDP使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.-------------------------------------应用------------------------------------- Data Pump 反映了整个导出/导入过程的完全革新。