视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
expdp/impdp做Oracle10g到11g的数据迁移
2020-11-09 10:49:02 责编:小采
文档


expdp/impdp做Oracle 10g 到11g的数据迁移,导入的时候会提示一个ORA-31684: Object type USER:XXX already exists.这个没关系.

原库版本:Oracle 10.2.0.4.0

目标库版本:Oracle 11.2.0.1.0

使用expdp导出原库数据:

expdp system/xxxxxx schemas=test1201 directory=easbak dumpfile=test1201.dmp logfile=zytest1201.log;

impdp前准备:

1:确保目标数据库和原库字符集一致

2:创建好所需表空间,可以在原库里查询test1201这个用户使用了哪些表空间查询语句如下:

select distinct tablespace_name from dba_segments where owner='TEST1201';

然后创建好表空间,临时表空间就不需要创建了

create tablespace EAS_D_TEST1201_STANDARD datafile '/u01/app/oracle/oradata/orcl/EAS_D_TEST1201_STANDARD.dbf' size 8000m autoextend on next 100m maxsize unlimited autoallocate;

create tablespace EAS_D_TEST1201_TEMP2 datafile '/u01/app/oracle/oradata/orcl/EAS_D_TEST1201_TEMP2.dbf' size 800m autoextend on next 10m maxsize unlimited autoallocate;

3:表空间创建好之后,就需要创建用户了,并需要给用户授权,权限和原库用户的权限保持一致

创建用户:

create user test1201 identified by kingdee default tablespace EAS_D_TEST1201_STANDARD quota unlimited on EAS_D_TEST1201_STANDARD quota unlimited on EAS_D_TEST1201_TEMP2;

查询原库用户的权限:

select * from dba_sys_privs where grantee='TEST1201';

然后给用户授权:

grant CREATE VIEW,CREATE SEQUENCE,UNLIMITED TABLESPACE,SELECT ANY DICTIONARY,CREATE PROCEDURE,CREATE TABLE,CREATE TRIGGER,CREATE MATERIALIZED VIEW,CREATE SESSION to test1201;

4:创建directory,并给用户授予读写权限:

create or replace directory orabak as '/u01/app/orabak';

grant write,read on directory orabak to test1201;

前面的4个点做好之后就开始导入数据了:

将上面导出的文件拷贝到 orabak的这个目录里然后开始导入

impdp system/xxxxxx schemas=test1201 dumpfile=test1201.dmp logfile=expdp_test11.log directory=orabak table_exists_action=replace job_name=my_job6;

导入的时候会提示一个ORA-31684: Object type USER:"XXX" already exists.这个没关系.然后看日志有无其他报错,,如果没有就成功了。

下载本文
显示全文
专题