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

    時間:2022-06-28 03:43:25 數據庫操作系統 我要投稿
    • 相關推薦

    關于數據庫中跨平臺遷移方法介紹

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

      一、遷移方法介紹:

      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

    黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看