- 相關推薦
關于數據庫中跨平臺遷移方法介紹
數據庫中跨平臺遷移方法介紹
一、遷移方法介紹:
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、既定取值,這種規則和以上各種類型規則的差別就在于它不依賴于數據源字段,對目標字段取一個固定的或是依賴系統的值。
【數據庫中跨平臺遷移方法介紹】相關文章:
面試中自我介紹的方法07-01
MySQL數據庫備份守則和方法04-22
戶口遷移介紹信04-27
使用Java程序連接各種數據庫的方法07-01
職場中的進步方法07-03
面試中改錯的方法07-03
面試中化險為夷的方法07-03
在面試中化險為夷方法07-03
戶口遷移單位介紹信07-07
村戶口遷移的介紹信10-29