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. 微软.NET Core RC2正式发布,横跨所有平台

    .NET官方博客宣布了<Announcing .NET Core RC2 and .NET Core SDK Preview 1>,正式如期发布了.NET Core RC2, 现在可以放心 ...

  2. [NodeJS] 优缺点及适用场景讨论

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  3. .NET 对接JAVA 使用Modulus,Exponent RSA 加密

    最近有一个工作是需要把数据用RSA发送给Java 虽然一开始标准公钥 net和Java  RSA填充的一些算法不一样 但是后来这个坑也补的差不多了 具体可以参考 http://www.cnblogs. ...

  4. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  5. 08.LoT.UI 前后台通用框架分解系列之——多样的Tag选择器

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  6. requests的content与text导致lxml的解析问题

    title: requests的content与text导致lxml的解析问题 date: 2015-04-29 22:49:31 categories: 经验 tags: [Python,lxml, ...

  7. 创建 OVS Local Network - 每天5分钟玩转 OpenStack(129)

    上一节我们完成了 OVS 的准备工作,本节从最基础的 local network 开始学习.local network 不会与宿主机的任何物理网卡连接,流量只被限制在宿主机内,同时也不关联任何的 VL ...

  8. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

  9. CSS 3学习——transition 过渡

    以下内容根据官方规范翻译以及自己的理解整理. 1.介绍 这篇文档介绍能够实现隐式过渡的CSS新特性.文档中介绍的CSS新特性描述了CSS属性的值如何在给定的时间内平滑地从一个值变为另一个值. 2.过渡 ...

  10. 微信小程序前端源码逻辑和工作流

    看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...