数据迁移方式

一、exp/imp逻辑备份与恢复:

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

  操作方法为:
在新库建立好owner和表空间,停老库的应用,在老库执行:
$ exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,
导入dmp文件到新库,在新库执行如下命令:
$ imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.

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

  二、Storage存储迁移:

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

  操作方法:将老库的pfile(因为里面有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码文件传到新库的对应位置。将存储切至新机,或者用文件拷贝或dd的方式复制数据文件,启动数据库。

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

  三、利用data guard迁移:

  用dg我们不仅可以用来做容灾,物理的dg我们还可以作为迁移的方式。

  优缺点:优点是停机时间短,停机时间为switch over的时间;缺点:主机必须双份、存储必须双份。

  四、用rman做迁移:

  rman比较适合于跨文件系统的迁移,如同平台下的不同文件系统。

  操作方法:

  1.停第三方的归档备份,如legato或dp;

  2.backup数据库;

时间: 2024-07-30 12:08:47

数据迁移方式的相关文章

ORACLE 12C 冷备份方式的数据迁移

实验对象:两台linux单机的oracle 12C 数据库(大版本和小版本都一致),数据迁移采取冷备份的方式.目标机器的路径跟源库不一致,需要重建controlfile. 迁移步骤 首先关闭监听,和kill掉连接的应用ps -ef | grep LOCAL=NO | awk '{print ($2)}' | xargs kill -9 创建pfilecreate pfile='/tmp/inittest.ora1012' from spfile;  查看数据文件,日志文件的路径,日志文件路径 S

ORACLE 12C 冷备份方式的数据迁移(rename方式)

之前写了一篇通过修改控制文件来修改路径不一的问题,现在使用方法二通过rename来修改路径不一的问题 实验对象:两台linux单机的oracle 12C 数据库(大版本和小版本都一致),数据迁移采取冷备份的方式. 迁移步骤 首先关闭监听,和kill掉连接的应用ps -ef | grep LOCAL=NO | awk '{print ($2)}' | xargs kill -9 创建pfilecreate pfile='/tmp/inittest.ora1012' from spfile;  查看

[转]一种可以避免数据迁移的分库分表scale-out扩容方式

原文地址:http://jm-blog.aliapp.com/?p=590 目前绝大多数应用采取的两种分库分表规则 mod方式 dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表) 这两种方式有个本质的特点,就是离散性加周期性. 例如以一个表的主键对3取余数的方式分库或分表: 那么随着数据量的增大,每个表或库的数据量都是各自增长.当一个表或库的数据量增长到了一个极限,要加库或加表的时候, 介于这种分库分表算法的离散性,必需要做数据迁移才能完成.例如从3个扩

C#+EntityFramework编程方式详细之Code First 数据迁移

在前几篇的C#+EntityFramework编程方式中介绍了C#+EntityFramework编程方式Code First ,Model First以及Dtatabase First 等编程方式,其中Model First以及Dtatabase First中,如果实体类(Model First)或者数据库(Dtatabase First)变化了,那么就需要数据库(Model First)或者实体类(Dtatabase First)来相应的变化,以保持实体类(Model First)和数据库(

数据迁移实战:基于Kettle的Mysql到DB2的数据迁移

From:https://my.oschina.net/simpleton/blog/525675 一.什么是ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词较常用在数据仓库,但其对象并不限于数据仓库. 二.Kettle简单说明 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,数据抽取高效稳定

Oracle数据迁移expdp/impdp

Oracle数据迁移expdp/impdp目的:指导项目侧自行进行简单的数据泵迁移工作. 本文实验环境:Oracle 11.2.0.4,利用数据库自带的scott示例用户进行试验测试. 1.首先需要创建Directory 2.使用expdp导出用户数据 2.1 只导出scott用户的元数据,且不包含统计信息: 2.2 只导出scott用户的数据: 2.3 只导出scott用户下的emp,dept表及数据: 2.4 只导出scott用户下的emp,dept表结构: 2.5 导出scott用户下所有

使用SSIS对Dynamics CRM 系统进行数据迁移

嗨,各位.最近项目一直都很忙,并且自己也一直在思考职业发展的问题,所以有很长一段时间没静下心写几篇Blog了.最近我参与的项目是Dynamics CRM 2011 到 Dynamics CRM 2013 Online的数据迁移,刚好接着今天这个机会和大家分析一下数据迁移的心得吧. 读过我之前文章的朋友肯定记得我把Dynamics CRM的接口分为了两大类:1)功能接口,2)数据接口.今天要说的数据迁移可以理解为数据接口,实现数据接口的方式有很多种,比如C#制作的程序,数据库层的SQL 脚本,以及

Gitlab数据迁移

迁移环境准备: Gitlab数据迁移需在同版本之间进行.因为不同版本的gitlab之间,数据库的库表结构与程序的实现方式是有差异的.若需从服务器A把gitlab的数据迁移至服务器B,则服务器B需部署与服务器A同样版本的gitlab方可. 迁移实现方式: 可以使用gitlab备份与恢复的命令,实现数据的迁移. 备份: bundle exec rake gitlab:backup:create RAILS_ENV=production 该备份命令会备份本地gitlab的所有项目的仓库以及mysql数

mongodb3.0集群部署及数据迁移

本文主要介绍mongodb3.0新特性.集群部署及从mongodb2.6中数据迁移到mongodb3.0. mongodb3.0介绍 一.mongodb3.0新特性 引入了插件式存储引擎API 新增WiredTiger存储引擎 支持文档级别的锁 二.WiredTiger存储引擎特性介绍 文档级别锁 WiredTiger通过MVCC实现文档级别的并发控制,即文档级别锁.这就允许多个客户端请求同时更新一个集合内存的多个文档,再也不需要在排队等待库级别的写锁.这在提升数据库读写性能的同时,大大提高了系