999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于地震資料處理的數據庫遷移方法研究

2023-10-05 08:10:20金弟邵萌珠何嘉誠葉月明王宗仁
電子設計工程 2023年19期
關鍵詞:數據庫

金弟,邵萌珠,何嘉誠,葉月明,王宗仁

(中國石油杭州地質研究院計算機應用研究所,浙江杭州 310023)

地震資料處理平臺是油氣勘探開發領域重要的科研裝備[1-2],對油氣井位部署和規模油氣藏發現起到重要作用。杭州地質研究院是以海相海洋為特色的中國石油下屬油氣勘探研究院,開展國內外油氣勘探地震資料目標處理研究。隨著油氣勘探深入開展,需對現有地震資料處理平臺的數據庫系統進行升級改造,為了有高性價比以及快速有效方便完整進行數據庫遷移,提出將Oracle 數據庫[3-4]遷移到PostgreSQL 數據庫[5-7]的數據遷移解決方案。為油氣勘探開發領域的數據庫數據遷移提供借鑒參考。

1 數據庫遷移設計方案

1.1 數據組織結構分析

現有地震資料處理的Oracle 數據庫系統共有OPM、OCM、RDM 等7 個數據庫實例,涉及的處理工區有常規處理、交互式處理、時間偏移、深度偏移四種地震工區類型[8]。如圖1 所示,整個數據庫系統數據組織架構以地震項目工區為核心,每個地震項目工區在物理上對應一個表空間,邏輯上對應一個Schema,每個Schema 對應所屬的數據庫對象集。

圖1 地震資料處理數據組織邏輯結構

可以看出,數據庫數據組織結構具有多數據庫實例、多地震項目工區類型、多Schema、多數據庫對象、多數據變化等特點。這些特點增加了數據庫數據遷移過程的復雜性,提升了對數據遷移完整性的要求,是數據庫數據遷移的難點所在。也是在設計數據遷移方案時,重點需要解決的關鍵性問題。

1.2 數據遷移技術流程

通過上述對地震資料處理平臺Oracle 數據庫數據組織邏輯結構的闡述與分析,數據庫系統有多個數據庫實例和一定規模數量不同類型的地震資料處理項目工區Schema。

數據庫數據遷移以地震資料處理項目工區為一個邏輯遷移單位,數據庫數據遷移方法的核心思想是采用模板機制方法設計來解決。

1)分析源數據庫系統中數據庫實例層的數據組織結構,構建數據庫實例級模板及相關參數,分析源數據庫系統的不同地震項目工區層的數據組織結構,構建地震工區級模板及相關參數,完成二類模板構建及參數選擇。

2)設計模板轉換程序,針對具體的數據庫實例名稱、項目工區類型、項目工區名稱等參數輸入完成模板到項目工區級數據遷移的SQL 執行腳本集。

3)根據SQL 執行腳本集完成數據庫數據遷移和數據完整性、一致性檢查。數據遷移技術流程如圖2所示。

圖2 數據遷移技術流程

1.3 創建模板與參數選擇

隨著地震資料處理平臺長期使用和地震資料處理項目工區增多,7 個數據庫實例與不同地震項目工區的組合在源數據庫系統中產生大量的Schema,每個Schema 又產生眾多所屬的數據庫對象集,因此源數據庫系統的各個數據庫實例中具有Schema 數量的動態變化和數據庫對象集合的數量規模不確定性等特性,通過模板機制能很好地解決這些問題。

針對7 個數據庫實例設計7 個數據庫實例級的模板。如圖3,針對四種地震資料處理項目工區類型設計四類地震項目工區級模板,針對每個數據庫實例模板和每類地震項目工區類型的特點,結合對應地震項目工區Schema 中的數據庫對象類型,每類地震項目工區級模板由若干數據庫對象子模板構成,結合模板的參數選擇實現模板到可執行遷移腳本程序集的生成。

1.4 遷移工具設計

遷移工具主要由SQL 模板集、Perl[9]轉換程序、SQL 腳本集等構成。

1)SQL 模板實現在1.3 節闡述的各類模板。

2)Perl 轉換程序是遷移工具的主程序執行代碼,主要包括把SQL 模板轉換成SQL 腳本集和執行SQL 腳本集兩項功能。

圖3 二類模板創建與執行腳本生成關系

3)SQL 腳本集分為創建、拷貝、修改三種類型,創建類SQL 腳本主要完成表、序列、視圖、觸發器等數據庫對象的創建功能,拷貝類SQL 腳本完成對應數據庫對象的實體數據從源數據庫系統服務器遷移到目標數據庫系統服務器,修改類SQL 腳本通過追加約束、索引等數據庫操作修改數據庫的地震資料處理項目工區相關聯的Schema 所屬數據庫對象集。

2 數據庫數據遷移實現

該節以OPM 為數據庫實例,某海域的一個時間偏移地震項目工區作為數據遷移案例。源數據庫系統為2010 年建設的Oracle 數據庫,目標數據庫系統為2022 年建設的PostgrepSQL,源數據庫與目標數據庫的遷移環境如表1所示,案例數據信息如表2所示。

表1 數據遷移環境

表2 案例數據信息

2.1 遷移前相關準備工作

2.1.1 遷移數據備份

在進行數據遷移之前,為了解決在數據遷移過程中出現數據缺失、數據錯誤導致數據無法恢復的問題,需對源數據庫系統Oracle 進行備份。由于遷移數據以地震資料處理項目工區為遷移單位,因此需要對遷移的項目工區進行備份。在源數據庫服務器上,利用Oracle Export 工具[10]對該項目工區對應的Schema 的數據庫對象集合進行邏輯備份。

2.1.2 Oracle_FDW安裝配置與互連

數據遷移工作需要在目標數據庫服務器上對源數據庫服務器執行遠程數據遷移任務,通過PostgreSQL 的 Oralce_FDW(ForeignDataWrapper for Oracle Database)[11]方式創建源數據庫系統與目標數據庫系統互連數據遷移通道。目標數據庫服務器需要進行如下安裝配置:

2.2 創建OPM數據庫實例

2.2.1 創建OPM數據庫實例模板

在目標數據庫服務器上,OPM 數據庫實例創建主要包括兩項功能,一是創建OPM 數據庫用戶名、實例名以及相關授權操作,二是創建OPM 數據庫用戶對應的Schema 數據庫對象集合。下面為OPM 數據庫實例模板中創建數據庫的部分SQL 代碼,其中$dbuser、$dbpassword 等以$開頭的為參數輸入(下同):

2.2.2 生成創建數據庫實例執行SQL腳本

通過轉換程序模塊把OPM 數據庫實例模板轉換成可執行的SQL 腳本,以下為轉換程序函數調用入口:

PGUtils 是轉換程序工具包,ConvertToDBSQL 函數共有5 個參數。第一個參數為OPM 數據庫實例模板;第二個參數為除模板之外新追加的執行程序代碼變化部分;第三個參數為轉換成可執行的SQL 腳本的存儲位置;第四個參數為模板中需要被替換的部分參數列表,一般是$開頭的參數,如$dbuser 等;第五個參數為實際替換的具體參數值列表,如hzopm001。

2.3 創建時間偏移地震項目工區

2.3.1 動態構建時間偏移地震項目工區模板

針對源數據庫服務器,根據地震項目工區模板類型、源數據庫的OPM 數據庫名稱、源OPM 數據庫中被遷移的Schema 名稱,生成該Schema 對應的數據庫對象集數據,為轉換程序生成最后的數據庫對象創建提供源數據庫對象信息。在hzopm001 數據庫實例中,ZZ99 項目工區對應的Schema 主要包括表、視圖、序列、角色、觸發器等數據庫對象類型。模板生成信息函數如下:

2.3.2 地震項目工區數據庫對象創建

在已經創建目標數據庫服務器的OPM 數據庫實例中,完成批量自動創建地震項目工區對應的表空間、用戶、權限等。對于一些特殊的數據庫對象集,如數據庫對象索引index、約束constraint、序列sequence 等與源數據庫對應不一致,需要在目標數據庫系統中額外重建。

如在模板數據庫對象集中,對地震項目工區輸入表PROJECT_INPUT_DATA、作業運行狀態視圖JOB_RUN_VIEW 等自動創建,而相關索引、約束、序列需另外重建。

2.4 執行數據遷移

完成創建數據庫實例OPM 和時間偏移地震項目工區ZZ99,對應Schema 所屬數據庫對象集的元信息在目標數據庫服務器中構建生成,開始進入用戶數據的遷移工作。由于源數據庫系統中數據對象集的元數據結構動態變化,在遷移數據的過程中,采用動態獲取數據庫對象的元數據結構信息方法。

以數據庫對象table 為例,遷移過程方法如下:

1)輸入Schema 名稱、Tables 名稱,從源數據庫系統中動態獲取Table 的元數據結構信息:

2)根據動態獲取的源數據庫系統中table 對應的數據結構信息,實現Table 中的源數據庫系統用戶數據遷移到對應的目標數據庫系統中:

3)在遷移的過程中,參照文獻[12-13]的方法解決數據轉換過程錯誤、數據類型不一致、目標數據庫字段信息不一致等常見問題。

2.5 數據遷移結果分析驗證

數據遷移時在多臺機器上執行多個任務,并通過網絡傳送大量數據,不可避免會出現錯誤[14]。需要對數據遷移結果的一致性與完整性進行檢查,主要從數據庫對象的數量、數據庫對象存儲的數據量以及地震資料處理應用軟件獲取數據庫數據效果三個方面進行。

2.5.1 數據庫對象數量

在源數據庫系統中,向系統表user_objects 中獲取所有的數據庫對象類型及其對應的數據庫對象數量,然后與目標數據庫進行對比,確保數據遷移到目標數據庫的數據庫對象類型、數據庫對象數量不丟失遺漏。圖4為使用Oracle sqlplus和PostgreSQL psql 分別統計的數據庫對象數量排名前五的源數據庫與目標數據庫的對象數量對比。

圖4 數據遷移前后數據庫對象數量對比

2.5.2 數據庫數據量

地震資料處理涉及海量的地震資料采集文件數據、中間生成文件數據以及成果文件數據,這些文件數據信息主要存放在帶有dataset 標識的相關表中,是核心數據信息之一。圖5 列舉了這些核心數據量排名前五的數據遷移前后的對比。

圖5 數據遷移前后數據庫數據數量對比

2.5.3 應用軟件實效

圖6 是遷移前基于Oracle 的Omega2011 應用中,舊地震項目工區ZZ98的25個有效地震資料處理作業流程。圖7是遷移后基于PostgreSQL的Omega2021 應用中[15-19],新地震項目工區ZZ99 的25 個有效地震資料處理作業流程。數據庫遷移前后確保相同的作業流程名和個數,而且Oracle數據庫中的非活動的無效作業流程(標識打×)沒有遷移到PostgreSQL數據庫系統中。

圖6 遷移前基于Oracle的Omega2011應用

圖7 遷移后基于PostgreSQL的Omega2021應用

3 結束語

基于地震資料處理平臺的數據庫遷移是油氣勘探行業科研裝備更新換代的重要一環,在地震資料并行處理應用軟件Omeg 的應用場景下,文中給出的從Oracle 數據庫系統向PostgreSQL 數據庫系統遷移的方法和工具取得了很好的效果。但是在整個遷移過程中,還存在著手動人工干預操作,如何從源數據庫系統中自動智能化獲取全面的元數據信息,并能自我糾錯地生成對應的目標數據庫系統元信息,遷移解決方案適用到更多的地震資料并行處理應用軟件的應用場景中,這些都是今后下一步研究的方向和內容。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 永久免费av网站可以直接看的| 国产精品亚洲一区二区三区z| 国产无套粉嫩白浆| 99在线视频网站| 色亚洲成人| 99在线视频精品| 午夜欧美在线| 亚洲国产成人久久77| 97se亚洲综合| 性69交片免费看| 亚洲三级网站| 久久久91人妻无码精品蜜桃HD| 2021国产精品自拍| 亚洲va欧美ⅴa国产va影院| 色综合中文| 欧美人与牲动交a欧美精品| 国产福利不卡视频| 在线国产三级| 色婷婷在线播放| 国产欧美高清| 日韩欧美91| 色AV色 综合网站| 高潮毛片免费观看| 在线观看精品国产入口| 国产h视频在线观看视频| 国产剧情国内精品原创| 日韩小视频在线播放| 免费不卡视频| 久久免费视频播放| 婷婷色婷婷| 久久久久国色AV免费观看性色| 国产毛片不卡| 91亚洲视频下载| 日本午夜在线视频| 国产专区综合另类日韩一区| 中文成人在线| 国产精品女人呻吟在线观看| 成人免费午间影院在线观看| 成人精品午夜福利在线播放 | 91香蕉国产亚洲一二三区 | 久久久久久久久亚洲精品| 国产不卡国语在线| 国产丰满成熟女性性满足视频| 国产好痛疼轻点好爽的视频| 亚洲中文字幕国产av| 中文字幕乱码中文乱码51精品| 91精品福利自产拍在线观看| 亚洲Aⅴ无码专区在线观看q| 波多野结衣一二三| 亚洲午夜国产片在线观看| 亚洲va欧美ⅴa国产va影院| 麻豆精品视频在线原创| 国产新AV天堂| 亚洲AV一二三区无码AV蜜桃| 精品无码国产一区二区三区AV| 欧美亚洲国产精品久久蜜芽| 精品人妻系列无码专区久久| 在线观看热码亚洲av每日更新| 日韩中文精品亚洲第三区| 一级看片免费视频| 色欲色欲久久综合网| 日韩精品成人在线| 综1合AV在线播放| 91美女视频在线| 日韩a在线观看免费观看| 亚洲综合网在线观看| 久久香蕉国产线看观看亚洲片| 国产精品林美惠子在线播放| 狠狠色噜噜狠狠狠狠色综合久| 亚洲成a人片| 麻豆精品久久久久久久99蜜桃| 成人免费网站久久久| 永久免费无码成人网站| 日韩a级片视频| 日韩精品免费在线视频| 囯产av无码片毛片一级| 国产91九色在线播放| 国产精品九九视频| 亚洲有码在线播放| 国产精品三级av及在线观看| 国产欧美视频在线观看| 日本91在线|