一、数据泵介绍
OracleDatabase 10g引入了最新的数据泵(DataDump)技术,数据泵导出导入(EXPDP和IMPDP)的作用:
①实现逻辑备份和逻辑恢复.
②在数据库用户之间移动对象.
③在数据库之间移动对象
④实现表空间搬移.
二、数据泵技术
1.数据泵优点:
①改进性能(较传统的exp/imp速度提高1-2个数量级)
②重启作业能力
③并行执行能力
④关联运行作业能力
⑤估算空间需求能力
⑥操作网络方式
2.数据泵组成部分:
①数据泵核心部分程序包:DBMS_DATAPUMP
②提供元数据的程序包:DBMS_MATADATA
③命令行客户机(实用程序):EXPDP,IMPDP
3.数据泵文件:
①转储文件:此文件包含对象数据
②日志文件:记录操作信息和结果
③SQL文件:将导入作业中的DDL语句写入SQLFILE指定的参数文件中
4.数据泵的目录及文件位置
以sys或system用户完成数据泵的导入导出时,可以使用缺省的目录DATA_PUMP_DIR
SQL> select * from dba_directories;复制代码
$ORACLE_BASE/admin/database_name/dpdump复制代码
$ORACLE_HOME/admin/database_name/dpdump复制代码
5.帮助
可以使用help查看expdp和impdp的用法和介绍
$expdp help=y
$impdp help=y
复制代码
三、数据泵示例
1.查看导出数据存放位置
①使用数据泵默认的directory
SYS@ prod>select * from dba_directories where directory_name='DATA_PUMP_DIR';复制代码
OWNER DIRECTORY_NAME DIRECTORY_PATH
SYS DATA_PUMP_DIR /u01/admin/prod/dpdump/
②为scott授予目录权限
SQL> grant read,write on directory DATA_PUMP_DIR to scott;复制代码
2.数据泵导表
导出表
$expdp scott/scott directory=DATA_PUMP_DIR dumpfile=emp1_dept1.dmp tables=emp1,dept1复制代码
$impdp scott/scott directory=DATA_PUMP_DIR dumpfile=emp1_dept1.dmp复制代码
3.数据泵导用户
导出scott用户
$expdp system/oracle directory=DATA_PUMP_DIR dumpfile=scott.dmp schemas=scott复制代码
$impdp system/oracle directory=DATA_PUMP_DIR dumpfile=scott.dmp remap_schema=scott:scott复制代码
导入scott用户并设置密码为scott
4.数据泵可传输表空间(适用于大规模数据迁移)
导出表空间
$expdp \'/ as sysdba\' DIRECTORY=DATA_PUMP_DIR DUMPFILE=TB1.DMP tablespaces=TB1复制代码
导入表空间
$impdp system/oracle DIRECTORY=DATA_PUMP_DIR DUMPFILE=TB1.DMP tablespaces=TB1;复制代码
5.数据泵导数据库
导出数据库
$expdp system/oracle DIRECTORY=DATA_PUMP_DIR dumpfile=full.dmp full=y;复制代码
$impdb system/oracle DIRECTORY=DATA_PUMP_DIR dumpfile=full.dmp full=y;复制代码
追加数据
$impdp system/oracle DIRECTORY=DATA_PUMP_DIR dumpfile=expdp.dmp schemas=systemtable_exists_action复制代码
(偷个小懒剩下的图我就不给大家做示范了,要有一颗自我实践的心。- _ -)