Oracle impdp/expdp 使用详解


大部分是转的,各种,记录下。

EXPDP 可以导出所有数据库的数据,只要它能连接到这个数据库,或者它登录的数据库
上能读取到被导出的库的数据,因为此时可以通过数据库链来读取被导出的库的数据。

http://zalbb.itpub.net/post/980/395955

 

a. 创建到服务端的dblink
create database link link_name connect to  username identified by password using 'connect_string' ;//username和password是server端的
b.conn / as sysdba
create or replace directory dir as 'directory';
grant read,write on directory dir to username;

c.expdp username/password  directory=dir network_link=link_name ...  //这里的username用创建dblink的那个用户,directory也是目标数据库创建的   

3.如果想不生成dmp文件而直接导入一个数据库,原理和2类似,直接使用impdp带network_link ,这样可以直接impdp,而绕过了expdp的步骤

nelwork_link意思是从本地数据库导入datafile直接到remote database,中间省略了exp的操作,nelwork_link=source_database_link,请确认nelwork_link参数 是一个存在的目标数据库名称,同时存在database link.

 

补充一下他的限制条件,刚刚看到的
nelwork_link parameter Restrictions

Network imports do not support the use of evolved types.
a:  When the NETWORK_LINK parameter is used in conjunction with the TABLES parameter, only whole tables can be imported (not partitions of tables).
b:  If the USERID that is executing the import job has the IMP_FULL_DATABASE role on the target database, then that user must also have the EXP_FULL_DATABASE role on the source database.The only types of database links supported by Data Pump Import are: public, fixed-user, and connected-user. Current-user database links are not supported.

 

哈哈,NETWORK_LINK 的方向问题,确实很容易让搞晕,你说了之后我才记得起来,区别方法很简单:

impdp 连到哪个数据库,说明把数据导入哪个数据库,所以,impdp 使用NETWORK_LINK 链时,应该是它指向的远程数据导到 impdp 连接的库.

这样理解,容易记住了.

 http://www.itpub.net/thread-943998-1-1.html



expdp介绍

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
指定转储文件和日志文件所在的目录
DIRECTORY=directory_object
Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录
Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump

4. DUMPFILE
用于指定转储文件的名称,默认名称为expdat.dmp
DUMPFILE=[directory_object:]file_name [,….]
Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象
Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp

5. ESTIMATE
指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKS
ESTIMATE={BLOCKS | STATISTICS}
设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间
Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump

6. ESTIMATE_ONLY
指定是否只估算导出作业所占用的磁盘空间,默认值为N
EXTIMATE_ONLY={Y | N}
设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.
Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y

7. EXCLUDE(具体见2、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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值