1. 程式人生 > >ORACLE 數據泵導入導出數據

ORACLE 數據泵導入導出數據

program 轉儲 目錄 權限 ddc 11g mgr 2-2 deb

一、摘要
在平常備庫和數據庫遷移的時候,當遇到大的數據庫的時候在用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 數據泵導入導出數據