【智行100】正在“消失”的醫院邊界
1110
2025-04-02
對于達夢數據庫,我在19年之前還沒有聽過,第一次聽到達夢,金倉數據的時候還是我們打算開始做鯤鵬專家服務的技術研討會上,數據庫專家在說國產數據庫的提到達夢和金倉,感覺完全沒聽過,個人最早接觸數據庫的時候是在2011年,入職第一家公司,linux運維, C開發,數據庫安裝,sql表設計,存儲過程編寫,當時記得寫了將近上萬行,幾百個存儲過程,其實個人的邏輯思維一致不好,可以說C代碼基礎也很差,在學SQl的過程中才找到了適合自己的編程習慣,后來再寫腳本什么的都易如反掌了,當初一心想干DBA,后來因為生活所迫,一心想回西安發展 , 發現西安DBA的機會很少,就轉投了嵌入式linux開發,再到linux運維,直到去年的鯤鵬項目成立,才再次接觸到數據庫;下來一查才知道,除了mysql,oracle,原來國產的數據庫已經發展如此迅猛了。
隨著案例去IOE的口號提出,中興與華為相繼被制裁,國產化的呼聲達到了十年來最激烈的一次,特別是華為在推出了鯤鵬生態后,國產化的活動,信創的字眼,越來越頻繁的出現在朋友圈,技術貼,論壇,博客中,越來越多的各種線下技術論壇如雨后春筍般涌現;
第一次接觸達夢也不例外,是從公眾號的線上論壇中關注到了達夢的技術分享論壇,主要還是抱著去學習的心態,因為工作中確實有很多國產化數據庫搬遷的工作;逐漸了解到達夢除了數據庫產品,也有自己的大數據產品DMBDP;啟云云平臺,還有自己的圖數據庫,同時也積極打造各種周邊產品,主要為工具與云平臺;
后來因為工作交流,有幸去達夢武漢研發中心做過一次技術交流,更加深入的了解到,達夢(駛達夢想)公司由華為科技大學老師馮裕才(現任達夢數據庫董事長)帶領其學生創建,2000年,創建了國內第一個數據庫公司,2001年又創建了上海達夢(當前達夢主研發中心);目前中國電子(CEC)與中國軟件均有控股;目前達夢全國總共1000人左右,研發人員占80%左右,國產數據庫的NO.1,市場份額占到60%;也是核高基的核心組成員;目前達夢在銀行,金融等高要求的場景下份額逐年遞增,也足以說明未來國產化數據庫的市場會越來越大。
Oracle遷移達夢案例
說完了背景,就實際跟大家分享下我們從Oracle簽到到達夢的一個實例吧:
某信息中心平臺原數據庫系統為6u100g單機部署的oracle數據庫,隨著業務系統的發展和用戶數量的增多,舊平臺系統已經不能適應滿足企業在擴展性、靈活性、安全性、經濟型和自主性方面的需求。業務系統數字化轉型迫在眉睫,急需能夠滿足企業業務新需求的替代方案。
在《國家信息化發展戰略綱要》等政策的推動下,響應國家信息化創新,順應國產化潮流,選定華為云鯤鵬平臺作為替代方案。
遷移架構圖如下:
Oracle與達夢數據庫的對比:
Oracle與DM在數據類型、函數和對象類型方面兼容度高達95%
僅部分數據類型名稱、函數名稱和Oracle有差異
異構數據庫遷移流程
數據庫的遷移流程都是大同小異,最主要的還是遷移的調研,深入調研客戶所有到的字典,對象,特性,以及部署方式,數據量大小來設計遷移方案,相對來說達夢的為遷移Oracle所提供的工具還是很好用的。
Oracle-DM8數據類型差異對比
需求調研階段,數據類型差異對比還是非常重要和繁瑣的,列一篇我們整理的給大家分享下:
數據庫部署方式與數據量
客戶源庫為6u100g單機部署的Oracle,是多系統多用戶共享數據庫系統,本次遷移數據量7G,涉及數據庫系統17個。
綜合客戶需求和性能測試結果,決定采用主備方式部署達夢數據庫
主備實現原理:
將主庫(生產庫)產生的 Redo日志傳輸到備庫,備庫接收并重新應用 Redo 日志,從而實現備庫與主庫的數據同步。
由數據守護進程監控數據庫狀態,獲取主、備庫數據同步情況,為 Redo 日志傳輸與重演過程中出現的各種異常情況提供一系列的解決方案。
系統結構參考右圖。主要由主庫、備庫、Redo 日志、Redo 日志傳輸、Redo 日志重演、守護進程、監視器組成。
達夢數據庫遷移工具DTS
達夢數據庫遷移工具DTS提供了主流大型數據庫遷移到DM、DM到DM、文件遷移到DM以及DM遷移到文件的功能。DTS工具采用向導方式引導用戶通過簡單步驟完成遷移過程。達夢數據庫遷移工具DTS提供了主流大型數據庫遷移到DM、DM到DM、文件遷移到DM以及DM遷移到文件的功能。DTS工具采用向導方式引導用戶通過簡單步驟完成遷移過程。
基于JDBC接口對數據進行查詢和傳輸
支持表、視圖、序列、索引、約束等對象的遷移
自動完成數據類型兼容性的轉換
達夢數據庫實時同步軟件DMHS
達夢數據實時同步軟件DMHS是達夢公 司推出的新一代支持異構環境的高性能、高可靠、高可擴展數據庫實時同步系統,該產品基于成熟的關系數據模型和標準接口,跨越多種軟硬件平臺,支持強大而靈活的拓撲結構,能以極少的系統開支實現秒級數據實時同步
基于日志的結構化數據同步技術
以數據庫事務為最小復制單位,確保復制數據的完整性和一致性
使用檢查點機制實現斷點續傳,保障數據不丟失
自帶數據比對功能
采用并行處理技術實現大批量數據的實時復制,數據同步高效
DTS與DMHS兩個工具功能對比
本次的數據庫遷移工作,根據客戶數據量大小、客戶可接受的停機時間等相關因素綜合考慮,達夢數據庫遷移工具DTS可以完全滿足本次遷移。
遷移實施6步驟
過程中遇到的幾個問題
問題現象
Oracle下執行正常的SQL語句在達夢中執行報錯
select * from (SELECT * FROM T_SCHEDULE s JOIN CENTITIP.F_USERINFO us ON us.USER_CODE = s.USER_CODE JOIN CENTITIP.F_UNITINFO un ON un.UNIT_CODE = us.PRIMARY_UNIT WHERE 1 = 1 AND data_valid_flag = '1' ?AND s.USER_CODE != ?'255' AND s.USER_CODE != ?'1515' ORDER BY un.unit_order ASC, us.user_order ASC ,s.THEME ASC ) where rownum <= 10
根因分析
USER_CODE在達夢里是關鍵字,在Oracle中不是,不能定義為字段名
解決方案
配置文件中配置EXCLUDE_RESERVED_WORDS=?
屏蔽USER_CODE 這個關鍵字
問題現象
手工修改后的物化視圖語句執行報錯
refresh with primary key force start with sysdate + 0 ?next to_date(concat(to_char(sysdate + 1,'dd-mm-yyyy'),'10:25:00'),'dd-mm-yyyy hh24:mi:ss’)
disable query rewrite
根因分析
… …
達夢不支持含有大字段及對象類型的物化視圖
解決方案
留個懸念,大家自行腦補思考下,哈哈
開發者 Oracle
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。