码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE 数据泵导入导出数据

时间:2018-01-22 17:33:27      阅读:635      评论:0      收藏:0      [点我收藏+]

标签:cte   记录   patch   rect   lte   ora   actions   art   数据库   

一、摘要
在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间。oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间,而且文件也要小很多。
二、exp/imp与expdp/impdp区别
(1) 把用户usera的对象导到用户userb,用法区别在于fromuser=usera touser=userb ,remap_schema=’usera’:‘usera’ 。

例如:imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.log;

  impdp system/passwd directory=expdp dumpfile=expdp.dmp remap_schema=’usera’:‘userb’ logfile=/oracle/exp.log;

(2) 更换表空间,用exp/imp的时候,要想更改表所在的表空间,需要手工去处理一下,

如alter table xxx move tablespace_new之类的操作。

用impdp只要用remap_tablespace=’tabspace_old’:‘tablespace_new’

(3) 当指定一些表的时候,使用exp/imp 时,tables的用法是 tables=(‘table1′,’table2′,’table3′)。

expdp/impdp的用法是tables=’table1′,’table2′,’table3′

(4) 是否要导出数据行

exp (ROWS=Y 导出数据行,ROWS=N 不导出数据行)

expdp content(ALL:对象+导出数据行,DATA_ONLY:只导出对象,METADATA_ONLY:只导出数据的记录)

(5) expdp是[10g]的新特性而且只能在服务器执行。而exp/imp是通用的。11g/12c开始可以客户端运行,保存在服务器。

(6) oracle11g中有个新特性,当表无数据时,不分配segment,以节省空间,所以exp导不出空表。解决的办法是用expdp, 当然也可以设置deferred_segment_creation 参数 或者 insert一行,再rollback,但是这样很麻烦。
三、导出数据
Step1. 创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory data_pump名 as ‘data_pump目录‘;
Step2. 查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select directory_name,directory_path from dba_directories where DIRECTORY_NAME=‘data_pump名‘;
Step3. 给用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory data_pump目录 to 用户;

(1). 导整个数据库
C:\Users\Administrator>expdp system/xxxxxx@clonepdb_plug dumpfile=ful.dmp
DIRECTORY=systemdmp logfile=full.log full=y
Export: Release 12.2.0.1.0 - Production on 星期一 1月 22 16:12:01 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produc
tion
自动启用 FLASHBACK 以保持数据库完整性。
启动 "SYSTEM"."SYS_EXPORT_FULL_01": system/****@clonepdb_plug dumpfile=ful.
dmp DIRECTORY=systemdmp logfile=full.log full=y
处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 DATABASE_EXPORT/STATISTICS/MARKER
处理对象类型 DATABASE_EXPORT/PRE_SYSTEM_IMPCALLOUT/MARKER
处理对象类型 DATABASE_EXPORT/PRE_INSTANCE_IMPCALLOUT/MARKER
处理对象类型 DATABASE_EXPORT/TABLESPACE
处理对象类型 DATABASE_EXPORT/PROFILE
处理对象类型 DATABASE_EXPORT/SYS_USER/USER
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/ROLE
处理对象类型 DATABASE_EXPORT/RADM_FPTM
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/ON_USER_GRANT
处理对象类型 DATABASE_EXPORT/RESOURCE_COST
处理对象类型 DATABASE_EXPORT/SCHEMA/DB_LINK
处理对象类型 DATABASE_EXPORT/TRUSTED_DB_LINK
处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE
处理对象类型 DATABASE_EXPORT/DIRECTORY/DIRECTORY
处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM

处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTE
M
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE
处理对象类型 DATABASE_EXPORT/EARLY_POST_INSTANCE_IMPCALLOUT/MARKER
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE
处理对象类型 DATABASE_EXPORT/NORMAL_POST_INSTANCE_IMPCALLOUT/MARKER
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/COMMENT
处理对象类型 DATABASE_EXPORT/SCHEMA/VIEW/VIEW
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 DATABASE_EXPORT/FINAL_POST_INSTANCE_IMPCALLOUT/MARKER
处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA
处理对象类型 DATABASE_EXPORT/AUDIT_UNIFIED/AUDIT_POLICY_ENABLE
处理对象类型 DATABASE_EXPORT/POST_SYSTEM_IMPCALLOUT/MARKER
. . 导出了 "SYS"."KU$_USER_MAPPING_VIEW" 6.125 KB 40 行
. . 导出了 "SYSTEM"."REDO_DB" 25.58 KB 1 行
. . 导出了 "ORDDATA"."ORDDCM_DOCS" 252.9 KB 9 行
. . 导出了 "WMSYS"."WM$WORKSPACES_TABLE$" 12.10 KB 1 行
. . 导出了 "WMSYS"."WM$HINT_TABLE$" 9.984 KB 97 行
. . 导出了 "LBACSYS"."OLS$INSTALLATIONS" 6.953 KB 2 行
. . 导出了 "WMSYS"."WM$WORKSPACE_PRIV_TABLE$" 7.078 KB 11 行
. . 导出了 "SYS"."DAM_CONFIG_PARAM$" 6.523 KB 14 行
. . 导出了 "SYS"."TSDP_SUBPOL$" 6.320 KB 1 行
. . 导出了 "WMSYS"."WM$NEXTVER_TABLE$" 6.375 KB 1 行
. . 导出了 "LBACSYS"."OLS$PROPS" 6.234 KB 5 行
. . 导出了 "WMSYS"."WM$ENV_VARS$" 6.015 KB 3 行
. . 导出了 "SYS"."TSDP_PARAMETER$" 5.945 KB 1 行
. . 导出了 "SYS"."TSDP_POLICY$" 5.914 KB 1 行
. . 导出了 "WMSYS"."WM$VERSION_HIERARCHY_TABLE$" 5.976 KB 1 行
. . 导出了 "WMSYS"."WM$EVENTS_INFO$" 5.812 KB 12 行
. . 导出了 "LBACSYS"."OLS$AUDIT_ACTIONS" 5.75 KB 8 行
. . 导出了 "LBACSYS"."OLS$DIP_EVENTS" 5.539 KB 2 行
. . 导出了 "LBACSYS"."OLS$AUDIT" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$COMPARTMENTS" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$DIP_DEBUG" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$GROUPS" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$LAB" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$LEVELS" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$POL" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$POLICY_ADMIN" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$POLS" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$POLT" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$PROFILE" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$PROFILES" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$PROG" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$SESSINFO" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$USER" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$USER_COMPARTMENTS" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$USER_GROUPS" 0 KB 0 行
. . 导出了 "LBACSYS"."OLS$USER_LEVELS" 0 KB 0 行
. . 导出了 "SYS"."AUD$" 0 KB 0 行
. . 导出了 "SYS"."DAM_CLEANUP_EVENTS$" 0 KB 0 行
. . 导出了 "SYS"."DAM_CLEANUP_JOBS$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_ASSOCIATION$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_CONDITION$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_FEATURE_POLICY$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_PROTECTION$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_SENSITIVE_DATA$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_SENSITIVE_TYPE$" 0 KB 0 行
. . 导出了 "SYS"."TSDP_SOURCE$" 0 KB 0 行
. . 导出了 "SYSTEM"."REDO_LOG" 0 KB 0 行
. . 导出了 "WMSYS"."WM$BATCH_COMPRESSIBLE_TABLES$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$CONSTRAINTS_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$CONS_COLUMNS$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$LOCKROWS_INFO$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$MODIFIED_TABLES$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$MP_GRAPH_WORKSPACES_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$MP_PARENT_WORKSPACES_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$NESTED_COLUMNS_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$RESOLVE_WORKSPACES_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$RIC_LOCKING_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$RIC_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$RIC_TRIGGERS_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$UDTRIG_DISPATCH_PROCS$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$UDTRIG_INFO$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$VERSION_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$VT_ERRORS_TABLE$" 0 KB 0 行
. . 导出了 "WMSYS"."WM$WORKSPACE_SAVEPOINTS_TABLE$" 0 KB 0 行
. . 导出了 "MDSYS"."RDF_PARAM$" 6.507 KB 3 行
. . 导出了 "SYS"."AUDTAB$TBS$FOR_EXPORT" 5.953 KB 2 行
. . 导出了 "SYS"."DBA_SENSITIVE_DATA" 0 KB 0 行
. . 导出了 "SYS"."DBA_TSDP_POLICY_PROTECTION" 0 KB 0 行
. . 导出了 "SYS"."FGA_LOG$FOR_EXPORT" 0 KB 0 行
. . 导出了 "SYS"."NACL$_ACE_EXP" 0 KB 0 行
. . 导出了 "SYS"."NACL$_HOST_EXP" 6.914 KB 1 行
. . 导出了 "SYS"."NACL$_WALLET_EXP" 0 KB 0 行
. . 导出了 "SYS"."SQL$TEXT_DATAPUMP" 0 KB 0 行
. . 导出了 "SYS"."SQL$_DATAPUMP" 0 KB 0 行
. . 导出了 "SYS"."SQLOBJ$AUXDATA_DATAPUMP" 0 KB 0 行
. . 导出了 "SYS"."SQLOBJ$DATA_DATAPUMP" 0 KB 0 行
. . 导出了 "SYS"."SQLOBJ$PLAN_DATAPUMP" 0 KB 0 行
. . 导出了 "SYS"."SQLOBJ$_DATAPUMP" 0 KB 0 行
. . 导出了 "SYSTEM"."SCHEDULER_JOB_ARGS" 0 KB 0 行
. . 导出了 "SYSTEM"."SCHEDULER_PROGRAM_ARGS" 9.515 KB 12 行
. . 导出了 "WMSYS"."WM$EXP_MAP" 7.710 KB 3 行
. . 导出了 "WMSYS"."WM$METADATA_MAP" 0 KB 0 行
. . 导出了 "SCOTT"."EMP" 8.695 KB 12 行
. . 导出了 "SCOTT"."DEPT" 6 KB 3 行
. . 导出了 "SCOTT"."SALGRADE" 5.953 KB 5 行
. . 导出了 "SCOTT"."TEST_01" 5.187 KB 12 行
. . 导出了 "SCOTT"."BONUS" 0 KB 0 行
. . 导出了 "SCOTT"."TEST1" 0 KB 0 行
. . 导出了 "SCOTT"."TEST2" 0 KB 0 行
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_FULL_01"


SYSTEM.SYS_EXPORT_FULL_01 的转储文件集为:
C:\ORACLEBACK\DATAPUMP\FUL.DMP
作业 "SYSTEM"."SYS_EXPORT_FULL_01" 已于 星期一 1月 22 16:14:04 2018 elapsed 0 00
:02:02 成功完成
验证
sys@clonepdb_plugPDB> drop user scott cascade;

User dropped.

Elapsed: 00:00:02.85
sys@clonepdb_plugPDB> select from scott.emp;
select
from scott.emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

Elapsed: 00:00:00.01
C:\Users\Administrator>impdp system/xxxxx@clonepdb_plug dumpfile=systemd
mp:ful.dmp logfile=scott_imp.log schemas=scott

Import: Release 12.2.0.1.0 - Production on 星期一 1月 22 16:30:23 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produc
tion
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_SCHEMA_01"
启动 "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/****@clonepdb_plug dumpfile=sy
stemdmp:ful.dmp logfile=scott_imp.log schemas=scott
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
. . 导入了 "SCOTT"."EMP" 8.695 KB 12 行
. . 导入了 "SCOTT"."DEPT" 6 KB 3 行
. . 导入了 "SCOTT"."SALGRADE" 5.953 KB 5 行
. . 导入了 "SCOTT"."TEST_01" 5.187 KB 12 行
. . 导入了 "SCOTT"."BONUS" 0 KB 0 行
. . 导入了 "SCOTT"."TEST1" 0 KB 0 行
. . 导入了 "SCOTT"."TEST2" 0 KB 0 行
处理对象类型 DATABASE_EXPORT/SCHEMA/VIEW/VIEW
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 DATABASE_EXPORT/STATISTICS/MARKER
ORA-39082: 对象类型 VIEW:"SCOTT"."V_TEST" 已创建, 但带有编译警告

ORA-39082: 对象类型 VIEW:"SCOTT"."V_TEST1" 已创建, 但带有编译警告

作业 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 已经完成, 但是有 2 个错误 (于 星期一 1月 22
16:30:43 2018 elapsed 0 00:00:18 完成)
sys@clonepdb_plugPDB> select * from scott.emp;

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO

  7369 SMITH      CLERK           7902 1980-12-17 00:00:00        800                    20
  7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30
  7521 WARD       SALESMAN        7698 1981-02-22 00:00:00       1250        500         30
  7566 JONES      MANAGER         7839 1981-04-02 00:00:00       2975                    20
  7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30
  7698 BLAKE      MANAGER         7839 1981-05-01 00:00:00       2850                    30
  7782 CLARK      MANAGER         7839 1981-06-09 00:00:00       2450                    10
  7839 KING       PRESIDENT            1981-11-17 00:00:00       5000                    10
  7844 TURNER     SALESMAN        7698 1981-09-08 00:00:00       1500          0         30
  7900 JAMES      CLERK           7698 1981-12-03 00:00:00        950                    30
  7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000                    20

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO

  7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300                    10

12 rows selected.

Elapsed: 00:00:00.02
(2). 按用户导
C:\Users\Administrator>expdp system/xxxx@clonepdb_plug dumpfile=systemd
mp:scott.dmp logfile=scott_imp.log schemas=scott REUSE_DUMPFILES=y
(3). 并行进程parallel
C:\Users\Administrator>expdp system/xxxx@clonepdb_plug dumpfile=systemd
mp:ful.dmp logfile=scott_imp.log REUSE_DUMPFILES=y parallel=2 full=y
(4). 按表名导
C:\Users\Administrator>expdp system/zncg3008ZNCG@clonepdb_plug dumpfile=systemd
mp:expdp.dmp logfile=expdp.log REUSE_DUMPFILES=y tables=scott.emp

(5). 按查询条件导
C:\Users\Administrator>expdp scott/tiger@clonepdb_plug dumpfile=systemdmp:expdp
.dmp logfile=expdp.log REUSE_DUMPFILES=y tables=emp query=‘WHERE deptno=20‘

ORACLE 数据泵导入导出数据

标签:cte   记录   patch   rect   lte   ora   actions   art   数据库   

原文地址:http://blog.51cto.com/shurk/2063706

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!