網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例

關於數據庫中跨平台遷移方法介紹

欄目: 數據庫操作系統 / 發佈於: / 人氣:1.2W

數據庫中跨平台遷移方法介紹

關於數據庫中跨平台遷移方法介紹

一、遷移方法介紹:

exp/imp:

這也算是最常用最簡單的方法了,一般是基於應用的owner級做導出導入。

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

優缺點:優點是可以跨平台使用;缺點是停機時間長,停機時間為從exp到網絡傳輸到新庫,再加上imp的時間。

存儲遷移:

這種情況下,數據文件、控制文件、日誌文件、spfile都在存儲上(一般情況下是裸設備),我們可以直接把存儲掛到新機器上,然後在新機器上啟動數據庫。

操作方法:將老庫的pfile(因為裏面有指向裸設備的spfile鏈接),,,密碼文件傳到新庫的對應位置。將存儲切至新機,或者用文件拷貝或dd的方式複製數據文件,啟動數據庫。

優缺點:優點是該遷移方式非常簡單,主要的工作是主機工程師的工作,dba只需配合即可,停機時間為當庫、切存儲、起庫的時間。缺點是要求新老庫都是同一平台,是相同的數據庫版本。

利用data guard遷移:

用dg我們不僅可以用來做容災,物理的dg我們還可以作為遷移的方式。

操作方法:可見或者或者其他相關網文。注意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';

r 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、既定取值,這種規則和以上各種類型規則的差別就在於它不依賴於數據源字段,對目標字段取一個固定的或是依賴系統的值。