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

基于Oracle數(shù)據(jù)庫的商業(yè)網(wǎng)站數(shù)據(jù)庫移植

2009-04-29 00:00:00范澔赟
電腦知識與技術(shù) 2009年33期

摘要:在商業(yè)網(wǎng)站運行中,數(shù)據(jù)庫移植的根本目的在于系統(tǒng)升級,解決當前系統(tǒng)功能上和性能上存在的問題。所以,在我們的移植工程中首先要保證邏輯的正確,做到移植前后的等價性,然后要對移植后的系統(tǒng)進行性能調(diào)優(yōu)。該文為此具體探討了商業(yè)網(wǎng)站的Oracle數(shù)據(jù)庫移植為SQL Server數(shù)據(jù)庫的理論與應用分析。

關(guān)鍵詞:數(shù)據(jù)庫移植;SQL Server;Oracle

中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2009)33-9126-01

數(shù)據(jù)庫移植就是不改變原有系統(tǒng)的后臺數(shù)據(jù)庫管理系統(tǒng),并仍然保持原有系統(tǒng)架構(gòu)、系統(tǒng)數(shù)據(jù),前后端應用程序不變的一種系統(tǒng)升級方法。這種系統(tǒng)的變更通常是出去商業(yè)或者系統(tǒng)整體性能的考慮。整個移植過程一般非常龐大,其中主要包括存儲空間的移植、數(shù)據(jù)庫對象的移植、數(shù)據(jù)庫數(shù)據(jù)的移植、代碼的移植、系統(tǒng)測試等很多方面的技術(shù)問題。本論文討論的重點是以圍繞網(wǎng)站數(shù)據(jù)庫中數(shù)字類型數(shù)據(jù)移植而進行的。

1 數(shù)據(jù)庫移植的理論分析

數(shù)據(jù)庫移植工程在全球已經(jīng)有很廣泛的應用,同時也出現(xiàn)了不少現(xiàn)成的不同產(chǎn)品間的數(shù)據(jù)庫產(chǎn)品移植工具。然而,由于各種數(shù)據(jù)庫產(chǎn)品之間的實現(xiàn)還是有很多根本架構(gòu)上的不同,采用的SQL標準也不盡相同,這個導致了在很多問題上,并不是簡單的語法變化就可以實現(xiàn)保證正確性的數(shù)據(jù)庫轉(zhuǎn)換。完全依賴數(shù)據(jù)庫產(chǎn)品可能存在一些正確性的隱患,因此,很多地方還似乎要根據(jù)具體分析來進行人工參與的。這樣的話,我們決定在數(shù)據(jù)庫移植開發(fā)的前期借助數(shù)據(jù)庫產(chǎn)品中的自動移植工具省去我們很多的重復工作,但在某些關(guān)鍵性問題上仍然需要我們?nèi)藶榈墓ぷ鳎蛘邔ぞ哌M行相應具體的配置。Oracle是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的企業(yè)級大型關(guān)系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合,也是目前最流行的客戶/服務器(CLIENT/Server)體系結(jié)構(gòu)的數(shù)據(jù)庫之一。而SQL Server 2005也同樣是擁有很多優(yōu)越特性的基于客戶/服務器體系結(jié)構(gòu)的數(shù)據(jù)庫。相較而言,進行Oracle移植工作有公司項目的商業(yè)目的。一般來說,我們把數(shù)據(jù)庫中用來儲存和表示數(shù)據(jù)的實體成為對象(Object),它通常包括數(shù)據(jù)的邏輯存儲空間,表(Table),索引(Index),視圖(View),約束(Constraint),觸發(fā)器(Trigger)和存儲過程(Store Procedure)等等相關(guān)組成部分。在本次移植工作中,我們要做的工作是把原先在Oracle上的所有相關(guān)數(shù)據(jù)、程序、服務等等全部移植到全新的SQL Server環(huán)境,因此基于兩者數(shù)據(jù)庫架構(gòu)和原理的一些不同,這些數(shù)據(jù)庫對象也有很大的不同。而一個完整的數(shù)據(jù)庫系統(tǒng)一般分成數(shù)據(jù)庫服務器端部分和應用程序部分,兩者互相結(jié)合。而數(shù)據(jù)庫又包括數(shù)據(jù)庫對象和數(shù)據(jù)庫數(shù)據(jù)。所以我們進行數(shù)據(jù)庫移植的工作就大致大致可以分成一下幾個部分:存儲空間的移植、具體對象得數(shù)據(jù)庫移植與數(shù)據(jù)移植。

2 存儲空間的移植

進行數(shù)據(jù)庫的移植先要進行數(shù)據(jù)庫后臺級別的移植,再進行Code級別的移植。我們商業(yè)網(wǎng)站的數(shù)據(jù)庫建立在Oracle上的,一共有18個數(shù)據(jù)庫分散在大小不等的100多個邏輯設(shè)備。為此我們就在新的SQL Server數(shù)據(jù)庫中,創(chuàng)建相對應的18個方案,來完成存儲空間移植的工作。特別是對于表的分區(qū),一般情況下我們應該能夠?qū)?shù)據(jù)大致平均地分部在各個分區(qū)上。由于網(wǎng)站系統(tǒng)中數(shù)據(jù)是以時間為單位分部的,因此將主要數(shù)據(jù)按月份分為12個區(qū)是順理成章的。不過另一方面,網(wǎng)站的計算是每天晚上啟動的,啟動以后會計算當月或者前一個月的數(shù)據(jù),因此,在某一個時間單元里面,數(shù)據(jù)庫對數(shù)據(jù)的訪問也是集中在某個月份的。也就是說這樣的分區(qū)方法并沒有達到我們提高數(shù)據(jù)表訪問并行度從而提高性能的目的,也無法很好得解決磁盤競爭沖突等問題。由此我們引入了新的分區(qū)方法-Hash分區(qū)。對數(shù)據(jù)表的Hash分區(qū)可以很好的解決以上所說的并發(fā)度和競爭沖突的問題,不過也存在它的缺陷。所以,經(jīng)過針對PnA系統(tǒng)的分析和討論,我們決定選擇區(qū)間和Hash組合的分區(qū)方式,這樣既做到了各個分區(qū)數(shù)據(jù)量的大致均等,又使不同的fund分區(qū)存放,提高了系統(tǒng)訪問的并發(fā)度。

3 具體對象的數(shù)據(jù)庫移植

在商業(yè)網(wǎng)站具體對象的數(shù)據(jù)庫移植,這些具體對象包括:表、索引、視圖以及數(shù)據(jù)類型。面來具體介紹了數(shù)字類型數(shù)據(jù)庫如何實現(xiàn)它在新SQL Server環(huán)境中的移植工作。數(shù)字類型數(shù)據(jù)庫中是最常見的一種對象類型,它本身并不復雜,轉(zhuǎn)換起來也比較方便。可是往往有時由于具體的要求,表中存放數(shù)據(jù)對精度的要求比普通數(shù)據(jù)高很多,這樣就出現(xiàn)一定問題了。特別是商業(yè)網(wǎng)站系統(tǒng),平時每天都涉及大量的網(wǎng)絡(luò)數(shù)據(jù)I/O和相關(guān)的計算,需要最大程度地保證數(shù)據(jù)精度,減少計算誤差,保障客戶利益。在網(wǎng)站系統(tǒng)中,原來的數(shù)據(jù)庫上用Oracle中的float類型來表示浮點數(shù),為了提升精度,在新的SQL Server系統(tǒng)中我們用NUMBER來表示各種數(shù)字,進行各種計算。Number類型的數(shù)字根據(jù)其參數(shù)的不同,可以表示成各種精度的整數(shù)或者小數(shù),比如Number(1,2),等等。然而有一個問題需要注意,我們發(fā)現(xiàn),簡單地將Oracle中的float替換成SQL Server中的Number會產(chǎn)生一個問題。讓我們看一個例子。在我們處理的計算中間過程中,需要從數(shù)庫里取出一個浮點數(shù)并在之后的應用中和其他計算結(jié)果相比較,要求誤差在于分之一以內(nèi)。假設(shè)我們讀取的是14.9875,那么我們在Oracle系統(tǒng)中,用這樣的語句來讀取并為以后的比較作準備:Select round (value, 3)from table1。相同的,Oracle中我們也用同樣的語句來讀取。可是我們卻發(fā)現(xiàn),在Oracle中select的結(jié)果是14.987,而在SQL Server中,這個結(jié)果變成了14.988。為了作測試,我們分別在我們的兩個Server上運行如下的語句,來定位問題的所在。Oracle: Select round (14.9875, 3);SQL Server: Select round (14.9875, 3) from dual。

4 數(shù)據(jù)移植

當存儲空間移植完成以后,我們就可以進行數(shù)據(jù)的移植。數(shù)據(jù)的移植在整個移植過程中顯得非常重要,因為它是后面移植工作的基礎(chǔ),也是保證移植正確性的關(guān)鍵所在。選擇一種高效的方式來實現(xiàn)數(shù)據(jù)移植是十分恰當而有必要的。首先在從Oracle到SQL Server的數(shù)據(jù)庫移植過程中,SQL Server提供的數(shù)據(jù)庫工具OMWB具備了數(shù)據(jù)移植的功能。不過為了將Oracle中不同的數(shù)據(jù)庫和SQL Server中不同的Schema對應起來,我們只能選擇一種合適的手工參與結(jié)合數(shù)據(jù)庫工具的方法,來實施數(shù)據(jù)移植的工作。開發(fā)人員手工參與的方法有很多,當然,最簡單直接的就是通過ODBC/JDBC來實現(xiàn),然而這是一種比較低效的方法,在數(shù)據(jù)量小的時候還可以適用,在數(shù)據(jù)量暴增成千上萬倍的今天,這樣做帶來的只能是速度上的極其低下。我們嘗試過對一張千萬行級別的表進行了移植,整個工作要花幾天的時間,并且中間不能間斷,萬一有什么意外發(fā)生,前面的工作都將前功盡棄。因此,這并不是一個好方法。事實上,網(wǎng)站大部分數(shù)據(jù)其實都集中在某一部分大表中,在最終用戶環(huán)境中,我們運用基于Oracle的相關(guān)腳本來配合我們實現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)移植。因為腳本工具相對于ODBC等方法來說,對數(shù)據(jù)的操作更加直接,不需要繁瑣的額外過程,效率特別高。對于我們的兩個數(shù)據(jù)庫系統(tǒng)來說,有很多腳本工具可以選擇,我們只需選擇各個數(shù)據(jù)庫產(chǎn)品中相對高效、易于控制的腳本來幫助我們實現(xiàn)就可以了。最后,由于網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)敏感性,我們最后要對移植的結(jié)果作出詳細嚴格的測試,以有效的手段證明數(shù)據(jù)移植的準確性。我們的目標是移植前后數(shù)據(jù)相同或在一個很小的可以容忍的誤差范圍內(nèi)。前文涉及到這類問題的有空串的移植、浮點精度等問題,這些都需要我們以適當質(zhì)量保證手段來確保一致性。

總之,我們簡單總結(jié)和介紹了在我們商業(yè)網(wǎng)站系統(tǒng)的數(shù)據(jù)庫移植過程中所碰到的和可能碰到的各種問題,并提出了相應的解決方法。不過我們在數(shù)據(jù)庫移植過程中需要根據(jù)具體情況對各個方面作出出合適的轉(zhuǎn)換。在實際轉(zhuǎn)換過程中,我們就根據(jù)不同的特點,提出了不同的數(shù)據(jù)策略。

參考文獻:

[1] 張曉,張羽.遠程數(shù)據(jù)庫遷移技術(shù)研究[J].計算機應用研究,2005(4).

[2] 蓋國強.循序漸進Oracle數(shù)據(jù)庫管理、優(yōu)化與備份恢復[M].北京:人民郵電出版社,2007.

主站蜘蛛池模板: 欧洲亚洲一区| 真实国产精品vr专区| 亚洲 欧美 日韩综合一区| 亚洲精品天堂自在久久77| 一本视频精品中文字幕| 小说区 亚洲 自拍 另类| 99视频全部免费| 国产美女视频黄a视频全免费网站| 不卡视频国产| 日韩欧美国产另类| 免费观看男人免费桶女人视频| 亚洲综合在线网| 亚洲人成网站观看在线观看| 欧美特黄一免在线观看| 国产丰满大乳无码免费播放| 热这里只有精品国产热门精品| 91精品国产麻豆国产自产在线 | 中文字幕2区| 国产精品视频白浆免费视频| 亚洲一级色| 九九九九热精品视频| 国产成人麻豆精品| 亚洲色图欧美在线| 亚洲中文精品人人永久免费| 日本福利视频网站| 国产亚洲精品自在久久不卡| 91精品免费久久久| 日本一区二区不卡视频| 超清无码一区二区三区| 国产91精选在线观看| 天天综合网色| 国产在线精品美女观看| 亚洲综合婷婷激情| 一本大道香蕉中文日本不卡高清二区| 免费毛片在线| 免费99精品国产自在现线| 午夜综合网| 日韩精品毛片| 2021国产v亚洲v天堂无码| 亚洲v日韩v欧美在线观看| 国产视频自拍一区| 欧美成人综合在线| 日韩视频精品在线| 天堂网亚洲系列亚洲系列| 国产粉嫩粉嫩的18在线播放91| 青青青伊人色综合久久| 日本日韩欧美| 在线国产综合一区二区三区| 久久99精品国产麻豆宅宅| 亚洲精品在线观看91| 亚洲精品无码成人片在线观看| 一级毛片免费观看不卡视频| 香蕉视频国产精品人| 成人综合久久综合| 91破解版在线亚洲| 国产成人禁片在线观看| 男女精品视频| 国产成人盗摄精品| 国产天天色| 欧美a√在线| 国产成人1024精品下载| 国产免费福利网站| 国产精品一区二区久久精品无码| 欧美激情二区三区| 无码人妻免费| 国产区在线看| 久久国产精品嫖妓| 黄色三级毛片网站| 在线国产91| 无码专区在线观看| 一边摸一边做爽的视频17国产 | 久久久噜噜噜久久中文字幕色伊伊| 欧美成人区| 99久久国产精品无码| 免费无码又爽又黄又刺激网站| 欧美色视频在线| 国产一级视频久久| 国产本道久久一区二区三区| 国产精品一区二区在线播放| 99这里只有精品免费视频| A级毛片高清免费视频就| 久久这里只有精品2|