oracle 10g数据迁移到11g

首先使用expdp导出原数据库:

expdp system/xxxxx   schemas=test1201 directory=asbak  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/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 umlimited on EAS_D_TEST1201_TEMP2;

 

查询原库用户的权限:select * from dba_sys_privs  where  gratee='test1201';

 

然后给用户授权:grant  create view,create sequence,unlimited tablespace,select any dictionary,create  proceduer,create table,create trigger,create  materialized view,create session  to test1201;

 

 

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

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

grant write,read on directory orabak to test1201;

 

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

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

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

导入的时候会提示一个ora_31684:object type user:"xxx" already exists。这个没有关系 ,然后看日志有没有错,如果没有,则成功。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值