自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫(kù)跨平臺(tái)遷移方法淺析

運(yùn)維 數(shù)據(jù)庫(kù)運(yùn)維
我們常常需要對(duì)數(shù)據(jù)進(jìn)行遷移,遷移到更加高級(jí)的主機(jī)上、遷移到遠(yuǎn)程的機(jī)房上、遷移到不同的平臺(tái)下,那么如何進(jìn)行跨平臺(tái)遷移?數(shù)據(jù)遷移的方法都有哪些呢?本文將為您進(jìn)行一下詳細(xì)介紹。

一、遷移方法介紹:

exp/imp:

這也算是最常用最簡(jiǎn)單的方法了,一般是基于應(yīng)用的owner級(jí)做導(dǎo)出導(dǎo)入。

操作方法為:在新庫(kù)建立好owner和表空間,停老庫(kù)的應(yīng)用,在老庫(kù)做exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,傳dmp文件到新庫(kù),在新庫(kù)做imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.

優(yōu)缺點(diǎn):優(yōu)點(diǎn)是可以跨平臺(tái)使用;缺點(diǎn)是停機(jī)時(shí)間長(zhǎng),停機(jī)時(shí)間為從exp到網(wǎng)絡(luò)傳輸?shù)叫聨?kù),再加上imp的時(shí)間。

存儲(chǔ)遷移:

這種情況下,數(shù)據(jù)文件、控制文件、日志文件、spfile都在存儲(chǔ)上(一般情況下是裸設(shè)備),我們可以直接把存儲(chǔ)掛到新機(jī)器上,然后在新機(jī)器上啟動(dòng)數(shù)據(jù)庫(kù)。

操作方法:將老庫(kù)的pfile(因?yàn)槔锩嬗兄赶蚵阍O(shè)備的spfile鏈接),tnsnames.ora,listener.ora,密碼文件傳到新庫(kù)的對(duì)應(yīng)位置。將存儲(chǔ)切至新機(jī),或者用文件拷貝或dd的方式復(fù)制數(shù)據(jù)文件,啟動(dòng)數(shù)據(jù)庫(kù)。

優(yōu)缺點(diǎn):優(yōu)點(diǎn)是該遷移方式非常簡(jiǎn)單,主要的工作是主機(jī)工程師的工作,dba只需配合即可,停機(jī)時(shí)間為當(dāng)庫(kù)、切存儲(chǔ)、起庫(kù)的時(shí)間。缺點(diǎn)是要求新老庫(kù)都是同一平臺(tái),是相同的數(shù)據(jù)庫(kù)版本。

利用data guard遷移:

用dg我們不僅可以用來(lái)做容災(zāi),物理的dg我們還可以作為遷移的方式。

操作方法:可見(jiàn)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/或者其他相關(guān)網(wǎng)文。注意switch over之后,可以將dg拆掉,去掉log_archive_dest_2、FAL_SERVER、FAL_CLIENT、standby_file_management參數(shù)。另外還要注意如果用rman做dg,注意手工添加tempfile。

優(yōu)缺點(diǎn):優(yōu)點(diǎn)是停機(jī)時(shí)間短,停機(jī)時(shí)間為switch over的時(shí)間。缺點(diǎn):主機(jī)必須雙份、存儲(chǔ)必須雙份。

用rman做遷移:

rman比較適合于跨文件系統(tǒng)的遷移,如同平臺(tái)下的不同文件系統(tǒng)。

1.傳歸檔日志,并且對(duì)歸檔進(jìn)行做recover:recover database until sequence = 歸檔的序號(hào) thread = 1;

2.對(duì)數(shù)據(jù)庫(kù)open resetlogs:RMAN>sql 'alter database open resetlogs';

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

優(yōu)缺點(diǎn):優(yōu)點(diǎn)是可以跨文件系統(tǒng),停機(jī)時(shí)間少。缺點(diǎn)是要時(shí)刻關(guān)注這歸檔日志,做recover的時(shí)候一個(gè)都不能少!

二、遷移樣式介紹:

1、直接映射,原來(lái)是什么就是什么,原封不動(dòng)照搬過(guò)來(lái),對(duì)這樣的規(guī)則,如果數(shù)據(jù)源字段和目標(biāo)字段長(zhǎng)度或精度不符,需要特別注意看是否真的可以直接映射還是需要做一些簡(jiǎn)單運(yùn)算。

2、字段運(yùn)算,數(shù)據(jù)源的一個(gè)或多個(gè)字段進(jìn)行數(shù)學(xué)運(yùn)算得到的目標(biāo)字段,這種規(guī)則一般對(duì)數(shù)值型字段而言。

3、參照轉(zhuǎn)換,在轉(zhuǎn)換中通常要用數(shù)據(jù)源的一個(gè)或多個(gè)字段作為Key,去一個(gè)關(guān)聯(lián)數(shù)組中去搜索特定值,而且應(yīng)該只能得到唯一值。這個(gè)關(guān)聯(lián)數(shù)組使用Hash算法實(shí)現(xiàn)是比較合適也是最常見(jiàn)的,在整個(gè)ETL開(kāi)始之前,它就裝入內(nèi)存,對(duì)性能提高的幫助非常大。

4、字符串處理,從數(shù)據(jù)源某個(gè)字符串字段中經(jīng)常可以獲取特定信息,例如身份證號(hào)。而且,經(jīng)常會(huì)有數(shù)值型值以字符串形式體現(xiàn)。對(duì)字符串的操作通常有類(lèi)型轉(zhuǎn)換、字符串截取等。但是由于字符類(lèi)型字段的隨意性也造成了臟數(shù)據(jù)的隱患,所以在處理這種規(guī)則的時(shí)候,一定要加上異常處理。

5、空值判斷,對(duì)于空值的處理是數(shù)據(jù)倉(cāng)庫(kù)中一個(gè)常見(jiàn)問(wèn)題,是將它作為臟數(shù)據(jù)還是作為特定一種維成員?這恐怕還要看應(yīng)用的情況,也是需要進(jìn)一步探求的。但是無(wú)論怎樣,對(duì)于可能有NULL值的字段,不要采用“直接映射”的規(guī)則類(lèi)型,必須對(duì)空值進(jìn)行判斷,目前我們的建議是將它轉(zhuǎn)換成特定的值。

6、日期轉(zhuǎn)換,在數(shù)據(jù)倉(cāng)庫(kù)中日期值一般都會(huì)有特定的,不同于日期類(lèi)型值的表示方法,例如使用8位整型20040801表示日期。而在數(shù)據(jù)源中,這種字段基本都是日期類(lèi)型的,所以對(duì)于這樣的規(guī)則,需要一些共通函數(shù)來(lái)處理將日期轉(zhuǎn)換為8位日期值、6位月份值等。

7、日期運(yùn)算,基于日期,我們通常會(huì)計(jì)算日差、月差、時(shí)長(zhǎng)等。一般數(shù)據(jù)庫(kù)提供的日期運(yùn)算函數(shù)都是基于日期型的,而在數(shù)據(jù)倉(cāng)庫(kù)中采用特定類(lèi)型來(lái)表示日期的話,必須有一套自己的日期運(yùn)算函數(shù)集。

8、聚集運(yùn)算,對(duì)于事實(shí)表中的度量字段,他們通常是通過(guò)數(shù)據(jù)源一個(gè)或多個(gè)字段運(yùn)用聚集函數(shù)得來(lái)的,這些聚集函數(shù)為SQL標(biāo)準(zhǔn)中,包括sum,count,avg,min,max。

9、既定取值,這種規(guī)則和以上各種類(lèi)型規(guī)則的差別就在于它不依賴(lài)于數(shù)據(jù)源字段,對(duì)目標(biāo)字段取一個(gè)固定的或是依賴(lài)系統(tǒng)的值。

【編輯推薦】

  1. 用LiquiBase進(jìn)行數(shù)據(jù)庫(kù)遷移與重構(gòu)
  2. PHP將數(shù)據(jù)從Oracle向Mysql數(shù)據(jù)遷移實(shí)例
  3. 詳解SQL Server 2008遷移查詢(xún)計(jì)劃
責(zé)任編輯:佚名 來(lái)源: IT專(zhuān)家網(wǎng)
相關(guān)推薦

2010-03-09 09:49:01

Oracle跨平臺(tái)遷移

2009-03-19 09:44:07

SQL Server數(shù)據(jù)庫(kù)遷移數(shù)據(jù)庫(kù)

2011-07-14 15:24:26

MSSQL數(shù)據(jù)庫(kù)跨數(shù)據(jù)庫(kù)查詢(xún)

2009-03-30 14:52:43

復(fù)制數(shù)據(jù)庫(kù)Oracle

2010-08-25 14:32:49

DB2數(shù)據(jù)庫(kù)遷移

2010-08-13 18:06:03

IBM DB2

2010-09-25 14:01:11

Java跨平臺(tái)

2010-08-13 09:43:13

IBM DB2

2010-08-10 11:35:42

DB2數(shù)據(jù)庫(kù)

2010-08-19 17:41:46

IBM DB2跨平臺(tái)數(shù)

2011-03-03 15:16:43

DB2數(shù)據(jù)庫(kù)遷移

2010-10-08 09:38:55

Android數(shù)據(jù)庫(kù)事

2020-06-08 10:41:13

云計(jì)算數(shù)據(jù)工具

2020-03-05 10:36:12

云計(jì)算數(shù)據(jù)庫(kù)云平臺(tái)

2020-02-24 21:23:41

跨平臺(tái)想法嘗試

2010-03-24 09:42:12

Oracle數(shù)據(jù)庫(kù)

2010-02-05 09:54:30

DB2數(shù)據(jù)庫(kù)應(yīng)用遷移

2011-09-23 09:09:38

數(shù)據(jù)庫(kù)遷移

2020-08-13 07:42:15

數(shù)據(jù)庫(kù)Flyway代碼

2011-08-29 14:44:56

DBLINK
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)