oracle导入导出expdp impdp详解

Oracle的expdp和impdp工具用于数据库的导出和导入操作。expdp涉及的选项包括DIRECTORY、DUMPFILE、CONTENT、EXCLUDE、INCLUDE等,用于设置导出文件位置、内容类型、排除或包含的对象等。impdp提供了REMAP_SCHEMA、REMAP_TABLESPACE等选项,用于在导入时重定向对象和表空间。这两个工具在数据库迁移、备份和恢复中发挥重要作用。
摘要由CSDN通过智能技术生成

expdp使用

  使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限。

首先得建DIRECTORY:

  SQL> conn /as sysdba

  SQL> CREATE OR REPLACE DIRECTORY directory_name AS 'directory_path';

        同样可以更改directory的os路径

  SQL> GRANT read,write ON DIRECTORY directory_name TOusername;

        查询directory目录

        SQL> select * from dba_directories;

        SQL> select * from all_directories;

        删除directory目录

        SQL> drop directory directory_name;

expdp选项

1. ATTACH

  该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:

  ATTACH=[schema_name.]job_name

  schema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:

  expdp username/password ATTACH=username.job_name

2. CONTENT

  该选项用于指定要导出的内容.默认值为ALL.语法如下:

  CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

  当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:

  expdp username/password DIRECTORY=directory_name DUMPFILE=dumpfile_name CONTENT=METADATA_ONLY

3. DIRECTORY

  指定转储文件和日志文件所在的目录.语法如下:

  DIRECTORY=directory_object

  directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:

  expdp username/password DIRECTORY=directory_name DUMPFILE=dumpfile_name

  建立目录:

  CREATE DIRECTORY directory_name as '/oracle/dump';

  查询创建了那些子目录:

  SELECT * FROM dba_directories;

4. DUMPFILE

  用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:

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

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

  expdp username/password DIRECTORY=directory_name DUMPFILE=directory_name:dumpfile_name

5. ESTIMATE

  指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:

  EXTIMATE={BLOCKS | STATISTICS}

  设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下:

  expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dumpDUMPFILE=a.dump

  一般情况下, 当用默认值(blocks)时, 日志中估计的文件大小会比实际expdp出来的文件大, 用statistics时会跟实际大小差不多.

6. EXTIMATE_ONLY

  指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:

  EXTIMATE_ONLY={Y | N}

  设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:

  expdp username/password 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

  在EXPDP的帮助文件中, 可以看到存在EXCLUDE和INCLUDE参数, 这两个参数文档中介绍的命令格式存在问题, 正确用法是:

  EXCLUDE=OBJECT_TYPE[:name_clause][,...]

  INCLUDE=OBJECT_TYPE[:name_clause][,...]

  示例:

Expdp <other_parameters> schema=username exclude=sequence,table:"in('TB','DTP')"

impdp <other_parameters> schema=username include = function,package, procedure, table:"='TB'"

  有了这些还不够, 由于命令中包含了多个特殊字符, 在不同

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值