Oracle系列---【oracle使用expdp和impdp实现导入导出】
一、前提条件
两个数据版本和字符集还有语言得一致。
#查看数据库版本号
select version from v$instance;
#查看语言和字符集
select userenv('language') from dual;
二、创建临时表空间MY_TEMP
su - oracle
sqlplus / as sysdba;
SQL> CREATE DIRECTORY MY_TEMP AS '/OPT/TEMP';
SQL> EXIT;
三、导出数据库表(去掉TABLES就是导出库)
expdp username/password DIRECTORY=MY_TEMP DUMPFILE=mytable.dmp TABLES=SYS_USER;
#或者
expdp username/password@127.0.0.1/orcl DIRECTORY=MY_TEMP DUMPFILE=mytable.dmp TABLES=SYS_USER;
四、导入数据库表(去掉TABLES就是导入库)
impdp username/password DIRECTORY=MY_TEMP DUMPFILE=mytable.dmp TABLES=SDM.SD_SYS_TAG REMAP_SCHEMA=OLD_KU:NEW_KU REMAP_TABLESPACE=OLD_TABLE_KONGJIAN:NEW_TABLE_KONGJIAN TABLE_EXISTS_ACTION=REPLACE;
1.TABLE_EXISTS_ACTION的值默认为skip,如果覆盖一般用REPLACE(删除表)和TRANCATE(只删数据);
2.REMAP_TABLESPACE=旧表空间:新表空间;
3.REMAP_SCHEMA=旧库名:新库名;
4.TABLES=SDM.SD_SYS_TAG,如果导入导出前后数据库名不一样,一定要在表名之前加上库名。
愿你走出半生,归来仍是少年!