数据库中跨平台迁移方法介绍

  一、迁移方法介绍:

  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的时间。

  存储迁移:

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

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

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

  利用data guard迁移:

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

  操作方法:可见http://www.oracleblog.cn/study-note/dg-created-by-rman/或者http://www.oracleblog.cn/study-note/create-dg-by-rman-one-datafile-by-one-datafile/或者其他相关网文。注意switch over之后,可以将dg拆掉,去掉log_archive_dest_2、FAL_SERVER、FAL_CLIENT、standby_file_management参数。另外还要注意如果用rman做dg,注意手工添加tempfile。

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

  用rman做迁移:

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

  1.传归档日志,并且对归档进行做recover:recover database until sequence = 归档的序号 thread = 1;

  2.对数据库open resetlogs:RMAN>sql 'alter database open resetlogs';

  3.alter tablespace temp add tempfile 'XXXXXX' size XXM reuse;

  优缺点:优点是可以跨文件系统,停机时间少。缺点是要时刻关注这归档日志,做recover的时候一个都不能少!

  二、迁移样式介绍:

  1、直接映射,原来是什么就是什么,原封不动照搬过来,对这样的规则,如果数据源字段和目标字段长度或精度不符,需要特别注意看是否真的可以直接映射还是需要做一些简单运算。

  2、字段运算,数据源的一个或多个字段进行数学运算得到的目标字段,这种规则一般对数值型字段而言。

  3、参照转换,在转换中通常要用数据源的一个或多个字段作为Key,去一个关联数组中去搜索特定值,而且应该只能得到唯一值。这个关联数组使用Hash算法实现是比较合适也是最常见的,在整个ETL开始之前,它就装入内存,对性能提高的帮助非常大。

  4、字符串处理,从数据源某个字符串字段中经常可以获取特定信息,例如身份证号。而且,经常会有数值型值以字符串形式体现。对字符串的操作通常有类型转换、字符串截取等。但是由于字符类型字段的随意性也造成了脏数据的隐患,所以在处理这种规则的时候,一定要加上异常处理。

  5、空值判断,对于空值的处理是数据仓库中一个常见问题,是将它作为脏数据还是作为特定一种维成员?这恐怕还要看应用的情况,也是需要进一步探求的。但是无论怎样,对于可能有NULL值的字段,不要采用“直接映射”的规则类型,必须对空值进行判断,目前我们的建议是将它转换成特定的值。

  6、日期转换,在数据仓库中日期值一般都会有特定的,不同于日期类型值的表示方法,例如使用8位整型20040801表示日期。而在数据源中,这种字段基本都是日期类型的,所以对于这样的规则,需要一些共通函数来处理将日期转换为8位日期值、6位月份值等。

  7、日期运算,基于日期,我们通常会计算日差、月差、时长等。一般数据库提供的日期运算函数都是基于日期型的,而在数据仓库中采用特定类型来表示日期的话,必须有一套自己的日期运算函数集。

  8、聚集运算,对于事实表中的度量字段,他们通常是通过数据源一个或多个字段运用聚集函数得来的,这些聚集函数为SQL标准中,包括sum,count,avg,min,max。

  9、既定取值,这种规则和以上各种类型规则的差别就在于它不依赖于数据源字段,对目标字段取一个固定的或是依赖系统的值。

时间: 2024-10-28 00:53:54

数据库中跨平台迁移方法介绍的相关文章

mysql5.5数据库data目录迁移方法详解_Mysql

//前一阵子以为学习需要就在自己的本本上装了个mysql数据库.今天想把结合jsp做的项目拿到学校机器上用用,但发现数据库数据怎么迁移,首先找不到数据库的数据目录在什么地方,就上网搜了搜也没找到合适的答案,但无意中发现原来5.5已经很人性化了.现在废话不多. 先说一下,其实数据库的目录就在你安装目录的data里面,我的实在D盘.可能大家默认安装都在C吧.这样就要迁移了.这个大家都懂.(D:\Program Files\MySQL\MySQL Server 5.5\data)要是我要迁移到学校机器

MySQL数据库修改root密码方法介绍

方法一,用mysqladmin 这里使用了到了Mysql自带的两种命令mysqladmin.exe和mysql.exe,mysqladmin修改密码的命令格式如下  代码如下 复制代码 mysqladmin -u root -p[oldpass] password newpass 注意oldpass(老密码)可选,如果root默认密码为空,则不需要输入,如果需要更改老密码,请注意老密码与-p之间不要有空格,否则会报错,另外password和newpass(新密码)之间以空格分隔.  代码如下 复

Oracle数据库升级或数据迁移方法研究_oracle

一.数据库升级的必要性 数据库升级是数据库管理员经常要面对的问题,如果你的应用要使用新版本数据库的新特性:如果数据库运行负载过重,而通过软硬件调整又不能有根本性的改善:如果要更换操作系统平台:如果要增强数据库的安全性:还有一个原因是随着新版本数据库的出现与成熟,oracle停止了对旧版本数据库的技术支持,升级到高版本,可以继续获得oracle的支持,还可以利用新版本数据库的新特新,可以改善系统的性能,健壮性,可扩张性和可用性,等等,面对这些问题,需要通过数据库升级才得以解决.不过,如果你的系统运

RHEL 6平台MySQL数据库服务器的安装方法_Mysql

MySQL数据库是Linux操作系统上用得最多的数据库系统,它可以非常方便的与其它服务器集成在一起,如Apache.Vsftpd.Postfix等.下面介绍RHEL 6平台MySQL数据库服务器的安装方法. 1.安装完整的MySQL数据库需要以下几个RPM包文件: perl-DBI-1.609-4.e16.i686.rpm:Perl语言的数据API perl-DBD-MySQL-4.013-3.e16.i686.rpm:MySQL与Perl语言的接口程序包 mysql-5.1.61-4.e16.

足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一)

在足球赛事数据库以及统计分析预测平台中,有很多概念,如果不搞懂,很难进行下一步的工作.所以为了配合团队人员的学习和任务进行,特意编写这篇文章.如果有其他问题和不懂的,请留言,将根据情况进行更新. 本文原文地址:足彩基础知识入门(4)赛事数据库与预测平台基础概念介绍(一) 1.指数1/2/3.... 我在 足彩基础知识入门(3)足彩赔率的本质 一文中介绍了赔率的概念,那么指数的概念和赔率以及结果是相关的.我们举个例子: 如上图的比赛,前面是竞彩非让球的赔率:1.74-3.25-4.15,也就是说

MySQL数据库及其ODBC接口的介绍(1) (转载)

mysql|odbc|数据|数据库 发信人: engineer (剑胆琴心~还是得走,sigh...), 信区: Linux 标  题: MySQL数据库及其ODBC接口的介绍(1) (转载) 发信站: BBS 水木清华站 (Mon Aug  9 18:03:16 1999)   [ 以下文字转载自 Database 讨论区 ] [ 原文由 engineer 所发表 ] MySQL数据库及其ODBC接口的介绍                   engineer                1

新建Oracle数据库的3种方法

以下是对新建Oracle数据库的三种方法进行了详细的分析介绍,需要的朋友可以过来参考下   1.通过运行Oracle Database Configuration  Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca): 2.用命令行的方式建立数据库 3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建.配置.或删除数据库. 详述:1.通过运行Oracle Database Configurati

C#搭建足球赛事资料库与预测平台(1) 基本介绍

        本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 去年4月到现在,一年之中,做了很多事情,所以写博客的时间少了,在利用业余时间搭建的彩票数据库资料库快完工之际,将陆续在博客园开放这一年来的相关成果.一年来重点对数字彩和足球彩票资料库进行数据采集和分析平台的搭建,同时也利用数据挖掘和机器学习的简单知识,对足球比赛进行预测,也小有成果,虽然已经远离数字彩,但软件的结构非常

性能优化利器:数据库审核平台的选型与实践(附PPT)

今天我将从三个方面进行分享:首先我们看一下为什么我们想要开发这个平台,最初我们想做一个什么样的选型,怎么样来设计的,后面会讲一下平台实现过程,包括实现的一些基本原理.方法和一些功能介绍,最后会谈一下平台不足的地方,以及未来的发展.   目前这个项目已开源,欢迎大家参与到这个项目里面去,不断地完善它,发展它.   一.面临的挑战   1.运维规模及种类     我相信,这也是很多公司.很多DBA正在面临或未来都会面临的一些问题.正是存在问题,促使我们考虑引入数据库审核平台.   首先是运维规模与人