如果是在幾年前討論Oracle升級的問題,其實會存在很多的異議,如今再來看待這個問題,我覺得情況有了變化,我來嘗試重新解讀一下這個問題。
Oracle資料庫版本背景
首先來說下Oracle的版本背景。
根據Oracle的產品線規劃,18c開始的新版本將是年度版,版本將是發布年度的最後兩位數字。原本計劃作為12.2.0.2的版本就是現在發布中的18c,12.2.0.3將以19c的版本形式發布。預期Oracle資料庫19將是12.2的最後一個版本(「長期支持」版本)。
所以經歷了8,8i,9i,10g,11g,12c之後,接下來的就是18c,19c,現在是2020年了,最新版本按照規劃還是19c,可沒有20c,要不會被笑話。
從版本V2發展至今,我細數了如下的一些版本情況。
| 版本發布年 | 版本 | 
| 1979 | 2.3 | 
| 1983 | 3.1.3 | 
| 1984 | 4.1.4.0 | 
| 1985 | 5.0.22 | 
| 1988 | 6.0.17 | 
| 1992 | 7.0.12 | 
| 1997 | 8.0.3 | 
| 1998 | 8.1.5.0 | 
| 2001 | 9.0.1.0 | 
| 2002 | 9.2.0.1 | 
| 2003 | 10.1.0.2 | 
| 2005 | 10.2.0.1 | 
| 2007 | 11.1.0.6 | 
| 2009 | 11.2.0.1 | 
| 2013 | 12.1.0.1 | 
| 2016 | 12.2.0.1 | 
| 2018 | 18.1.0 | 
| 2019 | 19c | 
如果要從整體看出版本的差異情況,可以看下面的柱狀圖。
這個圖沒有體現版本之間的時間差,僅僅從版本的變化情況來看。

僅僅從這個圖上就能夠看出一種鮮明的差異,那就是類似SQL Server這樣的年度版本,能夠對於版本的差異沒有那麼敏感。
Oracle資料庫版本規劃
我們能夠看到有很多的版本,如果要選擇升級資料庫,到底是選擇12c還是18c,還是19c呢,我們來看一個版本路線圖,可以參考在MOS 官方文章:Release Schedule of Current Database Releases (文檔 ID 742060.1)

這個圖是理解整個內容的核心,可以看到19c的定位是長期版本,而且擴展服務的截止時間是目前最長的。
相比而言18c的生命周期就會短許多,有點像曇花一些的過渡版本,從性價比來看似乎還不如早一些的12.2.0.1這個版本,如何和當時的時間背景聯繫起來,應該是一批早期用戶從11g升級,在沒有12.2版本發布時,選擇了升級到12.1.0.2,所以看到的12.2.0.1和18c的發布時間也很接近。
值得一提的是,在2020年4月15日,Oracle修改了12.2.0.1的擴展服務截止時間,從2020年12月1日擴展到了2020年3月31日。(Added Limited Error Correction for 12.2.0.1 from Dec 1, 2020 until March 31, 2022)
Oracle資料庫服務支持
對於擴展服務,我們可能有些陌生,大體分來,支持的強度分為三個級別:Premier Support(最高優先順序的支持),Extended Support(中等優先順序的支持),Sustaining Support(最低優先順序的支持)。
如果和上面的圖聯繫起來,其實就是對於擴展服務打了一些補丁,可以舉個例子來說明,比如主流版本是11g,那麼會有一個相對穩定產品生命周期,比如是5年,那麼在這5年內是官方大力支持的階段,會修復一系列的版本bug,推出一些改進和新功能,臨近產品生命周期,就需要考慮升級,如果不升級服務支持力度上就會打一定的折扣,比如說擴展服務周期是2年,那麼2年後正常來說是無法下載一些補丁更新的,如果過了擴展服務周期還沒有升級,如果是大客戶,花錢繼續支持也可以,如果又跨越了多個時段,但是原來的版本支持還是需要,就需要做定製化的支持了。
對於資料庫版本來說,10g是個坎,升級到11g是個坎,升級到12c的選擇空間從上圖來看就比較有限了,目前可選的就是12.2.0.1,18c和19c了。我們來看下這3個版本,我來劃一下重點。
| 版本 | 補丁截止時間 | 備註和說明 | 
| 19cLong-Term Release | Mar 31, 2023 with no ES/ULAMar 31, 2026 with ES/ULA | Premier Support (PS) ends Mar 31, 2023, Extended Support (ES) fees will be required beginning Apr 01, 2023 through Mar 31, 2026Error Correction / Patching is available through Mar 31, 2026 with paid ES. Without paid ES, patching is only available until Mar 31, 2023. | 
| 18cAnnual Release | Jun 08, 2021 | Error Correction / Patching is available until Jun 08, 202118c is not eligible for Extended Support (ES) | 
| 12.2.0.1Annual Release | * March 31, 2022 with Limited Error Correction from Dec 1, 2020 | Error Correction / Patching is available until Nov 30, 2020Limited Error Correction (Sev 1 and Security Updates only) is available from Dec 1, 2020 – March 31, 2022 See Note 161818.1 for details.12.2.0.1 is not eligible for Extended Support (ES)Gen 1 ExaCC, OCC DBCS, and ODA will have 3 additional months of support life. The end of life dates for databases on these platforms is: 28-Feb-2021 | 
從上面的圖來看,為了求穩,我們不是選擇最接近的低版本,而是要首選儘可能穩定的大版本,避免後續的大版本改動。如果說得更清楚些,那就是選擇19c.
版本的情況基本說完了,我們來看下升級的正確姿勢,因為環境的差異,肯定初始版本都不大相同。
Oracle資料庫版本升級矩陣
對於11g的資料庫來說,如果是11g的最新版本,則可以直接升級到19c,這是一個極大的利好消息,避免了過渡升級帶來的潛在隱患和服務不可用過長。
對於12c以上的版本(12.1.0.2以上),則可以直接升級到19c。
升級的過程可以考慮純手工方式升級數據字典,也可以考慮使用DBUA來做。
Oracle 19c – Complete Checklist for Upgrading to Oracle Database 19c (19.x) using DBUA (Doc ID 2545064.1)
如果使用DBUA來升級,直接升級可以參考如下的表格:
| Source Database | Target Database | 
| 11.2.0.4 and Higher | 19.x | 
| 12.1.0.2 | 19.x | 
| 12.2.0.1 | 19.x | 
| 18.1 | 19.x | 
對於有些版本來說,則不可以直接升級,就需要過渡,比如你的版本是11.2.0.2,則需要先升級到11.2.0.4之後才可以升級到19c.
| Source Database | Intermediate upgrade path | Target database | ||
| 11.2.0.1/11.2.0.2/11.2.0.3 | –> | 11.2.0.4 | –> | 19.x | 
| 11.1.0.6/11.1.0.7 | –> | 11.2.0.4 | –> | 19.x | 
| 10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5 | –> | 11.2.0.4/12.1.0.2 | –> | 19.x | 
| 10.1.0.5 | –> | 11.2.0.4/12.1.0.2 | –> | 19.x | 
| 9.2.0.8 or earlier | –> | 11.2.0.4 | –> | 19.x | 
| 12.1.0.1 | –> | 12.1.0.2/12.2.0.1 | –> | 19.x | 
5 嘗鮮新版本
此外,如果我們想先嘗嘗鮮,做下測試
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/274514.html
微信掃一掃 
支付寶掃一掃