好好学习,天天向上
本文主要是结合平时实践,总结下对oracle11g中的impdp/expdp使用经验。如有文中有书写或其他问题,请留言指导修正,互相交流,共同进步,本人QQ:417213902。
操作前准备工作
oralce11g利用impdp/expdp导入导出需要先创建好备份或导入目录
# su - oracle
# sqlplus / as sysdba
创建数据库导入路径
sql > create or replace directory backup as '/home/oracle/backup/';
查询备份目录
sql > select * from dba_directories;
主要分为两类
- 方式一、dba用户操作
导出cds用户的数据及表结构
# expdp system/oracle@orcl schemas=cds directory=BACKUP dumpfile=CDS.dmp logfile=cds_export_`date +'%Y%m%d%H%M%S'`.log
# impdp "' / as sysdba'" directory=backup schemas=cds dumpfile=CDS.dmp logfile=cds_import_`date +'%Y%m%d%H%M%S'`.log remap_schema=cds:cds remap_tablespace=CDS_data:CDS1_data content = all ;
- 方式二、非dba用户操作
# expdp cds/password schemas=cds directory=BACKUP dumpfile=CDS.dmp
# impdp cds/password@orcl directory=backup schemas=cds dumpfile=CDS.dmp logfile=cds_import_`date +'%Y%m%d%H%M%S'`.log remap_schema=cds:cds remap_tablespace=CDS_data:CDS1_data content = all;
或者
# impdp "' / as sysdba'" directory=backup schemas=cds dumpfile=CDS.dmp logfile=cds_import_`date +'%Y%m%d%H%M%S'`.log remap_schema=cds:cds remap_tablespace=CDS_data:CDS1_data content = all ;
说明 :
1、impdp常用属性
- tables : 导出可指定所有导出的表 如 tables=a,b,c
2、expdp常用属性
- remap_schema : 修改原数据dmp的用户,格式 【old :new】
- remap_tablespace : 修改原数据dmp的表空间,格式【old :new】
- content: ALL : 导出对象定义及其所有数据 ; DATA_ONLY : 只导出
对象数据 ;METADATA_ONLY :只导出对象定义 - table_exists_action : skip 如果存在表,则跳过;append : 在原来的数据的基础上增加数据; replace: 先drop表,然后创建表,最后插入数据; truncate:先truncate ,然后再插入数据
常见错误 :
1、导入时权限不足
将目录授权给需要导入表的用户
sql > grant read,write on directory backup to cds;
2、由于导入表中有特殊语句
1.png
在impdp 后增加属性【transform=segment_attributes:n】
建议 : 方式一 与 方式二最好不要混合使用,如 system导出的dmp用用户导入,可能会出现问题,所以最好不要交叉使用
补充 oracle 11g ----》 10g
指定版本号version
# expdp system/oracle@cdsdb tables=cdsuser schemas=cds tablespace=CDS_data directory=BACKUP dumpfile=CDS.dmp version=10.2.0.1.0
指定版本号version
# impdp cds/password@cdsdb directory=backup dumpfile=CDS.dmp logfile=cds_import_`date +'%Y%m%d%H%M%S'`.log remap_schema=cds:cds remap_tablespace=CDS_data:CDS1_data content = all version=10.2.0.1.0;
oracle 10g 的imp和exp
# exp cds/password file=/home/oracle/oradatabak/cds.dmp
# imp \'sys/oracle as sysdba\' file=/home/oracle/oradatabak/cds.dmp tablespaces=USERS fromuser= CDS_data touser= cds
2017-11-25 20:23:00
网友评论