oracle 命令行输出到文件路径,ORACLE EXPDP命令使用详解

1. DIRECTORY

指定转储文件和日志文件所在的目录DIRECTORY=directory_object

Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录Expdp scott/tiger DIRECTORY= DMPDUMPFILE=a.dump

createor replace directory dmp

as'd:/dmp'

expdp zftang/zftang@zftang directory=dmp  dumpfile=test.dmp content=metadata_only

2. CONTENT

该选项用于指定要导出的内容.默认值为ALL

CONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义

expdp zftang/zftang@zftang directory=dmp  dumpfile=test.dmp content=metadata_only

----------只导出对象定义

expdp zftang/zftang@zftang directory=dmp  dumpfile=test.dmp content=data_only

----------导出出所有数据

3. DUMPFILE

用于指定转储文件的名称,默认名称为expdat.dmp

DUMPFILE=[directory_object:]file_name [,….]

Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象

expdp zftang/zftang@zftang directory=dmp  dumpfile=test1.dmp

数据泵工具导出的步骤:

1、创建DIRECTORY

create directory dir_dp as 'D:/oracle/dir_dp';

2、授权Grant read,write on directory dir_dp to zftang;

--查看目录及权限SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d

WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;

3、执行导出expdp zftang/zftang@fgisdb schemas=zftang 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启动"ZFTANG"."SYS_EXPORT_SCHEMA_01":  zftang/********@fgisdb sch

ory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;  */备注:1、directory=dir_dp必须放在前面,如果将其放置最后,会提示ORA-39002:操作无效ORA-39070:无法打开日志文件。ORA-39087:目录名DATA_PUMP_DIR;无效2、在导出过程中,DATA DUMP创建并使用了一个名为SYS_EXPORT_SCHEMA_01的对象,此对象就是DATA DUMP导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JOB名字那么就会产生一个默认的JOB名字,如果在导出过程中指定JOB名字就为以指定名字出现如下改成:expdp zftang/zftang@fgisdb schemas=zftang directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;3、导出语句后面不要有分号,否则如上的导出语句中的job表名为‘my_job1;’,而不是my_job1。因此导致expdp zftang/zftang attach=zftang.my_job1执行该命令时一直提示找不到job表

数据泵导出的各种模式:

1、按表模式导出:expdp zftang/zftang@fgisdb  tables=zftang.b$i_exch_info,zftang.b$i_manhole_info dumpfile =expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp job_name=my_job

2、按查询条件导出:expdp zftang/zftang@fgisdb  tables=zftang.b$i_exch_info dumpfile =expdp_test3.dmp logfile=expdp_test3.log directory=dir_dp job_name=my_job query='"where rownum<11"'

3、按表空间导出:Expdp zftang/zftang@fgisdb dumpfile=expdp_tablespace.dmp tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job

4、导出方案Expdp zftang/zftang DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=zftang,gwm

5、导出整个数据库:expdp zftang/zftang@fgisdb dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job

impdp导入模式:

1、按表导入p_street_area.dmp文件中的表,此文件是以gwm用户按schemas=gwm导出的:impdp gwm/gwm@fgisdb  dumpfile =p_street_area.dmp logfile=imp_p_street_area.log directory=dir_dp tables=p_street_area job_name=my_job

2、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)impdp gwm/gwm@fgisdb schemas=gwm dumpfile =expdp_test.dmp logfile=expdp_test.log directory=dir_dp job_name=my_job

3、不通过expdp的步骤生成dmp文件而直接导入的方法:--从源数据库中向目标数据库导入表p_street_area

impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_area.log  job_name=my_job

igisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录4、更换表空间采用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

exp与imp

exp的关键字说明:

关键字   说明 (默认值)

------------------------------

USERID   用户名/口令

BUFFER   数据缓冲区大小

FILE     输出文件 (EXPDAT.DMP)

COMPRESS  导入到一个区 (Y)

GRANTS    导出权限 (Y)

INDEXES   导出索引 (Y)

DIRECT    直接路径 (N)  --直接导出速度较快

LOG      屏幕输出的日志文件

ROWS      导出数据行 (Y)

CONSISTENT 交叉表的一致性 (N)

FULL        导出整个文件 (N)

OWNER      所有者用户名列表

TABLES     表名列表

RECORDLENGTH   IO记录的长度

INCTYPE     增量导出类型

RECORD       跟踪增量导出 (Y)

TRIGGERS     导出触发器 (Y)

STATISTICS    分析对象 (ESTIMATE)

PARFILE      参数文件名

CONSTRAINTS  导出的约束条件 (Y)

OBJECT_CONSISTENT    只在对象导出期间设置为只读的事务处理 (N)

FEEDBACK             每 x 行显示进度 (0)

FILESIZE             每个转储文件的最大大小

FLASHBACK_SCN        用于将会话快照设置回以前状态的 SCN

FLASHBACK_TIME       用于获取最接近指定时间的 SCN 的时间

QUERY                用于导出表的子集的 select 子句

RESUMABLE            遇到与空格相关的错误时挂起 (N)

RESUMABLE_NAME       用于标识可恢复语句的文本字符串

RESUMABLE_TIMEOUT    RESUMABLE 的等待时间

TTS_FULL_CHECK       对 TTS 执行完整或部分相关性检查

TABLESPACES          要导出的表空间列表

TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

TEMPLATE             调用 iAS 模式导出的模板名

常用的exp关键字

1、full用于导出整个数据库,在rows=n一起使用,导出整个数据库的结构。

如:exp userid=gwm/gwm file=/test.dmp log=test.log full=y rows=n direct=y

2、OWNER和TABLES,用于定义exp导出的对象,可加上query条件设置导出的行数

如:exp userid=gwm/gwm file=/test.dmp log=test.log owner=gwm table=(table1,table2)  query="'where rownum<11'"

3、buffer和feedback 若导出数据较大,考虑使用这两个参数。

如:exp userid=gwm/gwm file=/test.dmp log=test.log feedback=10000 buffer=100000000 tables=(table1,table2)

4、file和log 用于指定备份的dmp名称和log名称

5、compress 不压缩导出数据的内容,默认y

6、filesize 若导出的数据文件大,应该用该参数,限制文件大小不要超过2g

如:exp userid=gwm/gwm file=/test1,test2,test3,test4,test5 filesize=2G log=test.log

这样将创建test1.dmp,test2.dmp等,每个文件大小为2g。

imp关键字说明

关键字   说明 (默认值)        关键字      说明 (默认值)

-------------------------------------------------------------

USERID   用户名/口令           FULL       导入整个文件 (N)

BUFFER   数据缓冲区大小        FROMUSER    所有者用户名列表

FILE     输入文件 (EXPDAT.DMP)  TOUSER     用户名列表

SHOW     只列出文件内容 (N)     TABLES      表名列表

IGNORE   忽略创建错误 (N)    RECORDLENGTH  IO 记录的长度

GRANTS   导入权限 (Y)          INCTYPE     增量导入类型

INDEXES   导入索引 (Y)         COMMIT       提交数组插入 (N)

ROWS     导入数据行 (Y)        PARFILE      参数文件名

LOG     屏幕输出的日志文件    CONSTRAINTS    导入限制 (Y)

DESTROY                覆盖表空间数据文件 (N)

INDEXFILE              将表/索引信息写入指定的文件

SKIP_UNUSABLE_INDEXES  跳过不可用索引的维护 (N)

FEEDBACK               每 x 行显示进度 (0)

TOID_NOVALIDATE        跳过指定类型 ID 的验证

FILESIZE               每个转储文件的最大大小

STATISTICS             始终导入预计算的统计信息

RESUMABLE              在遇到有关空间的错误时挂起 (N)

RESUMABLE_NAME         用来标识可恢复语句的文本字符串

RESUMABLE_TIMEOUT      RESUMABLE 的等待时间

COMPILE                编译过程, 程序包和函数 (Y)

STREAMS_CONFIGURATION  导入流的一般元数据 (Y)

STREAMS_INSTANTIATION  导入流实例化元数据 (N)

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)

TABLESPACES 将要传输到数据库的表空间

DATAFILES 将要传输到数据库的数据文件

TTS_OWNERS 拥有可传输表空间集中数据的用户

备注:

INCTYPE     增量导入类型 该参数到9i已废弃,我使用的是oracle11g做的实验,发现该参数已无法使用。如下实验所示:

C:\Users\thinkpad>imp fyzh_ora/FYZH_ORA file=rm_trs_seg.dmp log=rm_trs_seg.log f

romuser=ltwebgisinctype=restore

Import: Release 11.1.0.7.0 - Production on 星期二 1月 10 22:18:14 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件

警告: 这些对象由 LTWEBGIS 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入

IMP-00021: INCTYPE 参数已废弃

IMP-00083: 转储文件中不包含增量导出

IMP-00000: 未成功终止导入

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值