【Oracle系列】- Oracle数据迁移

简介: 【Oracle系列】- Oracle数据迁移

一、概述

最近在做公司软件系统盘点时,发现公司MES数据库服务器磁盘已满,剩余空间非常小,为了减少公司EMS停机时长,执行Oracle数据迁移工作,记录一下执行的过程。

数据迁移的一般步骤 对数据库管理人员来说,数据库数据迁移极具挑战性,一旦措施不当,珍贵的数据资源将面临丢失的危险,要成功地实现数据库数据平滑迁移,需要周密计划和充分准备,并按照一定的步骤来完成。

二、数据迁移方案

设计数据迁移方案 设计数据迁移方案主要包括以下几个方面工作:

  1. 研究与数据迁移相关的资料
  2. 评估和选择数据迁移的软硬件平台
  3. 选择数据迁移方法
  4. 选择数据备份和恢复策略
  5. 设计数据迁移和测试方案

三、模拟迁移方案

根据设计的数据迁移方案,建立一个模拟的数据迁移环境,它既能仿真实际环境又不影响实际数据,然后在数据模拟迁移环境中测试数据迁移的效果。数据模拟迁移前也应按备份策略备份模拟数据,以便数据迁移后能按恢复策略进行恢复测试。模拟迁移方案能最小程度减少迁移过程中的损失。

四、迁移步骤

  • 测试数据模拟迁移:根据设计的数据迁移测试方案测试数据模拟迁移,也就是检查数据模拟迁移后数据和应用软件是否正常,主要包括:数据一致性测试、应用软件执行功能测试、性能测试、数据备份和恢复测试等。
  • 准备实施数据迁移:数据模拟迁移测试成功后,在正式实施数据迁移前还需要做好以下几个方面工作:进行完全数据备份、确定数据迁移方案、安装和配置软硬件等。
  • 正式实施数据迁移:按照确定的数据迁移方案,正式实施数据迁移。
  • 测试数据迁移效果:按照数据迁移测试方案测试数据迁移效果,并对数据迁移后的数据库参数和性能进行调整,使之满足数据迁移后实际应用系统的需要。
  • 移植系统应用软件:将实际应用系统的应用软件移植到数据迁移后的数据库系统上,并使之正常运行。
  • 正式运行应用系统:在正式实施数据迁移成功并且数据库参数和性能达到要求后,就可以正式运行应用系统,并投入实际使用。

五、迁移方案及其实施细则

5.1 exp/imp逻辑备份与恢复

是最常用最简单的方法,一般是基于应用的owner级做导出导入。

操作方法

  1. 在新库建立好owner和表空间,停老数据库的应用
  2. 老库执行
exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000
  1. 导入dmp文件到新库,在新库执行如下命令
imp user/pwdfromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.

优缺点:优点是可以跨平台使用;缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。

5.2 Storage存储迁移

Storage存储迁移这种情况下,数据文件、控制文件、日志文件、spfile都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。

操作方法

  1. 找到原库pfile、tnsnames.ora,listener.ora,密码文件,并拷贝到新的环境中上;
  2. 将存储切至新机,或者用文件拷贝或dd的方式复制数据文件;
  3. 启动数据库

Storage存储迁移优点是该迁移方式非常简单,主要的工作是主机工程师的工作,dba只需配合即可,停机时间为停库、切存储、起库的时间;缺点是要求新老库都是同一平台,是相同的数据库版本。

5.3 利用data guard迁移

DataGuard是Oracle的一种高可用性数据库方案,主要用于数据容灾和读写分离。

Data Guard常用数据库语句

--启停数据库
shutdown immediate;
startup mount;
alter database open;
--查询数据库角色和保护模式
select database_role,switchover_status from v$database;
--切换备库为主库(切换后,主库为mount状态)
--TO PRIMARY
alter database commit to switchover to primary; 
--SESSIONS ACTIVE
alter database commit to switchover to primary with session shutdown; 
--切换主库为备库(切换后,备库为shutdown状态)
--TO STANDBY
alter database commit to switchover to physical standby;
--SESSIONS ACTIVE
alter database commit to switchover to physical standby with session shutdown;
--查询数据库打开模式
select open_mode from v$database;
--开启数据同步(mount模式执行READ ONLY,open模式执行READ ONLY WITH APPLY)
alter database recover managed standby database using current logfile disconnect from session;
--关闭数据同步(必须先关闭,才可以执行alter database open打开数据库)
alter database recover managed standby database cancel;
--主库异常无法恢复时,异常切换时备库需执行下列命令
alter database recover managed standby database finish;
alter database recover managed standby database finish force;
--查询数据库保护模式
select protection_mode from v$database;
--更改数据库保护模式
alter database set standby database to maximize protection; --最大保护
alter database set standby database to maximize performance; --最高性能
alter database set standby database to maximize availability; --最高可用

主库切换为备库sql语句

--1.查询主库状态为TO STANDBY或SESSIONS ACTIVE
select database_role,switchover_status from v$database;
--2.切换主库角色为备库
alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby with session shutdown;
--3.重启数据库到open模式
startup
--4.开启redo同步
alter database recover managed standby database using current logfile disconnect from session;
--5.查询数据库状态已经是TO PRIMARY(主库成功切换为备库)
select database_role,switchover_status from v$database;
--6.查询数据库打开模式为READ ONLY WITH APPLY(读写分离,redo实时同步)
select open_mode from v$database;

备库切换为主库sql语句

--1.查询备库状态为TO PRIMARY或SESSIONS ACTIVE
select database_role,switchover_status from v$database;
--2.切换备库角色为主库
alter database commit to switchover to primary;
alter database commit to switchover to primary with session shutdown;
--3.打开数据库(切换完后为mount状态)
alter database open;
--4.查询数据库状态为TO STANDBY(表示切换完成)
select database_role,switchover_status from v$database;

目录
相关文章
|
4月前
|
开发框架 Oracle 关系型数据库
ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理
ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理
|
6月前
|
存储 Oracle 关系型数据库
Oracle数据泵:数据迁移的魔法棒
【4月更文挑战第19天】Oracle数据泵是高效的数据迁移工具,提供并行处理、灵活数据过滤、完整数据保留及详细日志记录等功能。相比传统工具,数据泵在性能和易用性上更具优势,能大幅缩短迁移时间,降低业务中断风险。通过掌握其使用技巧,数据管理员可以充分利用数据泵,提升数据管理效率。
|
SQL Oracle 关系型数据库
一种SqlServer数据迁移到Oracle的方法总结
一种SqlServer数据迁移到Oracle的方法总结
501 0
|
SQL 存储 Oracle
kettle从oracle到mysql数据迁移
kettle从oracle到mysql数据迁移
1316 0
|
Oracle 关系型数据库 数据库连接
Kingbase国产化数据库数据迁移:oracle11g数据库转库人大金仓数据库实例演示
Kingbase国产化数据库数据迁移:oracle11g数据库转库人大金仓数据库实例演示
342 0
|
6月前
|
SQL Oracle 关系型数据库
Oracle 到OceanBase 数据迁移OMS最佳实践
本文介绍Oracle 到OceanBase 数据迁移OMS最佳实践。
416 0
|
Oracle 关系型数据库 数据库
国产化瀚高数据库数据迁移文档:oracle11g数据库转瀚高8.6数据库实例演示
国产化瀚高数据库数据迁移文档:oracle11g数据库转瀚高8.6数据库实例演示
668 0
国产化瀚高数据库数据迁移文档:oracle11g数据库转瀚高8.6数据库实例演示
|
cobar 运维 Oracle
yugong阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)
2008年,阿里巴巴开始尝试使用 MySQL 支撑其业务,开发了围绕 MySQL 相关的中间件和工具,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机 Oracle 无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从 Oracle 数据迁移到 MySQL 上,完成去 IOE 的重要一步工作。
yugong阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)
|
SQL Oracle 关系型数据库
国产化达梦数据库数据迁移文档:oracle11g数据库转达梦8数据库实例演示
国产化达梦数据库数据迁移文档:oracle11g数据库转达梦8数据库实例演示
564 0
国产化达梦数据库数据迁移文档:oracle11g数据库转达梦8数据库实例演示
|
弹性计算 Oracle 关系型数据库
NO.8 学会如何部署Oracle数据库、了解FTP机制、通过Squid代理上网、SSH密钥登录,最后学会故障分析,着重推荐“应用数据迁移网络异常案例分析”这篇
NO.8 本月我们首先了解一下新增的部分实用功能和如何部署Oracle数据库、了解FTP机制、通过Squid代理上网、SSH密钥登录,最后我们还是要学会故障分析,着重推荐“应用数据迁移网络异常案例分析”这篇。
2138 0