概述
数据泵的作用:
数据泵的特点与传统导出导入的区别
- 1.EXP和IMP是客户段工具程序, EXPDP和IMPDP是服务端的工具程序
- 2.EXP和IMP效率比较低. EXPDP和IMPDP效率高
- 3.数据泵功能强大并行、过滤、转换、压缩、加密、交互等等
- 4.数据泵不支持9i以前版本, EXP/IMP短期内还是比较适用
- 5.同exp/imp数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.
需求描述
198测试环境的cc用户下的全量数据,需要同步到到准生产环境197一份
方案分析
因数据库版本为11.2(大于Oracle10g)初步确定使用数据泵的方式从198导出后导入197数据库
操作步骤
expdp
sql 窗口下执行以下操作
1.创建逻辑目录
创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建
sql> create directory dir_dp as '/oracle/oracle11';
2.查看目录
同时查看操作系统是否存在,如果不存在,mkdir -p 新建目录 否则出错
SELECT privilege,directory_name,DIRECTORY_PATH FROM user_tab_privs t,all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2,1;
3.给cc用户赋予在指定目录的操作权限
以system等管理员赋予
sql> Grant read,write on directory dir_dp to cc;
4. 导出数据
使用主机的Oracle用户
按用户导:
oracle@entel2:[/oracle]$expdp cc/password@//10.45.7.198:1521/cc schemas=cc directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;
...........
Dump file set for CC.SYS_EXPORT_SCHEMA_01 is:
/oracle/oracle11/expdp_test1.dmp
Job "CC"."SYS_EXPORT_SCHEMA_01" successfully completed at Sat Aug 20 12:02:13 2016 elapsed 0 00:01:33
参数解析:
scp dmp 到目标主机
[root@entel2 ~]# scp expdp_198.dmp oracle@10.45.7.197:/oracle/oracle11
impdp
删除用户
sql> DROP USER cc CASCADE;
创建用户
sql>CREATE USER cc IDENTIFIED BY password
DEFAULT TABLESPACE TAB_CC;
赋予权限
sql>GRANT CONNECT,RESOURCE TO cc ;
sql>GRANT ALL PRIVILEGES TO cc ;
sql>GRANT DBA TO cc ;
使用Oracle用户导入
oracle@entel1:[/oracle]$impdp cc/password@//10.45.7.197:1521/cc schemas=cc directory=dir_dp_198 dumpfile =expdp_198.dmp logfile=expdp_198.log;
注意事项
EXPDP和IMPDP是服务端的工具程序,只能在ORACLE服务端使用,不能在客户端使用
低版本是不能导入高版本dmp,需要在高版本的EXPDP导出时指定版本号导出。低版本IMPDP无需指定版本。
例如:11.2.0.4导入到10.2.0.5
expdp username/password directory=dump_dir dumpfile=test.dmp version=10.2.0.5.0
导出导入全库
全库导出
oracle@entel2:[/oracle]$expdp \'/ as sysdba\' directory=dir_dp full=y dumpfile=fulldb.dmp parallel=2;
【开始执行........上述命令也可以增加logfile等 自行决定】
Export: Release 11.2.0.4.0 - Production on Mon Oct 24 18:47:01 2016
Copyright (c) 1982,2011,Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning,OLAP,Data Mining and Real Application Testing options
Starting "SYS"."SYS_EXPORT_FULL_01": "/******** AS SYSDBA" directory=dir_dp full=y dumpfile=fulldb.dmp parallel=2
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 2.294 GB
Processing object type DATABASE_EXPORT/TABLESPACE
. . exported "ZMC"."NM_ALARM_EVENT" 317.5 MB 467108 rows
Processing object type DATABASE_EXPORT/PROFILE
Processing object type DATABASE_EXPORT/SYS_USER/USER
Processing object type DATABASE_EXPORT/SCHEMA/USER
Processing object type DATABASE_EXPORT/ROLE
Processing object type DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT
Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
Processing object type DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
..............
PARALLEL 更改当前作业的活动 worker 的数目。PARALLEL=<worker 的数目>。指定执行导出操作的并行进程个数,默认值为1
FULL 导出整个数据库 默认为N。
全库导入
$ impdp \'/ as sysdba\' directory=dir_dp full=y dumpfile=fulldb.dmp parallel=2 table_exists_action=replace;