博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle逻辑迁移某业务用户及数据
阅读量:5836 次
发布时间:2019-06-18

本文共 3335 字,大约阅读时间需要 11 分钟。

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

2.源数据库导出

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 unionselect tablespace_name from user_tab_partitions unionselect tablespace_name from user_indexes unionselect 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详细内容可参考:

  • 《》

3.目的数据库导入

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详细内容可参考:

  • 《》

4.逻辑迁移注意事项

4.1 如果需要保证业务数据前后一致性

那么在导出开始前,需要停止源数据库业务,直到成功导入到目标数据库时,应用修改新的连接方式完毕,才可以再次启动业务;

4.2 如果之前表空间管理不规范

早期imp导入工具还没有显示指定重定向表空间的功能,建议整改后迁移;后来impdp才引入重定向表空间的功能,导入时直接使用REMAP_TABLESPACE参数。

对于更复杂的逻辑迁移场景可参考:

  • 《》

转载地址:http://czjcx.baihongyu.com/

你可能感兴趣的文章
虚拟运营商10月或大面积放号 哭穷背后仍有赢家
查看>>
Server2016开发环境配置
查看>>
分布式光伏发电建设中的逆变器及其选型
查看>>
发展物联网 构建智能连接
查看>>
增强网络安全防御 推动物联网走向应用
查看>>
UML中关联,组合与聚合等关系的辨析
查看>>
《大数据管理概论》一3.2 大数据存储与管理方法
查看>>
PowerBuilder开发简单计算器
查看>>
从HDFS看分布式文件系统的设计需求
查看>>
怎样使用linux的iptables工具进行网络共享
查看>>
《HTML5与CSS3实战指南》——导读
查看>>
RHEL6下安装oracle 10g(一)
查看>>
Redhat 7 httpd 显示wsgi页面
查看>>
Kconfig的格式
查看>>
关于Cursor的moveToFirst和moveToNext的意义
查看>>
个人--工资划分5份
查看>>
有关文件下载的文件名
查看>>
史上最详细的wamp配置虚拟域名步骤
查看>>
oracle 授权
查看>>
lv扩展磁盘空间
查看>>