expdp+impdp 用法详解

合集下载

Exp-Imp-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用法详解

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的exclude、include参数格式说明

expdp、impdp的exclude、include参数格式说明

expdp、impdp的exclude、include参数格式说明expdp、impdp的exclude、include参数格式说明expdp、impdp是10g的数据泵导入导出新功能,其中exclude 用于排除导入导出某些对象,include用于指定导入导出某些对象。

其语法为:EXCLUDE=[object_type]:[name_clause],[object_type]:[name_ clause]INCLUDE=[object_type]:[name_clause],[object_type]:[name_clau se]object_type:对象类型,如table,view,procedure,db_link,materialized_view等等name_clause:sql表达式,用于过滤对象,如IN ('DEPT','EMP'),LIKE ('D%'),re gexp_like(table_name,’(*JOB*|*DEPAR*|*EMP*)’) ,='EMP' 等等。

注意:如果不是写在参数文件中,而直接写在命令行中,记得加入转义字符。

Windows: 在双引号前加入转义字符D:\> expdp system/manager DIRECTORY=my_dir DUMPFILE=exp_tab.dmp LOGFILE=exp_tab.log SCHEMAS=scott INCLUDE=TABLE:\”IN (’EMP’,‘DEP’)\”Unix:在括号、双引号、单引号前均加入转义字符% expdp system/manager DIRECTORY=my_dir DUMPFILE=exp_tab.dmp LOGFILE=exp_tab.log SCHEMAS=scott INCLUDE=TABLE:\”IN \(\’EMP\’, \’DEP\’\)\”如果写在参数文件中,则无需加入转义字符:如parfile = dp1.par,里面内容如下:DIRECTORY = dumpdirDUMPFILE = exp_tab.dmpLOGFILE = exp_tab.log SCHEMAS = scottINCLUDE = TABLE:"IN ('EMP','DEPT')"。

expdp和impdp语句

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导出数据库和导入数据库操作手册

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` 是导入日志文件的名称。

EXPDB和IMPDP使用

EXPDB和IMPDP使用
EXPDP 使用方法:
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使用

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)详解

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 所有者用户名列表
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DIRECTORY=directory_object Directory_object 用于指定目录对象名称.需要注意,目录对象是使用 CREATE DIRECTORY 语句建 立的对象,而不是 OS 目录 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump 建立目录: CREATE DIRECTORY dump as ‘d:dump’; 查询创建了那些子目录: SELECT * FROM dba_directories; 4. DUMPFILE 用于指定转储文件的名称,默认名称为 expdat.dmp DUMPFILE=[directory_object:]file_name [,….] Directory_object 用于指定目录对象名,file_name 用于指定转储文件名.需要注意,如果不指定 directory_object,导出工具会自动使用 DIRECTORY 选项指定的目录对象
2.Data Pump 导入 expdp
1)从 expdp 中获取数据源 exp.dmp 2)复制某个数据库中的一个 schema 到另一个数据库中。 3) 在同一个数据库中把一个 schema 中所有的对象复制到另一个 schema 中。
例子:
1)impdp 的数据源是 expdp 导出来的 DMP 文件
3) 在同一个数据库中把一个 schema 中所有的对象复制到另一个 schema 中。
‐‐1.创建连接自己的 database link:
create public database link system_self connect to system identified by "system" using 'orcl';
四、导出数据 1)按用户导 expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1; 2)并行进程 parallel expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott 3 3)按表名导 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=tem p,example; 6)导整个数据库 expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp 5. ESTIMATE 指定估算被导出表所占用磁盘空间分方法.默认值是 BLOCKS EXTIMATE={BLOCKS | STATISTICS} 设置为 BLOCKS 时,oracle 会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用 的空间,设置为 STATISTICS 时,根据最近统计值估算对象占用空间 Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump 6. EXTIMATE_ONLY 指定是否只估算导出作业所占用的磁盘空间,默认值为 N EXTIMATE_ONLY={Y | N} 设置为 Y 时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为 N 时,不仅估算 对象所占用的磁盘空间,还会执行导出操作. Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y 7. EXCLUDE 该选项用于指定执行操作时释放要排除对象类型或相关对象 EXCLUDE=object_type[:name_clause] [,….] Object_type 用于指定要排除的对象类型,name_clause 用于指定要排除的具体对象.EXCLUDE 和 INCLUDE 不能同时使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW 8. FILESIZE 指定导出文件的最大尺寸,默认为 0,(表示文件尺寸没有限制) 9. FLASHBACK_SCN 指定导出特定 SCN 时刻的表数据 FLASHBACK_SCN=scn_value Scn_value 用于标识 SCN 值.FLASHBACK_SCN 和 FLASHBACK_TIME 不能同时使用 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=358523 10. FLASHBACK_TIME 指定导出特定时间点的表数据 FLASHBACK_TIME=”TO_TIMESTAMP(time_value)” Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME= “TO_TIMESTAMP(’25‐08‐2004 14:35:00’,’DD‐MM‐YYYY HH24:MI:SS’)” 11. FULL 指定数据库模式导出,默认为 N FULL={Y | N} 为 Y 时,标识执行数据库导出. 12. HELP 指定是否显示 EXPDP 命令行选项的帮助信息,默认为 N 当设置为 Y 时,会显示导出选项的帮助信息. Expdp help=y 13. INCLUDE 指定导出时要包含的对象类型及相关对象 INCLUDE = object_type[:name_clause] [,… ]
五、还原数据 1)导到指定用户下 impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott; 2)改变表的 owner impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REM AP_SCHEMA=scott:system; 3)导入表空间 impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=exa mple; 4)导入数据库 impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y; 5)追加数据 impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABL E_EXISTS_ACTION=append; Expdp/Impdp 的相关参数 EXPDP 命令行选项 1. ATTACH 该选项用于在客户会话与已存在导出作用之间建立关联.语法如下 ATTACH=[schema_name.]job_name Schema_name 用于指定方案名,job_name 用于指定导出作业名.注意,如果使用 ATTACH 选项, 在命令行除了连接字符串和 ATTACH 选项外,不能指定任何其他选项,示例如下: Expdp scott/tiger ATTACH=scott.export_job 2. CONTENT 该选项用于指定要导出的内容.默认值为 ALL CONTENT={ALL | DATA_ONLY | METADATA_ONLY} 当设置 CONTENT 为 ALL 时,将导出对象定义及其所有数据.为 DATA_ONLY 时,只导出对象数据, 为 METADATA_ONLY 时,只导出对象定义 Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METADATA_ONLY 3. DIRECTORY 指定转储文件和日志文件所在的目ata1 as 'd:\test\dump';
二、查看管理理员目录(同时查看操作系统是否存在,因为 Oracle 并不关心该目录是否 存在,如果不存在,则出错) select * from dba_directories;
三、给 scott 用户赋予在指定目录的操作权限,最好以 system 等管理员赋予。 grant read,write on directory dpdata1 to scott;
$expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
include/exclude 例子: include=table:"in('DB','TS')" 或者 include=table:"like '%E%'" 或者 include=function,package,procedure,table:"='EMP'" 或者 exclude=SEQUENCE,TABLE:"IN ('EMP','DEPT')"
数据库链接已创建。
‐‐2.复制 hr schema 到 test schema:
impdp system/system network_link=system_self schemas=hr remap_schema=hr:test 一、 创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以 system 等管理员
相关文档
最新文档