expdp/impdp导入导出

1.需求:需要将windows上的10g oracle数据库导入到Linux上的10g Oracle数据库

2.分析:使用exp导出dmp文件后导入到Linux的Oracle中

imp test/test@orcl full=y file=/home/oracle/exp20191017.dmp ignore=y

  

3.问题:导入后发现导入后的表不全,缺失了十七个表

4.分析TWO:分析日志和表结构发现,这十七个表中都包含有CLOB类型的字段

5.办法:查询后知道imp命令不能导入clob类型的字段,那就换一种新的命令:expdp/impdp

导出步骤:

a.连接Oracle后建立导出目录:注意,这个目录需要手动创建

create directory dir as 'D:\test';

  然后查询导出目录列表:

select * from dba_directories;

  如果发现重名的dir就删掉重建:

drop directory dir;

  然后将此目录的权限授权给test用户:

grant read,write on directory dir to test;

 

b.然后退出Oracle,在命令行中直接导出:

expdp test/test directory=dir dumpfile=20191104exp.dmp logfile=20191104log.log  

 这样就可以在D:\test中查看到导出的文件了。

然后我们看导入步骤:

a.前边和导出一样,导入命令:

impdp wl/wl directory=dir dumpfile=20191104EXP.DMP REMAP_SCHEMA=test:wl EXCLUDE=USER 

  注意:REMAP_SCHEMA=test:wl参数,是导出导入用户名

如果导入时报错:

ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation

  这是linux的目录权限不够,因为执行导入时使用的是Oracle账户,而新建的目录权限时root的权限,我们只需要切回root用户后给予目录授权即可:

chown -R oracle:oinstall   /home/oracle/20191104

  这样就可以直接导入了。

至于不同版本的Oracle导入导出,下回说。

工作记录:

1.expdp导出:
sqlplus /nolog

connect /as sysdba

create directory dir as 'D:\ziyuan';

select * from dba_directories;

drop directory dir;

grant read,write on directory dir to ZIYUAN;

SELECT SUM(s.BYTES)/1024/1024 "sizes(MB)" from dba_segments s where s.owner= 'ZIYUAN';

select count(*) from dba_tables t where t.owner='ZIYUAN';

oracle下
expdp ZIYUAN/ZIYUAN2015 directory=dir dumpfile=20191104exp.dmp logfile=20191104log.log

2.impdp 导入:
create directory dir as '/home/oracle/Desktop';

select * from dba_directories;

drop directory dir;

grant read,write on directory dir to MBZY;

SELECT SUM(s.BYTES)/1024/1024 "sizes(MB)" from dba_segments s where s.owner= 'ZIYUAN';

select count(*) from dba_tables t where t.owner='ZIYUAN';

impdp MBZY/MBZY directory=dir dumpfile=20191104EXP.DMP logfile=20191104log.log
impdp MBZY/MBZY directory=dir dumpfile=20191104EXP.DMP REMAP_SCHEMA=ZIYUAN:MBZY EXCLUDE=USER logfile=20191104log.log
impdp MBZY/MBZY schemas=certification directory=dir dumpfile=20191104EXP.DMP

impdp MBZY/MBZY schemas=ZIYUAN directory=dir dumpfile=20191104EXP.DMP logfile=imp.log

IMPDP USERID='SYS/ggoabak10@ggbak10 as sysdba' schemas=ZIYUAN directory=dir dumpfile=20191104EXP.DMP logfile=aa.log version=10.2.0.1.0

  

猜你喜欢

转载自www.cnblogs.com/milude0161/p/11791646.html