ORACLE数据库数据迁移

作者简介:杨巧刚,持有OCP 10g,长期从事于金融行业的oracle运维工作。拥有丰富的数据库运维经验和动手能力。善于解决处理oracle数据库相关故障。

数据库环境介绍

主数据库:

操作系统:Windows 2008 数据库:oracle10g (10.2.0.5.0)

备数据库:

操作系统:Windows 2008 数据库:oracle10g (10.2.0.5.0)

需求介绍

客户的这套数据库是冷主备模式,需要手工定期(变更前、每月)同步主数据库的数据到备数据库。因主数据库中APP用户存在7张数据量很大的流水数据表(总计约200GB数据量)。数据同步时,不需要同步流水数据表的数据。通过权衡,放弃使用RMAN工具。选择使用数据泵结合exp工具进行数据同步。

数据迁移主备工作

记录主数据库APP用户的各种对象类型及其状态的数量:

记录失效对象名称:

主、备库创建数据泵所需要的directory:

数据同步工作

主数据库数据导出

打开DOS窗口,使用数据泵导出APP用户除流水表之外的所有对象

使用exp工具导出APP用户流水表的表结构

传输dmp文件

把主数据库的”app_EXP0913.dmp”和”app_exp060913.dmp”备份文件传输到备数据库对应的”D:\oracle\expdp”目录下。

备数据库数据导入

打开DOS窗口,删除APP用户及其对象

创建APP用户并赋予相应权限

导入APP用户的对象(流水表除外)

输出日志会报app用户已存在的错误,忽略。

导入流水表的表结构

输出日志会报关于CONSTRAINT的错误,把日志抛出的SQL语句,手工执行一次即可。

数据迁移后进行数据校验

记录备数据库APP用户的各种对象类型及其状态的数量,与主数据库的记录进行比对:

查询失效对象名称:

检查是否有新的失效对象,如果存在新失效的对象,进行手工编译。

未经允许不得转载:Oracle一体机用户组 » ORACLE数据库数据迁移

相关推荐