1.确定基本信息

确定基本信息:
```
源数据库所在系统类型:________
源数据库地址:__.__.__.__
源数据库版本:________
数据库高可用/灾备:{单机|RHCS|RAC|DataGuard|其他}
迁移导出业务用户:________

目的数据库所在系统类型:________

目的数据库地址:...

目的数据库版本:________

数据库高可用/灾备:{单机|RHCS|RAC|DataGuard|其他}

迁移导入业务用户:________

按上面模板填好必要信息,示例如下:

源数据库所在系统类型:RHEL 6.4

源数据库地址:192.168.XX.XX

源数据库版本:9.2.0.8.0

数据库高可用/灾备:单机

迁移导出业务用户:jingyu

目的数据库所在系统类型:RHEL 6.4

目的数据库地址:192.168.XX.XX

目的数据库版本:11.2.0.4.0

数据库高可用/灾备:RAC

迁移导入业务用户:jingyu

<h1 id="2">2.源数据库导出</h1>
## 2.1 业务用户相关信息 ##

--用户默认数据表空间,临时表空间

select * from dba_users where username='JINGYU';

--连接到业务用户

conn jingyu/jingyu

--用户角色权限

select * from user_role_privs;

--用户总的对象数量

select count(1) from user_objects;

--用户总的表数量

select count(1) from user_tables;

## 2.2  用户用到的表空间 ##

--连接到业务用户

conn jingyu/jingyu

--用户用到的表空间

select tablespace_name from user_tables union

select tablespace_name from user_tab_partitions union

select tablespace_name from user_indexes union

select tablespace_name from user_ind_partitions;

## 2.3 查询对应表空间数据文件情况 ##

--数据表空间对应数据文件信息

select FILE_ID, FILE_NAME, TABLESPACE_NAME, BYTES/1024/1024 "MB", MAXBYTES/1024/1024/1024 "GB", AUTOEXTENSIBLE, STATUS from dba_data_files where TABLESPACE_NAME in ('SYSTEM', 'USERS', 'DBS_D_JINGYU', 'DBS_I_JINGYU');

--数据表空间对应数据文件按表空间分组统计总大小

select TABLESPACE_NAME, sum(BYTES/1024/1024) "MB" from dba_data_files where TABLESPACE_NAME in ('SYSTEM', 'USERS', 'DBS_D_JINGYU', 'DBS_I_JINGYU') group by TABLESPACE_NAME;

--临时表空间对应临时文件信息

select FILE_ID, FILE_NAME, TABLESPACE_NAME, BYTES/1024/1024 "MB", MAXBYTES/1024/1024/1024 "GB", AUTOEXTENSIBLE, STATUS from dba_temp_files where TABLESPACE_NAME='TEMP_JINGYU';

--临时表空间对应临时文件统计总大小

select sum(BYTES/1024/1024) "MB" from dba_temp_files where TABLESPACE_NAME='TEMP_JINGYU';

## 2.4 选择合适的导出方案 ##

--导出方案exp示例(10g之前版本使用)

nohup exp jingyu/jingyu OWNER=jingyu BUFFER=10240000 STATISTICS=none RESUMABLE=y FILE=jingyu_exp.dmp LOG=jingyu_exp.log &

--导出方案expdp示例(10g及以后版本建议使用数据泵expdp)

nohup expdp system directory=jy schemas=jingyu dumpfile=jingyu_all%U.dmp logfile=jingyu_all.log parallel=2 &

有关expdp详细内容可参考:
- 《[Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)](http://www.cnblogs.com/jyzhao/p/4522868.html)》 <h1 id="3">3.目的数据库导入</h1>
## 3.1 目的数据库当前相关信息 ##

--确定目的数据库基本信息

select instance_name, status from v$instance;

select dbid, open_mode from v$database;

--确定ASM磁盘组剩余空间

select GROUP_NUMBER, NAME, TYPE, TOTAL_MB, FREE_MB, USABLE_FILE_MB from v$asm_diskgroup;

--如果是文件系统管理,直接df -g查看数据文件存放目录的空间

--确定已有表空间数据文件情况

select FILE_ID, FILE_NAME, TABLESPACE_NAME, BYTES/1024/1024 "MB", MAXBYTES/1024/1024/1024 "GB", AUTOEXTENSIBLE, STATUS from dba_data_files where TABLESPACE_NAME in ('SYSTEM', 'USERS', 'DBS_D_JINGYU', 'DBS_I_JINGYU');

## 3.2 导入前准备 ##

--1. 创建新表空间

create tablespace DBS_D_JINGYU datafile '+DATA01';

create temporary tablespace TEMP_JINGYU tempfile '+DATA01';

--此步骤还需要确定是否需要创建其他表空间,确定是否需要建多个数据文件

--2. 创建用户

create user jingyu identified by jingyu TEMPORARY TABLESPACE TEMP_JINGYU default tablespace DBS_D_JINGYU;

--3. 赋予用户权限

grant resource, connect, dba to jingyu;

## 3.3 导入方案 ##

--导入方案的选择由之前导出方案决定:exp/imp,expdp/impdp。

--导入方案imp示例

nohup imp jingyu/jingyu BUFFER=10240000 RESUMABLE=y FILE=jingyu_exp.dmp LOG=imp_jingyu_exp.log IGNORE=y FULL=y &

--导入方案impdp示例

nohup impdp system directory=jy schemas=jingyu table_exists_action=replace dumpfile=jingyu_all%U.dmp logfile=impdp_jingyu_all.log parallel=2 &

有关impdp详细内容可参考:
- 《[Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)](http://www.cnblogs.com/jyzhao/p/4530575.html)》 <h1 id="4">4.逻辑迁移注意事项</h1>
**4.1 如果需要保证业务数据前后一致性** 那么在导出开始前,需要停止源数据库业务,直到成功导入到目标数据库时,应用修改新的连接方式完毕,才可以再次启动业务; **4.2 如果之前表空间管理不规范** 早期imp导入工具还没有显示指定重定向表空间的功能,建议整改后迁移;后来impdp才引入重定向表空间的功能,导入时直接使用REMAP_TABLESPACE参数。 **对于更复杂的逻辑迁移场景可参考:**
- 《[Oracle数据逻辑迁移综合实战篇](http://www.cnblogs.com/jyzhao/p/4583722.html)》

Oracle逻辑迁移某业务用户及数据的更多相关文章

  1. Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)

    Oracle 导出.导入某用户所有数据(包括表.视图.存储过程...)前提:在CMD 命令下 导出命令:exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:F:\abcd.d ...

  2. Oracle数据库逻辑迁移之数据泵的注意事项

    环境:数据迁移,版本 11.2.0.4 -> 12.2.0.1 思考: 对于DBA而言,常用物理方式的迁移,物理迁移的优势不必多说,使用这种方式不必担心对象前后不一致的情况,而这往往也解决了不懂 ...

  3. 柯南君 :Oracle 分区技术 之 怎样支撑大数据操作?

    前段时间.看了罗女士( 资深技术顾问 - Oracle 中国 顾问咨询部)关于<大批量数据处理技术的演讲>视频.感觉受益良多,结合多年的知识积累,柯南君给大家分享一下: 交流内容: 一.O ...

  4. Oracle数据逻辑迁移综合实战篇

    本文适合迁移大量表和数据的复杂需求. 如果你的需求只是简单的迁移少量表,可直接参考这两篇文章即可完成需求: Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上) Oracle简 ...

  5. Vertica 业务用户指定资源池加载数据

    之前在"Vertica 安装,建库,新建测试用户并授予权限,建表,入库"这篇文章也简单介绍过入库部分的内容. 但之前测试用例若用于生产环境有明显的局限性: 1.是用dbadmin管 ...

  6. Oracle使用游标删除所有用户数据表中的所有记录脚本

    应用场景:因为数据库中的数据涉及机密信息,希望一次性能删除掉所有数据,只保留数据表结构,供新项目开发程序用 测试结果:经查询已删除所有数据 存在问题:数据表如果存在外键的话下面脚本可能执行不成功,请自 ...

  7. Oracle业务用户密码过期问题的解决

    实验环境:Oracle 11.2.0.4 如果DBA不知道业务用户密码,当业务密码过期,应用要求DBA帮忙重设为原来的密码. 1.查询业务用户密码 从user$查到hash加密过的值: select ...

  8. mysql数据库迁移到oracle数据库后 如何删除相同的数据

    mysql数据库迁移到oracle数据库后 如何删除相同的数据 首先搞清楚有多少数据是重复的 select pid from product group by pid having count(pid ...

  9. oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录

    oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用 ...

随机推荐

  1. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  2. MVVM模式和在WPF中的实现(二)数据绑定

    MVVM模式解析和在WPF中的实现(二) 数据绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  3. 如何远程关闭一个ASP.NET Core应用?

    在<历数依赖注入的N种玩法>演示系统自动注册服务的实例中,我们会发现输出的列表包含两个特殊的服务,它们的对应的服务接口分别是IApplicationLifetime和IHostingEnv ...

  4. [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序

    用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html  目录 马桶排序(令人 ...

  5. 第一个移动前端开源项目-dailog

    你还在为手机上没有忙碌光标而发愁吗?你还在抱怨弹出框组件要依赖zepto/jqery吗?你还在纠结是否要自己写一套还是去网上寻找成现成的UI组件吗?YouA为你轻松解决所有烦恼.YouA是我为移动前端 ...

  6. Android SDK 在线更新镜像服务器资源

    本文转自:http://blog.kuoruan.com/24.html.感谢原作者. 什么是Android SDK SDK:(software development kit)软件开发工具包.被软件 ...

  7. java8中lambda表达式的应用,以及一些泛型相关

    语法部分就不写了,我们直接抛出一个实际问题,看看java8的这些新特性究竟能给我们带来哪些便利 顺带用到一些泛型编程,一切都是为了简化代码 场景: 一个数据类,用于记录职工信息 public clas ...

  8. MongoDB学习笔记六—查询下

    查询内嵌文档 数据准备 > db.blog.find().pretty() { "_id" : ObjectId("585694e4c5b0525a48a441b5 ...

  9. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  10. 希尔排序(java)

    时间复杂度为O( n^(3/2) )不是一个稳定的排序算法 如何看一个算法是否稳定:{("scala",12),("python",34),("c++ ...