目录
导出-expdp
导入-impdp
首页 数据库 mysql教程 oracle expdp导出和impdp导入使用方法

oracle expdp导出和impdp导入使用方法

May 18, 2018 pm 02:50 PM
oracle 使用方法 导入 导出

本篇介绍一下oracle expdp导出、impdp导入的使用方法 准备工作 导出-expdp 导入-impdp 导出-expdp参数说明 导入-impdp参数说明 准备工作 oracle中的expdp导出、impdp导入的使用之前,都得先完成以下三个步骤 第一步 以管理员身份,创建逻辑目录 create direc

本篇介绍一下oracle expdp导出、impdp导入的使用方法

准备工作

导出-expdp

导入-impdp

导出-expdp参数说明

导入-impdp参数说明

准备工作

oracle中的expdp导出、impdp导入的使用之前,都得先完成以下三个步骤

第一步 以管理员身份,创建逻辑目录

create directory my_dbdata as 'D:/my_dbdata';
登录后复制

第二步 查看逻辑目录是否创建成功

oracle expdp导出和impdp导入使用方法

此时应该在再查看“D:/my_dbdata”这个磁盘物理路径是否存在。因为oracle创建时并不关心该磁盘目录是否存在,如果不存在,则在后续的操作中会报错

第三步 赋予导出用户的逻辑目录操作权限

比如我要导出一个用户名为“answer”的库,则需要用管理员来赋予“answer”用户对于逻辑目录的操作权限。

grant read,write on directory my_dbdata to answer;
登录后复制

操作系统为windows,则打开cmd窗口,若为linux或其他unix系统,则直接在命令行操作

特别注意:在expdp、impdp命令使用时,不要习惯性的在命令末尾加上分号“;”,会导致不经意间出现错误。

曾经我进行导入操作是,最后加了个分号,语句如下:

impdp eppapp0805/eppapp0805 DIRECTORY=epp_data DUMPFILE=eppapptest_88_20130805.dmp 
    remap_schema=eppapptest:eppapp0805;
登录后复制

看见了没,最后那个参数是remap_schema=eppapptest:eppapp0805,表示该dmp包是从eppapptest用户导出来的,要把这个dmp包导入到用户eppapp0805去,结果,导入时oracle把“eppapp0805;”连分号一起当成用户名了,一看现有库中不存在这个用户,就创建新用户,然后就创建了一个带分号结尾的用户。而这个用户还不能登录,因为有特殊字符,非常的郁闷

导出-expdp

1)按用户导出

expdp answer/answer@orcl schemas=answer dumpfile=answer.dmp DIRECTORY=my_dbdata
登录后复制

2)按表名导出

expdp answer/answer@orcl TABLES=a_answer,a_question 
    dumpfile=m_table.dmp DIRECTORY=my_dbdata
登录后复制

3)按查询条件导出

expdp answer/answer@orcl directory=my_dbdata dumpfile=exp_by_query.dmp 
    tables=a_answer query=&#39;WHERE id < 20&#39;
登录后复制

4)按表空间导出

expdp answer/answer DIRECTORY=my_dbdata DUMPFILE=tablespace.dmp TABLESPACES=user
登录后复制

5)整个数据库导出

expdp answer/answer DIRECTORY=my_dbdata DUMPFILE=full.dmp FULL=y
登录后复制

导入-impdp

1)导入到指定用户下

impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp SCHEMAS=answer
登录后复制

2)如果导出的用户表空间跟导入的用户表空间不一致,则按下面的方法导入

impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp 
    REMAP_SCHEMA=user1(导出时的所属用户名):user2(导入时的所属用户名)
登录后复制

3)只导入dmp文件中的某几个表

impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp 
    TABLES=a_answer,a_question
登录后复制

4)导入表空间

impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=tablespace.dmp TABLESPACES=user
登录后复制

5)导入整个数据库

impdb answer/answer DIRECTORY=my_dbdata DUMPFILE=full.dmp FULL=y;
登录后复制

6)追加数据

impdp answer/answer DIRECTORY=my_dbdata DUMPFILE=answer.dmp 
    SCHEMAS=answer TABLE_EXISTS_ACTION=APPEND
登录后复制

导出-expdp参数说明

CONTENT

用于指定要导出的内容,默认为ALL

CONTENT=ALL:导出对象定义和所有数据

        DATA_ONLY:只导出数据

        METADATA_ONLY:只导出对象定义

DIRECTORY

指定逻辑目录的名称,为之前创建的逻辑目录。

EXCLUDE

用于指定执行操作时释放要排除的对象类型或相关对象

EXCLUDE=object_type[:name_clause] [,….]

object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象

例:EXCLUDE=TABLE:EMP


EXCLUDE和INCLUDE不能同时使用

INCLUDE

导出时包含指定的类型

例:INCLUDE=TABLE_DATA,

   INCLUDE=TABLE:"LIKE 'TAB%'"

   INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…


EXCLUDE和INCLUDE不能同时使用

FILESIZE

指定导出文件的大小,默认为0,表示没有大小限制(单位为bytes)

TABLESPACE

指定一个表空间导出

QUERY

QUERY=[schema.]
[table_name:] query_clause

schema为指定方案名,table_name为指定表名,query_clause用于指定条件限制子句


例:expdp answer/answer directory=my_dbdata dumpfiel=answer.dmp tables=a_answer query=’WHERE deptno=20’


QUERY选项不能与CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用.


PARALLEL

并行操作:指定执行导出操作的并行进程个数,默认值为1


您可以通过PARALLEL
参数为导出使用一个以上的线程加速作业。每个线程创建一个单独的转储文件,因此参数dumpfile
应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文件名,


例:expdp answer/answer tables=a_answer directory=my_dbdata dumpfile=expCASES_%U.dmp parallel=4


注意:dumpfile
参数拥有一个通配符%U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中nn 从01 开始,然后按需要向上增加。


在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。


分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护Data
Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。



导入-impdp参数说明

TABBLE_EXISTS_ACTION

TABBLE_EXISTS_ACTION={SKIP
| APPEND | TRUNCATE | FRPLACE }


SKIP:导入时会跳过已存在的对象

APPEND:导入时会追加数据

TRUNCATE:导入时会截断表,然后追加新的数据

REPLACE:导入时会删除已存在的表,重建表再追加数据

REMAP_SCHEMA

用于将源方案中的所有对象装载到目标方案中。

例:如果dmp文件导出时对应用户名为 user1,

    导入时对应用户名为user2,

则因为用户名不一致而无法导入,需要这样用

REMAP_SCHEMA=user1:user2

REMAP_TABLESPACE

将源表空间的所有对象导入到目标表空间

REMAP_TABLESPACE=source_tablespace:target:tablespace

REMAP_DATAFILE

将源数据文件转变为目标数据文件,在不同平台之间搬移表空间可能需要该选项

REMAP_DATAFIEL=source_datafie:target_datafile

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

oracle如何查表空间大小 oracle如何查表空间大小 Apr 11, 2025 pm 08:15 PM

要查询 Oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:SELECT tablespace_name FROM dba_tablespaces;查询表空间大小,方法是运行查询:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

oracle视图如何加密 oracle视图如何加密 Apr 11, 2025 pm 08:30 PM

Oracle 视图加密允许您加密视图中的数据,从而增强敏感信息安全性。步骤包括:1) 创建主加密密钥 (MEk);2) 创建加密视图,指定要加密的视图和 MEk;3) 授权用户访问加密视图。加密视图工作原理:当用户查询加密视图时,Oracle 使用 MEk 解密数据,确保只有授权用户可以访问可读数据。

oracle如何查看实例名 oracle如何查看实例名 Apr 11, 2025 pm 08:18 PM

在 Oracle 中查看实例名的方法有三种:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通过操作系统的任务管理器、Oracle Enterprise Manager 或检查环境变量 (Linux 上的 ORACLE_SID)。

Oracle安装失败如何卸载 Oracle安装失败如何卸载 Apr 11, 2025 pm 08:24 PM

Oracle 安装失败的卸载方法:关闭 Oracle 服务,删除 Oracle 程序文件和注册表项,卸载 Oracle 环境变量,重新启动计算机。若卸载失败,可使用 Oracle 通用卸载工具手动卸载。

oracle如何获取时间 oracle如何获取时间 Apr 11, 2025 pm 08:09 PM

在 Oracle 中获取时间有以下方法:CURRENT_TIMESTAMP:返回当前系统时间,精确到秒。SYSTIMESTAMP:比 CURRENT_TIMESTAMP 更准确,精确到纳秒。SYSDATE:返回当前系统日期,不含时间部分。TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'): 将当前系统日期和时间转换为特定格式。EXTRACT:从时间值中提取特定部分,如年份、月份或小时。

oracle数据库如何导入 oracle数据库如何导入 Apr 11, 2025 pm 08:06 PM

数据导入方法:1. 使用 SQLLoader 实用程序:准备数据文件、创建控制文件、运行 SQLLoader;2. 使用 IMP/EXP 工具:导出数据、导入数据。提示:1. 大数据集推荐 SQL*Loader;2. 目标表应存在,列定义匹配;3. 导入后需验证数据完整性。

oracle怎么循环创建游标 oracle怎么循环创建游标 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循环可动态创建游标, 步骤为:1. 定义游标类型;2. 创建循环;3. 动态创建游标;4. 执行游标;5. 关闭游标。示例:可循环创建游标,显示前 10 名员工姓名和工资。

oracle如何设置用户 oracle如何设置用户 Apr 11, 2025 pm 08:21 PM

在 Oracle 中创建用户需遵循以下步骤:使用 CREATE USER 语句创建新用户。使用 GRANT 语句授予必要权限。可选:使用 RESOURCE 语句设置配额。配置其他选项,如默认角色和临时表空间。

See all articles