【原创】Oracle数据库逻辑迁移步骤

Oracle数据库逻辑迁移步骤

一、首先,查询并得到导出所有非Oracle自带用户数据的exp导出脚本:

 1 SELECT 'EXP SYSTEM/PASSWORD@ORCL FILE=' || USERNAME || '.DMP LOG=' ||
 2 
 3         USERNAME || '.LOG OWNER=' || USERNAME || '
 4 
 5 '
 6 
 7   FROM ALL_USERS T
 8 
 9  WHERE T.CREATED >
10 
11        (SELECT R.CREATED FROM ALL_USERS R WHERE R.USERNAME = 'SYSTEM') + 1;

二、接着,得到新库中创建所需非Oracle自带用户的sql脚本:

 1 SELECT 'CREATE USER ' || USERNAME || 'IDENTIFIED BY PASSWORD;' || '
 2 
 3        /' || '
 4 
 5        GRANT CONNECT, RESOURCE TO ' || USERNAME || ';' || '
 6 
 7        /'
 8 
 9   FROM ALL_USERS T
10 
11  WHERE T.CREATED >
12 
13        (SELECT R.CREATED FROM ALL_USERS R WHERE R.USERNAME = 'SYSTEM') + 1;

三、接着,得到在新库中创建导入数据所需表空间的sql脚本:

1 SELECT 'CREATE TABLESPACE ' || NAME || 'LOGGING DATAFILE ' || NAME ||
2 
3        '.ORA' ||
4 
5        'SIZE 1000M AUTOEXTEND ON NEXT 300M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;'
6 
7   FROM V$TABLESPACE
8 
9  WHERE NAME NOT IN ('SYSTEM', 'UNDOTBS1', 'SYSAUX', 'USERS', 'TEMP');

四、最后,查询并得到导入所有非Oracle自带用户数据的imp导入脚本:

 1 SELECT 'IMP SYSTEM/PASSWORD@ORCL FILE=' || USERNAME || '.DMP LOG=' ||
 2 
 3         USERNAME || '.LOG FROMUSER=' || USERNAME || ' TOUSER=' || USERNAME || '
 4 
 5 '
 6 
 7   FROM ALL_USERS T
 8 
 9  WHERE T.CREATED >
10 
11        (SELECT R.CREATED FROM ALL_USERS R WHERE R.USERNAME = 'SYSTEM') + 1;

末了,进行查询,确认迁移数据成功。

转载于:https://www.cnblogs.com/xiaoTT/archive/2013/03/28/2986367.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值