oracle 10g数据库expdp,impdp
- 格式:doc
- 大小:25.00 KB
- 文档页数:2
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是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导出数据库和导入数据库操作手册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` 是导入日志文件的名称。
exp导出备份的属性详解在工作中经常需要对oracle数据库进行备份、异地恢复的情况。
Oracle的常规备份无非是exp/imp,expdp/impdp,rman三种方式。
1.exp/imp简单方便,适用于跨db版本、跨os平台、异地备份等情况,是大家最常用的一种备份方式。
2.expdp/impdp是10g以后推出的备份方式,其特点就是效率的大幅改善,据eygle报告,impdp相比与传统imp有20倍速度提升,其最大的缺点是不能跨数据库版本,连小版本号也不行(例如11.1到11.2)。
3.rman相比前两种备份方式,相对配置复杂,一般是DBA作为前两种方案的备份。
先看看exp/imp的用法:1.基本的exp写法1.exp userid/passwd@infodb81file=user_$DATE.dmp log=user_$DATE.loger: oracle用户名3.passwd:数据库用户密码db81:数据库的连接字符串5.file:备份后的文件名6.log:备份日志文件2.exp的参数参数一:buffer1.exp userid/passwd@infodb81 file=user_$DATE.dmp buffer=40960000002.注意:buffer的单位是bytes,例如设置1M,则是1024000,上面的例子设置的是400M。
3.根据我们测试的结果,加入buffer参数后,约有40%的性能提升。
4.5.经过反复验证:合理的buffer值是10240000-1024000之间,再大了反而效率更低。
6.环境:aix 6.1 16c 32G,sga信息如下7.SQL> show sga8.Total System Global Area 2.0043E+10 bytes9.Fixed Size 2153336 bytes10.Variable Size 1.3690E+10 bytes11.Database Buffers 6174015488 bytes12.Redo Buffers 176394240 bytes13.性能对比:14.加入buffer参数前(数据约9G,共31分钟)15.==========备份用户sinosybak 11-02-21 02:08:16 ====================16.==========备份用户shyang 11-02-21 02:35:49 ====================17.加入Buffer参数后(约18分钟)18.==========备份用户sinosybak 11-02-28 02:25:04 ====================19.==========备份用户shyang 11-02-28 02:43:52 ====================------------------------------------------------------------------------------------------------------------------------参数二:direct1.exp userid/passwd@infodb81file=user_$DATE.dmp direct=y recordlength=655362.direct :直接导出,数据从磁盘读入到高速缓存,直接写入到最终文件,所以没有数据行检查与匹配的过程。
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】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使⽤expdp、impdp和exp、imp导⼊导出表及表结构使⽤expdp、impdp和exp、imp时应该注重的事项:1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。
2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。
3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。
4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。
exp、imp导⼊导出sqlplus 进⼊数据库中导出直接在命令⾏下写命令1.导出⾃⼰的表exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1.dmp2.导出其它⽅案的表如果⽤户要导出其它⽅案的表,则需要dba的权限或是exp_full_database的权限,⽐如system就可以导出scott的表exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.emp3. 导出表的结构exp userid=scott/tiger@accp tables=(emp) file=/opt/e3.dmp rows=n4. 使⽤直接导出⽅式exp userid=scott/tiger@accp tables=(emp) file=/opt/e4.dmp direct=y这种⽅式⽐默认的常规⽅式速度要快,当数据量⼤时,可以考虑使⽤这样的⽅法。
这时需要数据库的字符集要与客户端字符集完全⼀致,否则会报错导出⽅案导出⽅案是指使⽤export⼯具导出⼀个⽅案或是多个⽅案中的所有对象(表,索引,约束...)和数据。
并存放到⽂件中1. 导出⾃⼰的⽅案exp userid=scott/tiger@myorcl owner=scott file=/opt/scott.dmp2. 导出其它⽅案如果⽤户要导出其它⽅案,则需要dba的权限或是exp_full_database的权限,⽐如system⽤户可以导出任何⽅案exp userid=system/manager@myorcl owner=(system,scott) file=/opt/system.dmp导出数据库导出数据库是指利⽤export导出所有数据库中的对象及数据,要求该⽤户具有dba的权限或者是exp_full_database权限增量备份(好处是第⼀次备份后,第⼆次备份就快很多了)exp userid=system/manager@myorcl full=y inctype=complete file=/opt/all.dmp导⼊1. 导⼊⾃⼰的表imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp2. 导⼊表到其它⽤户要求该⽤户具有dba的权限imp_full_database imp userid=system/tiger@myorcl tables=(emp) file=/opt/xx.dmp touser=scott3. 导⼊表的结构,只导⼊表的结构⽽不导⼊数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp rows=n4. 导⼊数据如果对象(如⽐表)已经存在可以只导⼊表的数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp ignore=y导⼊⽅案导⼊⽅案是指使⽤import⼯具将⽂件中的对象和数据导⼊到⼀个或是多个⽅案中。
Expdp与impdp使用
Expdp
1.创建目录
Create or replace directory DIR_DP as'/orabak';
1)可以使用system 创建;
2)Aix下的oracle用户需要对相应的目录具备读写的权限;
3)嘉兴使用的是orabak路径;本地路径为导出数据库所在目录,例”e:\orabak”;
2.赋予权限;
Grant Read, Write on directory DIR_DP to jxcz;
1)使用system用户赋权;
2)确认是否有权限:
select * from dba_directories where DIRECTORY_NAME = 'DIR_DP'; 3.通过shell,以oracle登录:
直接执行命令:
Expdp jxcz/ufgov1234 DIRECTORY=dir_dp DUMPFILE=jxcz.dmp
EXCLUDE=TABLE:\"IN
\(\'BA_RECEIVE_SS_CZ613_BODY\',\'SS_TO_BANK_DATA\',\'SS_TRANS_R
ECORD\',\'BA_RECEIVE_RECORD_XML\',\'BA_SEND_RECORD_XML\',\'NT_B
ILL\',\'NT_BILL_ITEM\',\'NT_JB_HX_PJMX_LOG\',\'NT_DATA_DEL_LOG\
',\'NT_JB_HX_PJQD_LOG\',\'FA_CARD_MO\',\'FA_CARD\',\'AS_FILE\',
\'AS_LOG\'\)\"
expdp jxcz/ufgov2012 DIRECTORY=dir_dp DUMPFILE=jxcz1210.dmp
EXCLUDE=TABLE:\"IN\(\'BA_RECEIVE_SS_CZ613_BODY\',
\'BANK_TRADE_LOG\',\'GK_JXCZ_ZH_ZCCX\',\'NT_JXCZ_COMPANY_NJZCB\
',\' AS_LOG \',\' CP_VOUCHER
\',\'SS_TO_BANK_DATA\',\'SS_TRANS_RECORD\',\'BA_RECEIVE_RECORD_
XML\',\'BA_SEND_RECORD_XML\',\'NT_BILL\',\'NT_BILL_ITEM\',\'NT_
JB_HX_PJMX_LOG\',\'NT_DATA_DEL_LOG\',\'NT_JB_HX_PJQD_LOG\',\'FA
_CARD_MO\',\'FA_CARD\',\'AS_FILE\'\)\"
1)Expdp中的e必须小写;
2)EXCLUDE需要全部大写;
3)Aix需要使用”\”,windows 不需要;
4)注意修改dmp文件;
5)命令把平常比较大的几张物理表排除了,如果需要个别的物理表,请自行删除去除的语句;
注:(1)以上几张表目前占了嘉兴数据库的80%的空间(2)删除时请注意EXCLUDE 的语法,出错往往是里面的值有错了。
6)查询占用空间比较大的表语句为:
Select segment_name, sum(bytes)/1024/1024 Mbytese from user_segments t
Where t.Segment_Name Not Like 'SYS%' group by segment_name order by Mbytese Desc;
4.将导出文件压缩:
Gzip –c jxcz.dmp -> jxcz.zip
Gzip jxcz.dmp -v jxcz.dmp
1)一定要在orabak文件目录下运行
impdp
在wingdows本机使用导入前,先注意一下事项:
1)不能直接从aix上传输dmp文件,否则导入时报错;所以服务器上一定要压缩,但是压缩需要时间,不要一执行压缩命令就退出;
2)本机同样需要重复expdp的第一步,第二步命令
执行命令:impdp jxcz444/1@orcl dumpfile=jxcz0110.dmp
d irectory=DIR_DP REMAP_SCHEMA=jxcz:jxcz444
EXCLUDE=TABLE/STATISTICS/TABLE_STATISTICS
参数讲解:dumpfile导出文件的名称;
Directory 自己建立的目录名称;
REMAP_SCHEMA冒号前是自己导出时的用户,冒号后是要导入的用户
在DOS页面直接输入。
新建用户必须自检表空间,不可使用系统自带的表空间。
s
另外在导入时,需要将没导出的物理表重新建立,因为导出时,expdp不是不导出数据,是连物理表都不建立。