資料庫管理-第126期 如何將資料從11g弄到19c上(202301223)

yhw1809發表於2023-12-23

資料庫管理-第126期 如何將資料從11g弄到19c上(202301223)

這應該是2023年寫的最後一篇關於Oracle的文章吧,其實手上的Oracle資料庫最近都挺平穩的,沒啥素材,在JiekeXu徐小強老師的群裡徵集了一下內容,其中對11g如何升級到19c相關內容感興趣的比較多,但是細細想了實際的生產需求其實核心需求應該是如何把原來執行在Oracle 11g資料庫中的資料想方設法弄到Oracle 19c的資料庫中去。結合官方文件和實戰經驗,使用Oracle原生的方式並排除一些我認為比較複雜、操作性較低的方式,然後也是我第一次畫在博文中畫思維導圖:

20231222-bd9dd02f-4990-4ada-93d7-522ddd312139.png

1 原地升級

其實原地升級這種方式用的不多,因為大多數時候要用19c也會同步升級硬體。同時如果涉及需要升級作業系統,特別是在使用GI(ASM,大多數為RAC環境)的情況下升級作業系統是一件比較麻煩的事情,建議的方式是剔除節點,升級or重灌作業系統,完成作業系統基礎配置後再把節點加回來(也可以檢視**Will an Operating System Upgrade Affect Oracle Clusterware? (Doc ID 743649.1)**用其中的方式來處理);所有節點完成作業系統滾動升級後才能升級GI,隨後才是升級DB。
除去標準的DBUA方式以外,Oracle還提供了一個非常便利的DB升級工具:AutoUpgrade(AutoUpgrade Tool (Doc ID 2485457.1)):

Benefits
AutoUpgrade enables customers to upgrade one or many Oracle databases at the command-line with a single command and a single configuration file. AutoUpgrade will run the preupgrade tasks, perform automated fixups where needed, execute the database upgrade, and finish by taking care of post-upgrade tasks. It includes automatic retry and fallback, the possibility to schedule upgrades for future points in time, and the ability to set, change or remove initialization parameters as desired. It saves time and money by upgrading hundreds of databases with one command and replacing bespoke high maintenance upgrade solutions.

從文件介紹可以看出,AutoUpgrade是一個非常簡化、自動、快速的資料庫升級工具,僅需一條命令和一個配置檔案即可。具體操作可以檢視官方文件 部分,這裡就不做過多講解(後續看情況單獨寫一篇)。

2 異機遷移

異機遷移是我生產中用的比較多的方式,確實大多數時候,是因為老庫的硬體不行了或者還有其他用途。

邏輯遷移

我這裡所說的邏輯遷移不僅限於Oracle提供的exp/imp工具,也包含基於dblink、業務系統本身或一些工具使用SQL的方式將資料從11g弄到19c去。

資料泵

對於不是很大的資料庫,我這裡使用expdp/impdp的方式來遷移資料是比較多的,即便是字符集不相同也可以透過提前修改表結構來處理。

表空間傳輸

我這裡使用過一次XTTS(增強表空間傳輸)來將HP小機上的11g資料遷移到Exadata上19c的PDB中,其他就不贅述了:
記一次HPUX到Exadata的xtts資料遷移——準備篇
記一次HPUX到Exadata的xtts資料遷移——xtts篇
記一次HPUX到Exadata的xtts資料遷移——實戰篇

OGG

Oracle Golden Gate也是一種比較常見資料遷移方式,其好處就是資料可以跨平臺跨版本實時同步,可以透過極短的時間實現切換,大幅減少停機時間。當然使用OGG也得考慮其配置問題以及開啟資料庫附加日誌帶來的效能問題(特別是老硬體)。

DataGuard

其實使用DG的方式也是比較合理的,特別是在RAC環境,可以在目標端預先安裝符合要求的作業系統及GI,使用同版本DB來同步資料,需要升級時中斷DG,再使用AutoUpgrade來升級目標端的DB。如果升級過程出現問題目標庫不可用,源庫也不會受到影響。

3 其他升級or遷移方式

  • 使用第三方工具來實現類似於OGG的實時實際同步/全量(+增量)資料遷移
  • 使用邏輯備庫滾動升級(操作有點複雜,有機率影響資料,備份很重要)

總結

老規矩,知道寫了些啥

來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/31466763/viewspace-3001232/,如需轉載,請註明出處,否則將追究法律責任。

相關文章