Oracle逻辑迁移某业务用户及数据
小编:啊南 165阅读 2020.12.04
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 迁移导入业务用户:jingyu2.源数据库导出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 &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 &4.逻辑迁移注意事项
4.1 如果需要保证业务数据前后一致性
那么在导出开始前,需要停止源数据库业务,直到成功导入到目标数据库时,应用修改新的连接方式完毕,才可以再次启动业务;
4.2 如果之前表空间管理不规范
早期imp导入工具还没有显示指定重定向表空间的功能,建议整改后迁移;后来impdp才引入重定向表空间的功能,导入时直接使用REMAP_TABLESPACE参数。
相关推荐
- Oracle - 查询 1 查询语句查看账户下的所有表1 select * from tab;查看账户下的所有表的详细信息1 select * from user_tables;1.1 selectselect 用于从数据看查询数据。语法:1 select field1,filed2,.. .2 from tablename3 [where condition];利用 Oracle 数据库 Scott 账户…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…