oracle数据泵导出\导入(expdp 、impdp)备份

回复 收藏
一、expdp导出
1、        要使用数据泵技术,要先在Oracle数据库中建立目录对象
  1. [oracle@cnscb ~]$ sqlplus / as sysdba;
  2. SQL> create directory exp_dir as '/opt/OracleBak/';
//此处用oracle目录下
  1. Directory created.
注:此处可更改目录,操作如下
  1. SQL>drop directory exp_dir;
//先把原来目录DROP掉
然后重新再建立目录
  1. SQL> create directory exp_dir as '/usr/local/oracle/orapdp_data/';
  2. Directory created.
  3. SQL> select * from dba_directories;
  4. OWNER---------DIRECTORY_NAME--------------DIRECTORY_PATH
  5. SYS         EXP_DIR         /usr/local/oracle/orapdp_data/
我们要使用jtcb用户导出数据,然后导出文件建立在这个目录上,为此要授予jtcb用户对该目录的访问权限,jtcb需要有DBA权限;
  1. SQL> grant read,write on directory exp_dir to user;
  2. Grant succeeded;
注:此处jtcb要有导入导出全库权限;
2、expdp全库导出
  1. [root@cc~]# su - oracle
  2. [oracle@cc ~]$ expdp usr/passwd   DIRECTORY=exp_dir DUMPFILE=test.dmp LOGFILE=test.log  PARALLEL=2   FULL=y;
usr/passwd:此处可以只写usr,之后会弹出让输入密码,安全性更高
DIRECTORY:为如上建立的文件目录
DUMPFILE:储存的备份名称
LOGFILE:日志文件名称
FULL:y为全库导出
SCHEMA:指定表空间下自有对象
TABLES :按表模式;指定表则只导出表;
FILESIZE=1G PARALLEL=2 并行度方式 提高效率
  1. Export: Release 10.2.0.1.0 - Production on Thursday, 25 August, 2011 13:31:43
  2. Copyright (c) 2003, 2005, Oracle. All rights reserved.
  3. ;;;
  4. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
  5. With the Partitioning, OLAP and Data Mining options
  6. Starting "JTCB"."SYS_EXPORT_FULL_01": usr/******** DIRECTORY=exp_dir DUMPFILE=e.dmp LOGFILE=e.log FULL=y
  7. Estimate in progress using BLOCKS method...
  8. Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
  9. ORA-39139: Data Pump does not support XMLSchema objects. TABLE_DATA:"OE"."PURCHASEORDER" will be skipped.
  10. Total estimation using BLOCKS method: 790.1 MB
  11. Processing object type DATABASE_EXPORT/TABLESPACE
  12. ... ... ... ...
  13. Master table "JTCB"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
  14. ******************************************************************************
  15. Dump file set for JTCB.SYS_EXPORT_FULL_01 is:
  16. /opt/OracleBak/e.dmp
  17. Job "JTCB"."SYS_EXPORT_FULL_01" completed at 13:33:47
导出完成后,在/home/oracle内会存在两个文件test.dmp,e.log 。
alert日志目录/usr/local/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

二、impdp导入
  1. [root@cnscb~]#su - oracle
  2. [oracle@cnscb ~]$ impdp usr/passwd   DIRECTORY=exp_dir DUMPFILE=test.dmp LOGFILE=test.log  PARALLEL=2  FULL=y TABLE_EXISTS_ACTION=REPLACE ;
导入参数:
TABLE_EXISTS_ACTION:用来控制,如果导入的表对象存在,执行什么操作,有以下几个参数:
SKIP:跳过该表,继续下一个对象 的处理,默认参数。
APPEND:向现有表中添加数据。
TRUNCATE:TRUNCATE当前表,然后再添加记录。谨慎使用,容易丢失数据。
REPLACE:删除并重建表对象,然后再向其中添加数据 。如果指定了CONTENT参数为DATA_ONLY的话,REPLACE参数无效。

CONTENT:导入对象定义,参数如下(全库导入不适用)
ALL:导入对象定义和数据 ,默认参数。
DATA_ONLY:只导入数据。
METADATE_ONLU:只导入对象定义。
2012-11-15 09:21 举报
已邀请:
0

杨金彪

赞同来自:

不错,要的就是这种命令的详解

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: