色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

使用 DB2 Change Management Expert 進(jìn)行數(shù)據(jù)庫版本控制(1)

瀏覽:2日期:2023-11-11 11:48:45
本文示例源代碼或素材下載 您是否有過想知道數(shù)據(jù)庫何時被更改的經(jīng)歷?有了 IBM® DB2® Change Management Expert,您將不再有疑問!該工具可以幫助您跟蹤變更,與其他小組成員合作無間,逆轉(zhuǎn)或者撤消變更,以及審計對數(shù)據(jù)庫作出的任何變更。本文描述這樣一個場景:DBA 所在公司使用 DB2 Change Management Expert 和 Eclipse Team 項目來增強協(xié)作和確保一致的審計路徑。您將學(xué)習(xí)連接到庫控制系統(tǒng)并將變更治理項目、模型和腳本保存到庫控制中,以及審計變更。而且,還將發(fā)現(xiàn)如何從庫控制中檢索變更,以及使用部署腳本撤消變更。簡介數(shù)據(jù)庫的維護(hù)不外乎變更 二字。假如您的目標(biāo)是保證質(zhì)量,那么就需要治理變更。您需要確保數(shù)據(jù)庫應(yīng)用程序按預(yù)期運行,變更能夠順利進(jìn)行,并且,假如出現(xiàn)錯誤,可以調(diào)查問題。雖然數(shù)據(jù)庫可以用日志記錄某些活動,但是日志比較難于分析。最后,日志只能提供對數(shù)據(jù)庫變更的一個不完整的描述。那么,為什么不借助軟件開發(fā)中的技術(shù)呢?在軟件開發(fā)中,跟蹤變更的傳統(tǒng)方法是使用某種類型的變更治理系統(tǒng)、過程或工具。這種方法有很多名稱:配置治理、變更治理、源代碼控制、庫控制、版本控制等等。對于本文,我們使用術(shù)語版本控制。不管是對于應(yīng)用程序還是對于產(chǎn)品代碼本身,變更治理的過程都相當(dāng)成熟。大多數(shù)程序員都熟悉對代碼進(jìn)行簽入和簽出操作,并知道什么版本與哪個軟件發(fā)行版是對應(yīng)的。但是,應(yīng)用程序開發(fā)周期中扮演其它角色的人清楚這些因素的重要性嗎?他們使用版本控制工具嗎?架構(gòu)師的設(shè)計、項目經(jīng)理的計劃、編程人員的文檔以及測試人員的場景和結(jié)果又如何呢?數(shù)據(jù)庫治理員呢?應(yīng)用程序可不僅僅是代碼。組成一個發(fā)行版的所有部分都應(yīng)該在一起。作為應(yīng)用程序一部分的任何對象都可以、也應(yīng)該成為版本控制工具或過程的一部分。 123456789下一頁 總體過程下面的圖顯示了使用 DB2 Change Management Expert 和版本控制系統(tǒng)更改一個數(shù)據(jù)庫的總體過程:圖 1. 使用 DB2 Change Management Expert 更改一個數(shù)據(jù)庫的總體過程使用 DB2 Change Management Expert 進(jìn)行數(shù)據(jù)庫版本控制(1)DB2 Change Management Expert 與 EclipseDB2 Change Management Expert 是一個工具,它可以幫助 DBA 跟蹤變更,與作出不同變更的其它 DBA 協(xié)作,審計和治理那些變更的歷史,并逆轉(zhuǎn)或撤銷不再需要的變更。DB2 Change Management Expert 是基于 Eclipse 的工具。Eclipse 是用于交付胖客戶機應(yīng)用程序的一種與平臺無關(guān)的開源軟件框架。Eclipse 平臺使其它工具開發(fā)人員可以輕松地構(gòu)建和交付集成的工具。該框架被用于開發(fā)用于 DB2 Change Management Expert 的集成開發(fā)環(huán)境(IDE)。欲了解關(guān)于 Eclipse 平臺的更多信息,請參閱本文的 參考資料 小節(jié)。DB2 Change Management Expert 中的一個成功的版本控制過程包括使用 Eclipse Team 功能。Eclipse Team 集成是 DB2 Change Management Expert 版本控制功能的要害組成部分。Eclipse Team 組件提供了一種機制,答應(yīng)儲存庫工具將它們的儲存庫解決方案的完整的、豐富的功能集成到 Eclipse 工作臺中。本文中的例子例釋了 Eclipse Team 功能。欲了解關(guān)于 Eclipse Team 的更多信息,請參閱本文的 參考資料 小節(jié)。當(dāng)數(shù)據(jù)庫被更改后,DB2 Change Management Expert 項目(包括它所包含的所有資源)應(yīng)該被注冊到版本控制中,并被賦予一個標(biāo)記或標(biāo)簽。還可以使用 Eclipse Team 功能歸檔 DB2 Change Management Expert 項目。為了跟蹤變更,應(yīng)該先歸檔項目??梢栽谧兏_發(fā)的過程中,在部署任何變更之前進(jìn)行歸檔。這樣一來,就可以引入迭代,其它團隊成員或 DBA 可以參與進(jìn)來并提供變更,其他人則可以查看和修改已經(jīng)作出的變更。 上一頁123456789下一頁 Data Design Projects、數(shù)據(jù)庫與版本控制之間的關(guān)系可以以不同的方式使用版本控制來治理數(shù)據(jù)庫變更項目??梢允褂谜降幕蚍钦降陌姹究刂葡到y(tǒng)。版本控制系統(tǒng)可以像計算機上的文件系統(tǒng)一樣簡單,也可以像 Concurrent Visioning System (CVS) 或 IBM Rational Clear Case 一樣全面。對于大多數(shù)示例,本文使用 CVS。DB2 Change Management Expert 通過項目將需要作出變更的不同資源組織在一起。一個數(shù)據(jù)設(shè)計項目通常跟蹤一個數(shù)據(jù)庫的生命周期。通過使用 Eclipse team 功能,可以共享項目,以便多個 DBA 共同應(yīng)對變更。Data Design Projects 在特定的時間點上表示變更。一旦變更被部署,則資源通常被提交到版本控制系統(tǒng),并被賦予一個標(biāo)記或標(biāo)簽。可以使用標(biāo)記或標(biāo)簽返回到變更保存點,以撤銷變更,或者審計特定的變更。在更復(fù)雜的數(shù)據(jù)庫中,可以使用 Data Design Project 來治理一個特定數(shù)據(jù)庫應(yīng)用程序的生命周期。在某些公司,表或模式被拆分開來,由特定的 DBA 或 DBA 團隊治理。可以使用 Data Design Projects 來匹配這些環(huán)境。因此,可以將一個數(shù)據(jù)庫拆分開,由數(shù)個 Data Design Projects 來治理。假如一個主數(shù)據(jù)庫有多個副本,則可以使用一個 Data Design Project 來治理這些數(shù)據(jù)庫。這就是所謂的多重配置(multiple provisioning),即首先為一個數(shù)據(jù)庫構(gòu)造變更,然后將其部署到多個數(shù)據(jù)庫。插入到 Eclipse 中的版本控制系統(tǒng),例如 CVS 或 IBM Rational Clear Case,提供了與 DB2 Change Management Expert 的最佳集成。但是,由于 DB2 Change Management Expert 將所有數(shù)據(jù)文件和文件夾存儲在本地文件系統(tǒng)上,甚至可以使用未與 Eclipse 集成的版本控制系統(tǒng)來治理 DB2 Change Management Expert 資源。還可以在沒有正式的版本控制系統(tǒng)的情況下治理變更。本文在 如何在不使用版本控制系統(tǒng)的情況下使用 DB2 Change Management Expert 小節(jié)對這種情況作了描述。 上一頁123456789下一頁 結(jié)合使用版本控制系統(tǒng)和 DB2 Change Management Expert這個示例演示如何使用版本控制審計變更,以及協(xié)調(diào)由不同 DBA 做出的變更。示例中的圖顯示了使用 DB2 V9 情況下的 DB2 Change Management Expert。示例被分為以下四個部分:Jaya 對數(shù)據(jù)庫做出一個更改。Jaya 通過將項目提交到版本控制系統(tǒng)與他人共享項目。Eric 鎖定項目,并做出其他更改。Jaya 不喜歡 Eric 做出的更改,并逆轉(zhuǎn)這些更改。注重:本場景使用 CMEDEMO 數(shù)據(jù)庫??梢詮谋疚牡?下載 小節(jié)下載 sample01.zip 文件,并將其解壓到一個本地目錄,以安裝用于創(chuàng)建和設(shè)置該數(shù)據(jù)庫的 DDL(CreateCMEDEMO.chx)。下面是設(shè)置該數(shù)據(jù)庫的步驟:選擇 File -> New -> Data Design Project,創(chuàng)建一個 Data Design Project,并將該項目命名為 test。圖 2. New Data Design Project在 DB2 Change Management Expert 的 Data Project Explorer 視圖中,將 CreateCMEDEMO.chx 文件導(dǎo)入到 test 項目中。展開 CMEDEMO 項目中的 SQL Scripts 文件夾的內(nèi)容,右鍵單擊 CreateCMEDEMO.chx 文件,并選擇 Run SQL。確認(rèn)選擇了適當(dāng)?shù)臄?shù)據(jù)庫版本。輸入用戶名和密碼,不選擇復(fù)選框 Create Deployment Project and Script file,然后單擊 Finish。在 Database Explorer 視圖中,確認(rèn) CMEDEMO 數(shù)據(jù)庫已經(jīng)被創(chuàng)建,并且存在一個連接。現(xiàn)在可以繼續(xù)完成本文中的所有步驟。第 1 部分。DBA Jaya 對數(shù)據(jù)庫做出更改。和 Jaya 一樣,您將完成以下步驟:創(chuàng)建一個名為 TestAudit 的新的部署腳本。部署腳本是一種 DB2 Change Management Expert 資源,用于跟蹤變更治理過程。可以在 New Deployment Script 向?qū)е兄付ū桓牡臄?shù)據(jù)庫的位置和名稱。這里將為指定的數(shù)據(jù)庫創(chuàng)建兩個模型。一個模型是基本模型,表示數(shù)據(jù)庫的當(dāng)前狀態(tài),另一個模型是目標(biāo)模型,可以通過編輯該模型來定義新的變更。 上一頁123456789下一頁 對目標(biāo)模型做出更改。例如,為 CL_SCHED 表創(chuàng)建一個名為 LOCATION 的 CHAR(128) 類型的新列。可以在屬性視圖中添加這個新列。做出更改后,保存模型。圖 3. CL_SCHED 表中的數(shù)據(jù)列 'LOCATION'打開該部署腳本。為了生成變更命令,在 Outline 視圖中右鍵單擊 Change Commands,選擇 Generate Change Commands。這時彈出 Generate Change Commands 向?qū)А3俗兏钔猓撓驅(qū)н€創(chuàng)建數(shù)據(jù)保留(data-preservation)命令。這里必須為部署時生成的數(shù)據(jù)文件指定文件系統(tǒng)上的一個位置。通過在向?qū)е羞x擇 auto-cast,可以解決任何導(dǎo)入與導(dǎo)出列數(shù)據(jù)類型的沖突。圖 4. Generate Change Commands 向?qū)傻淖兏钋鍐蔚?2 部分。Jaya 做出的變更就此完成,現(xiàn)在她可以將項目添加到版本控制系統(tǒng)中,從而共享項目。之后,可以從版本控制系統(tǒng)中提取變更,并用于繼續(xù)變更治理過程。必要時,其他治理員也可以審計變更。這樣很輕易組合和協(xié)調(diào)兩個甚至更多 DBA 做出的變更。這個例子中使用 CVS 作為版本控制系統(tǒng)。安裝 CVS Server,并設(shè)置一個儲存庫。在 DB2 Change Management Expert 中,打開 CVS Repository Exploring 透視圖。該透視圖包括一個名為 CVS Repositories 的視圖,在這里可以添加多個不同的儲存庫位置。為了添加 DB2 Change Management Expert Data Design Project 的儲存庫位置,在該視圖中單擊右鍵,選擇 New -> Repository。這時顯示以下對話框: 上一頁123456789下一頁 圖 5. Add CVS Repository 對話框在所需字段內(nèi)輸入信息,然后選擇 Finish。您將看到添加到 CVS Repository 視圖中的儲存庫。圖 6. Repository Exploring 視圖,包含新的儲存庫位置可以進(jìn)行下拉操作,瀏覽該儲存庫中的內(nèi)容。切換回 Data 透視圖。選擇要注冊到 CVS 中的項目,在該項目上單擊右鍵,選擇 Team -> Share Project。這時彈出 Share Project 向?qū)?。圖 7. Share Project 向?qū)нx擇已有的儲存庫位置(在上一步中已經(jīng)添加)。接受所有默認(rèn)設(shè)置,單擊 Finish。 記?。嚎梢院炄胨?ASCII 類型的 DB2 Change Management Expert 資源。 任何被答應(yīng)訪問這個特定儲存庫位置的 DBA 現(xiàn)在都可以打開和查看該項目,并且可以做出更改。第 3 部分。 另一個 DBA Eric 可以打開該項目,并做出其它更改。Eric 完成以下步驟:打開 CVS Repository Exploring 透視圖。在 CVS Repository 視圖中選擇該項目,單擊右鍵,并選擇 Check Out。這將在當(dāng)前工作區(qū)中創(chuàng)建該項目的一個副本?,F(xiàn)在可以修改該項目和任何相關(guān)的文件。編輯目標(biāo)模型。將 EMP_PHOTO table 拖入到模型中,重新生成變更命令??梢詤⒖嫉?1 部分中的步驟。完成更改后,查看數(shù)據(jù)庫模型。假如該模型沒有達(dá)到預(yù)期的結(jié)果,則可以通過恢復(fù)到 Jaya 創(chuàng)建的版本,撤消新的更改。為了撤消更改,在 Data Project Explorer 中右鍵單擊該項目(或該項目中的某個資源),選擇 Replace With -> Latest from Head。這一步將 EMP_PHOTO 表添加回目標(biāo)模型。 注重:對 EMP_PHOTO 表做出的新更改是本地的,只有在顯式地提交之后才會被注冊到 CVS 中。 上一頁123456789下一頁 在物理數(shù)據(jù)庫編輯器中,打開目標(biāo)模型,再次修改它。下面是可以對模型做出的更改的一個例子。更改完成之后,保存模型,并重新生成變更命令。此外還將生成撤消命令:添加一個名為 COMPLETION_CODE 的新表,表中列 CODE 的數(shù)據(jù)類型為 INTEGER,列 DESC 的數(shù)據(jù)類型為 VARCHAR(128)。將列 CODE 設(shè)為表 COMPLETION_CODE 的主鍵。將一個類型為 INTEGER、名為 CODE 的新列添加到 PROJECT TABLE 表中。將 PROJECT 表的 CODE 列定義為 nullable。創(chuàng)建 PROJECT 表中列 CODE 與 COMPLETION_CODE 表中主鍵列 CODE 之間的外鍵關(guān)系。選擇 Deploy Changes 將更改部署到目標(biāo)數(shù)據(jù)庫。 注重: 當(dāng)在 DB2 Change Management Expert 中部署時,更改被記錄到工作區(qū)中的一個部署日志文件中。這個部署日志文件也應(yīng)該與 test 項目一起注冊到 CVS 中。更改將沿著 Deployment Script Editor 概述頁面指定的連接部署。假如工作區(qū)內(nèi)不存在連接,則必須創(chuàng)建一個與目標(biāo)數(shù)據(jù)庫同名的連接。為此可以從 Database Explorer 視圖中選擇 Connections -> New Connection。圖 8. New Connection 向?qū)нx擇 Team -> Commit 將更改注冊到 CVS 中?,F(xiàn)在整個團隊可以查看 Jaya 和 Eric 做出的更改。第 4 部分。第一個 DBA Jaya 打開項目,并查看 Eric 做出的更改。假如 Jaya 想要撤消 Eric 對數(shù)據(jù)庫部署的更改,則可以執(zhí)行以下步驟:打開部署腳本,并在 Deployment Script Editor 的 Undo Changes 標(biāo)簽頁上選擇 Deploy Undo Commands。要么重置部署腳本,重新開始變更過程,要么再次修改模型,以生成她想要部署的變更命令。 上一頁123456789下一頁 可以通過打開部署腳本并單擊 deployment script editor 的菜單項重置部署腳本。選擇 Deploy -> Reset。這樣將啟動一個向?qū)?,該向?qū)椭刂貌渴鹉_本。如何在不使用版本控制系統(tǒng)的情況下使用 DB2 Change Management Expert假如不能使用一個版本控制系統(tǒng),是否仍然可以使用 DB2 Change Management Expert?當(dāng)然!但是,出于審計和跟蹤的目的,可能仍然需要遵從某些控制,那么,假如 DB2 變更都存儲在 DB2 Change Management Expert 中,則應(yīng)該如何做呢?Data Project 信息存儲在一開始定義的 DB2 Change Management Expert Workspace 中。工作區(qū)是本地磁盤上的一組目錄,因此可以將那些文件保存在一起,作為該版本的文件集。我們使用本文中的示例,但是假設(shè)您沒有版本控制系統(tǒng)。使用儲存庫存儲變更的一個好處是工作區(qū)可以使用大量的變更歷史。出于審計的目的,或者為了撤消一次變更,可能需要這些歷史。假如只處理項目文件本身,那么就需要由您來跟蹤發(fā)生了什么變更,以及是誰做出的變更??梢耘c其他用戶共享整個工作區(qū)嗎?從技術(shù)上講,是這樣的,可以共享整個工作區(qū),例如在一個共享驅(qū)動器上。但是,假如在其他人已打開工作區(qū)的時候嘗試打開工作區(qū),就會收到一條錯誤消息,說該文件已經(jīng)在使用。共享工作區(qū)的另一個缺點是所有設(shè)置也隨之被共享,所以假如其他人更改設(shè)置的話,就可能丟失定制。所以不建議共享工作區(qū)。如何在多個 DBA 之間共享文件?有一些方法可以共享項目文件。本文使用的、也是最簡單的方法是將整個項目導(dǎo)出為一個歸檔文件(ZIP 文件),讓其他用戶將項目導(dǎo)入到他們的工作區(qū)中。 遵循上述場景之后(Jaya 和 Eric 完成某些數(shù)據(jù)庫變更),當(dāng)生成所有變更命令之后,Jaya 現(xiàn)在處在第 1 部分的最后位置。Jaya 現(xiàn)在不是將文件注冊到版本控制中,而是需要保護(hù)更改,使之可以被正在處理該項目的另一個 DBA 使用。Jaya 執(zhí)行以下步驟: 上一頁123456789下一頁 選擇項目,然后選擇 File -> Export,打開 Export 對話框。展開 General 文件夾,選擇 Archive File 并單擊 Next。在接下來的屏幕上,選擇項目、輸出文件位置、文件名和格式(ZIP 或 TAR),然后單擊 Finish。這樣將在磁盤上創(chuàng)建 ZIP 文件。Jaya 可以離開 DB2 Change Management Expert,使導(dǎo)出的 ZIP 文件可以被 Eric 使用。Eric 現(xiàn)在需要處理該項目。Eric 不是從 CVS 中讀出它,而是必須手動地將那個項目導(dǎo)入他的工作區(qū)中。Eric 執(zhí)行以下步驟:在工作區(qū)中,選擇 File -> Import。展開 General 文件夾并選擇 Existing Projects into Workspace。使用 Select archive file 瀏覽至 Jaya 導(dǎo)出的歸檔文件的位置。那個歸檔文件中的項目將出現(xiàn)在 Projects 列表框中。選擇項目并單擊 Finish。現(xiàn)在,項目就處在 Eric 的工作區(qū)中,他可以繼續(xù)第 3 部分中描述的變更。當(dāng) Eric 做出更改并生成 DDL 時,部署腳本同時包含來自 Jaya 和 Eric(Eric 可能已經(jīng)刪除或修改了 Jaya 的更改,但是這里沒有)。在第 3 部分中,Eric 刪除一個表,但是后來改變了主意,并返回到 CVS 中項目的版本。假如不使用版本控制系統(tǒng),如何可以做到這一點?在 CME 中,有些本地歷史存在于工作區(qū)中。在這個特定的場景中,Eric 可以繼續(xù)從目標(biāo)模型中刪除 EMP_PHOTO 表,然后通過從 Data Project Explorer 視圖中右鍵單擊目標(biāo)模型并選擇 Replace with Local History 將其放回模型中。Eric 可以逆轉(zhuǎn)之前的更改。但并不是所有情況下都能這樣,而是只有在工作區(qū)中才能這樣。也就是說,Eric 和 Jaya 不能相互逆轉(zhuǎn)對方的更改。在第 4 部分中,當(dāng) Eric 將項目導(dǎo)出到一個歸檔文件(ZIP/TAR)之后,Jaya 可以將項目導(dǎo)回到工作區(qū)中。Jaya 應(yīng)該從工作區(qū)中刪除已有的項目,并導(dǎo)入 Eric 做出的新的項目歸檔。這個項目將包含從第 1 部分到第 3 部分的所有變更。但是,Jaya 不能訪問關(guān)于 Eric 做出的變更的任何本地歷史,所以要恢復(fù)到之前的變更就變得更困難。從這個場景可以看出,當(dāng)進(jìn)行團隊協(xié)作時,版本控制系統(tǒng)是多么的重要。通過整個項目文件共享變更的另一種方法是共享各個模型或部署腳本,并使用 DB2 Change Management Expert 合并和遷移特性集成變更。這種方法要求更多地注重細(xì)節(jié),但是當(dāng)處理多個變更或者更復(fù)雜的變更時,可以提供更多的靈活性。不管使用何種方法,都不能獲得比版本控制系統(tǒng)所提供的更豐富的歷史功能。結(jié)束語結(jié)合使用版本控制系統(tǒng)和 DB2 Change Management Expert,可以為治理業(yè)務(wù)需求提供一個強制性的資源。使用這兩種工具有助于順利完成對應(yīng)用程序開發(fā)周期中涉及的所有變更的跟蹤。即使沒有版本控制系統(tǒng),通過使用 DB2 Change Management Expert 和一個規(guī)劃良好的系統(tǒng),也仍然可以獲得上述好處。希望本文能夠鼓勵您進(jìn)一步探索 DB2 Change Management Expert 如何滿足您的要求。 上一頁123456789
標(biāo)簽: DB2 數(shù)據(jù)庫
主站蜘蛛池模板: 国产亚洲精品久久综合影院 | 国产精品视频久久久久久 | 日本免费不卡在线一区二区三区 | 中文字幕二区三区 | 免费黄色三级网站 | 美女被免费网站视频软件 | 日本aaaa特级毛片 | 国产在线不卡午夜精品2021 | 日韩一级a毛片欧美一级 | 在线 | 一区二区三区 | 男人的亚洲天堂 | 亚洲第一区视频 | 成人看片黄a免费 | 欧美成年黄网站色视频 | 67194欧美成l人在线观看免费 | 男女国产一级毛片 | 亚洲国产精品激情在线观看 | 免费一区在线观看 | a级成人毛片久久 | 美女视频黄在线观看 | 一级成人a做片免费 | 亚洲第一页在线 | 成人做爰 | 美女做爰视频在线观看免费 | 亚洲欧美另类自拍 | 亚洲 自拍 欧美 综合 | 韩国自拍偷自拍亚洲精品 | 成人免费午夜视频 | 亚洲美女影院 | 日本二区免费一片黄2019 | 国产激情视频在线播放 | 美女视频黄a视频免费全过程 | 亚洲第一成年免费网站 | 在线观看精品视频网站www | 成人国内精品久久久久影院 | 亚洲一区二区三区影院 | 亚洲一区免费看 | 欧美人成a视频www | 97视频在线观看免费播放 | 日韩中文精品亚洲第三区 | 天堂中文资源在线8 |