使用IBM DB2 Merge Backup簡化備份和恢復(fù)
來源:塔塔 更新時(shí)間:2013-07-22
簡介: 擁有一份最新的一致備份,以便加快數(shù)據(jù)庫恢復(fù)速度,這非常重要。IBM? DB2? Merge Backup for Linux?, UNIX? and Windows? 為您提供了備用戰(zhàn)略來消除執(zhí)行定期 DB2 完全備份的需要,并使用多個(gè) delta 備份和增量備份來構(gòu)建一個(gè)能被 DB2 完全識別的新的完全備份副本。這篇文章介紹了 IBM DB2 Merge Backup,指導(dǎo)您使用 IBM DB2 Merge Backup 中的控制文件結(jié)構(gòu)創(chuàng)建合并備份 (merge backup)。
本文提供一個(gè)分步指南,向您展示如何使用 IBM DB2 Merge Backup for LUW 來利用 DB2 Merge Backup 中的控制文件結(jié)構(gòu)創(chuàng)建一個(gè)完整的合并備份。在本文中,您將學(xué)習(xí)如何創(chuàng)建完全備份和 delta 備份,以及如何使用控制文件將 delta 備份和完全備份合并在一起,創(chuàng)建一個(gè)新的完整合并備份。
按照本文中的步驟,您將:
1、創(chuàng)建數(shù)據(jù)庫的完全備份,將此備份用作基準(zhǔn)備份。
2、在數(shù)據(jù)庫中模擬某種活動(dòng)。
3、創(chuàng)建一個(gè) delta 備份來捕獲自完成定期完全備份以來執(zhí)行的更改。
4、創(chuàng)建一個(gè)新的合并備份,將 DB2 完全備份和 delta 備份相結(jié)合,分析如何在 DB2 歷史文件中注冊這個(gè)新備份。
5、使用 db2ckbkp 實(shí)用程序進(jìn)行驗(yàn)證,Merge Backup 創(chuàng)建的備份是否擁有在還原數(shù)據(jù)庫時(shí)需要使用的完整性。
本中使用的示例僅用于演示,可能不是最佳實(shí)踐。
本文將 IBM DB2 Merge Backup for Linux, UNIX, and Windows 產(chǎn)品稱為 DB2 Merge Backup、Merge Backup 實(shí)用程序或者簡稱為 Merge Backup。本文是為擁有初級到中級技能和經(jīng)驗(yàn)的 DB2 for Linux, UNIX, or Windows 數(shù)據(jù)庫管理員而編寫。您應(yīng)對數(shù)據(jù)庫管理及備份和恢復(fù)原理具有一定的了解,無需擁有特定于 IBM DB2 的技能。
系統(tǒng)要求
要執(zhí)行本文中的示例和最充分地理解本文,建議安裝以下軟件:
1、IBM DB2 Merge Backup for Linux, UNIX and Windows version 1.1.1.1
2、DB2 10.1 或以前的 DB2 for Linux, UNIX, and Windows 版本
請參閱 參考資料 部分,了解軟件相關(guān)的下載信息。
在本文的所有示例中,我們將使用一個(gè)名為 GSDB 的示例數(shù)據(jù)庫,它包含一家名為 Great Outdoors 公司的虛構(gòu)的戶外設(shè)備銷售商的示例數(shù)據(jù)。在繼續(xù)閱讀本文之前,請創(chuàng)建 GSDB 數(shù)據(jù)庫(請參閱 參考資料,了解相關(guān)的下載信息)。如果希望使用您自己的現(xiàn)有數(shù)據(jù)庫,請記住,在引用本文中的示例時(shí),使用您的數(shù)據(jù)庫名稱代替 GSDB。
要成功地完成增量備份或 delta 備份,數(shù)據(jù)庫必須處于歸檔日志模式,這意味著必須將 TRACKMOD 數(shù)據(jù)庫參數(shù)設(shè)置為 YES。請參閱 參考資料,獲取將 TRACKMOD 參數(shù)設(shè)置為 YES 的幫助。
在您的機(jī)器上創(chuàng)建一個(gè)目錄,將它作為保存?zhèn)浞莸奈恢?。本文使?/home/db2inst1/Desktop/BACKUPS 目錄作為將保存?zhèn)浞莸奈恢?。確保用于完成本文中的示例的目錄是真實(shí)存在的。
BM DB2 Merge Backup for LUW 概述
您的數(shù)據(jù)庫關(guān)閉(無論是計(jì)劃的還是未計(jì)劃的)的每時(shí)每刻都可能意味著生產(chǎn)力損失、數(shù)據(jù)丟失或收入損失,這對一家公司具有非常大的損害。DB2 Advanced Recovery Solutions 為幫助您節(jié)省金錢、時(shí)間和縮短數(shù)據(jù)庫宕機(jī)時(shí)間進(jìn)行了精心準(zhǔn)備。DB2 Merge Backup 是 DB2 Advanced Recovery Solutions 中的一個(gè)工具,可幫助您縮短備份時(shí)間和加快恢復(fù)速度。
DB2 Merge Backup 是一個(gè)命令行實(shí)用程序工具,允許您將完整 DB2 備份與增量或 delta 備份相結(jié)合,構(gòu)建一個(gè)可用于還原數(shù)據(jù)庫或各個(gè)表空間的新的完整合并備份。合并備份包含與使用 DB2 for LUW 創(chuàng)建的完全備份相同的信息。
您可能已知道,數(shù)據(jù)庫中的數(shù)據(jù)正在快速增長,這使得頻繁的完全備份變得越來越耗時(shí)。但是,如果不經(jīng)常備份數(shù)據(jù),則會帶來代價(jià)高昂的風(fēng)險(xiǎn)。事實(shí)證明,此項(xiàng)選擇的代價(jià)是如此之高,甚至有可能導(dǎo)致數(shù)據(jù)永遠(yuǎn)無法恢復(fù)。使用 DB2 Merge Backup,您可以創(chuàng)建可用來創(chuàng)建完全備份的 delta 備份或增量備份,無需總是創(chuàng)建定期完全備份。您首先需要?jiǎng)?chuàng)建一個(gè)完整的定期備份,然后將所有 delta 備份或增量備份合并在一起,創(chuàng)建一個(gè)新的完整的合并備份。這也就是說,您只需創(chuàng)建一個(gè)完整的定期備份一次,在這之后,所有合并都將從使用 DB2 Merge Backup 創(chuàng)建的完整合并備份開始。
圖 1 表明,Merge Backup 從歷史文件中獲取有關(guān)最新的完全備份以及增量和 delta 備份的信息,將它們合并到一個(gè)新的完整合并備份中。然后,這個(gè)新的完整合并備份可由 db2ckbkp 和 restore 實(shí)用程序像常規(guī) DB2 完全備份一樣處理。新的合并備份也可用于未來的后續(xù)合并,以及增量或 delta 備份,這消除了定期執(zhí)行 DB2 完全備份的需求。
圖 1. Merge Backup 概述圖
DB2 備份類型
上一節(jié) 中已經(jīng)提到,使用 DB2 Merge Backup 創(chuàng)建的數(shù)據(jù)庫備份擁有與 DB2 創(chuàng)建的定期完全備份相同的信息,可用該備份代替最后一個(gè)源備份來執(zhí)行還原。這意味著,Merge Backup 可以使用 DB2 支持的所有類型的備份來創(chuàng)建一個(gè)新的合并備份,這個(gè)合并備份最終可用于還原您的數(shù)據(jù)庫?,F(xiàn)在,讓我們來看一下 DB2 和 DB2 Merge Backup 支持的 4 種不同的備份類型:完全備份映像、增量備份、delta 備份和日志。
完全備份映像:這是任何恢復(fù)戰(zhàn)略的基礎(chǔ)。沒有完整的備份映像,就無法執(zhí)行任何恢復(fù)。所以您始終需要一個(gè)完全備份,以此作為基準(zhǔn)。如果備份是在線創(chuàng)建的,那么您需要獲得在創(chuàng)建備份期間執(zhí)行的所有事務(wù)的日志。還原一個(gè)完全備份,重放自創(chuàng)建該備份以后的所有事務(wù)的日志,您的恢復(fù)就完成了。
增量備份:這包括自上一次完全備份以來執(zhí)行的所有更改。您需要還原一個(gè)完全備份,還原增量備份,重放自該增量備份以來的日志,這樣您的恢復(fù)就完成了。圖 2 顯示了增量備份。
圖 2. 增量備份
Delta 備份:這包括自上一次任何類型的備份(完整、增量或 delta 備份)以來執(zhí)行的所有更改。如果上一次備份是一次完全備份,那么該備份和 delta 備份將提供最完整的備份。如果在創(chuàng)建增量備份映像后創(chuàng)建了 delta 備份,則需要獲得此 delta 備份、增量備份和增量備份所基于的完整的備份映像。如果 delta 之前是一個(gè)或多個(gè) delta,那么您需要獲得一個(gè)增量備份或完全備份映像的所有 delta。圖 3 顯示了增量備份。
圖 3. 增量 delta 備份
日志文件:日志包含自上一次備份以來您能夠還原的所有事務(wù)。
控制文件
控制文件是一個(gè)簡單的 ASCII 文件,其中包含一個(gè)完整的 DB2 Merge Backup 選項(xiàng)列表。有了這些選項(xiàng),您在數(shù)據(jù)上就擁有非常高的靈活性和強(qiáng)大的控制力。建議在希望完成比較復(fù)雜的任務(wù)時(shí)使用控制文件,但這并不意味著無法將它們用于簡單任務(wù)。您也可以跨數(shù)據(jù)庫重用控制文件,使用命令行修改它們的內(nèi)容。例如,如果希望在多個(gè)數(shù)據(jù)庫上處理同一個(gè)任務(wù),那么您可以在調(diào)用控制文件時(shí)使用 –d database_name 選項(xiàng)修改在文件中指定的數(shù)據(jù)庫名稱。
每個(gè)控制文件僅需一個(gè) MERGE 子句。MERGE 子句用于指定合并備份的范圍。對于本文中的示例,該范圍將是 GSDB 數(shù)據(jù)庫。一個(gè)控制文件中可以擁有多個(gè) MERGE 子句,它們使用分號分隔。在本文使用的示例中,控制文件將包含一個(gè) OUTPUT 子句,該子句允許您指定將合并備份文件存儲到哪個(gè)位置。
可以從命令行窗口使用以下語法指定使用控制文件:db2mbk -f control_file_name,其中 control_file_name 是控制文件的名稱。在 合并備份 一節(jié)中,您將學(xué)習(xí)如何創(chuàng)建和運(yùn)行控制文件來創(chuàng)建一個(gè)合并備份。
創(chuàng)建作為基準(zhǔn)的完整數(shù)據(jù)庫備份
首先,您需要?jiǎng)?chuàng)建數(shù)據(jù)庫 GSDB 的一個(gè)完全備份,并使用這個(gè)完全備份作為基準(zhǔn)。請記住,IBM Merge Backup 需要使用一個(gè)完全備份作為來源,然后才能創(chuàng)建一個(gè)合并備份作為起點(diǎn)。創(chuàng)建 DB2 完全備份后,無需再次創(chuàng)建另一個(gè)完全備份。
如果尚未啟動(dòng) DB2,請打開 DB2 命令提示符并啟動(dòng)它。要啟動(dòng) DB2,可以發(fā)出以下命令:
運(yùn)行 DB2 TERMINATE 命令來斷開已存在的任何數(shù)據(jù)庫連接。
最后,執(zhí)行 BACKUP 命令來創(chuàng)建您的 GSDB 數(shù)據(jù)庫備份。
|
db2 backup db gsdb to /home/db2inst1/Desktop/MBK/BACKUPS compress without prompting
|
請記住,使用您希望用來存儲備份的機(jī)器上的某個(gè)現(xiàn)有目錄。
在完成備份操作時(shí),終端將顯式創(chuàng)建備份映像時(shí)的時(shí)間戳。記下該時(shí)間戳,因?yàn)楸疚暮竺鏁盟?。圖 4 顯示了輸出。
圖 4. 創(chuàng)建 DB2 完全備份終端輸出
通過檢查您指定用來保存?zhèn)浞莸哪夸浳恢?,可以檢查完全備份是否已創(chuàng)建。在創(chuàng)建備份時(shí),應(yīng)該看到創(chuàng)建了一個(gè)新文件,可在輸出中看到它的時(shí)間戳是文件名的一部分。
圖 5. 查看備份的文件瀏覽器
如果備份沒有成功完成,可檢查您輸入的命令信息是否正確。
請注意,您提供了最初的完全備份作為基準(zhǔn),現(xiàn)在您可以開始使用 DB2 支持的任何其他類型的備份(包括使用 DB2 Merge Backup 創(chuàng)建的合并備份)來創(chuàng)建合并備份。
模擬對數(shù)據(jù)庫的更改
要捕獲自初始備份以來對數(shù)據(jù)庫執(zhí)行的所有更改,需要模擬對數(shù)據(jù)庫的一些更改。本節(jié)將介紹為 GSDB 數(shù)據(jù)庫創(chuàng)建一些更改的過程。
如果未使用建議的示例數(shù)據(jù)庫 GSDB,則需要模擬對您用于本文的數(shù)據(jù)庫的一些更改??梢阅M一些簡單更改,比如向一個(gè)表中添加一個(gè)新條目,創(chuàng)建一個(gè)新表或更新一個(gè)條目,這樣就可以捕獲自完全備份以來執(zhí)行的一些更改。
以下查詢會將 GSDB 數(shù)據(jù)庫的 GOSALESCT 模式的 CUSTOMER_ORDER_DETAIL 表的客戶數(shù)量增加 1。
在 DB2 命令提示符下,創(chuàng)建與 GSDB 數(shù)據(jù)庫的連接。要連接到 GSDB 數(shù)據(jù)庫,請輸入以下命令:
接下來,必須使用以下查詢將客戶數(shù)量增加 1:
|
db2 update gosalesct.cust_order_detail set cust_quantity = cust_quantity + 1;
|
將您的更改提交給數(shù)據(jù)庫。
終止您創(chuàng)建的與 GSDB 的數(shù)據(jù)庫連接。
圖 6 顯示了這個(gè)過程。
圖 6. 對數(shù)據(jù)庫執(zhí)行更改
現(xiàn)在,delta 備份已捕獲了對 GSDB 數(shù)據(jù)庫執(zhí)行的所有更改。
創(chuàng)建 delta 備份
現(xiàn)在已經(jīng)可以創(chuàng)建 delta 備份,以便在下一節(jié)中使用它來創(chuàng)建合并備份。此備份僅捕獲自上一次完全備份以來對數(shù)據(jù)庫執(zhí)行的更改。
仍然在 DB2 命令提示符下,鍵入以下信息:
該命令應(yīng)寫出到一行上。
等待命令完成執(zhí)行;您會在終端看到一條成功消息。終端輸出還會顯示一個(gè)時(shí)間戳,您需要記下該時(shí)間戳。圖 7 顯示了 delta 備份輸出。
圖 7. Delta 備份輸出
如果沒有成功完成該命令,請確保您鍵入了正確的信息。
我們假設(shè)完全備份和 delta 備份都已實(shí)際創(chuàng)建。
使用一個(gè)文件瀏覽器窗口,導(dǎo)航到您指定用來保存?zhèn)浞莸奈恢?。在本例中,該目錄?/home/db2inst1/Desktop/MBK/BACKUPS。
現(xiàn)在有兩個(gè)文件:一個(gè)完全備份和一個(gè) delta 備份。圖 8 顯示了包含兩個(gè)備份的文件瀏覽器窗口。
圖 8. 用于檢查備份的文件瀏覽器
請注意,您的備份的文件名看起來有些類似;這不是巧合。DB2 備份文件名由一些串聯(lián)的元素組成,這些元素使用句點(diǎn)分開。一般規(guī)則是:
|
DB_alias.Type.Inst_name.DBPARTnnn.timestamp.Seq_num
|
其中
1、DB_alias 是數(shù)據(jù)庫別名,在本例中用 GSDB 顯示。
2、Type 指操作的類型。在這里它顯示為 0,這表明這是一個(gè)數(shù)據(jù)庫級操作。
3、Inst_name 是數(shù)據(jù)庫實(shí)例的名稱。在本例中,DB2 實(shí)例名為 db2inst1。
4、DBPARTnnn 表示數(shù)據(jù)庫分區(qū)編號。因?yàn)樵谑纠h(huán)境中 GSDB 數(shù)據(jù)庫只有一個(gè)分區(qū),所以結(jié)果顯示為 DBPART000。
5、timestamp 也是文件名的一部分。您看到的每個(gè)時(shí)間戳都與一個(gè)文件匹配,最新的日期屬于 delta 備份。
6、Seq_num 是為該文件提供的一個(gè)序列號。此示例表明,兩個(gè)文件都具有序列號 001。
您還可以明顯地看出這兩個(gè)文件的大小差異,完全備份文件是兩個(gè)中較大的那個(gè)。
創(chuàng)建一個(gè)完整合并備份
本文的目的是展示如何通過創(chuàng)建控制文件來創(chuàng)建一個(gè)合并備份。下一節(jié)將介紹如何創(chuàng)建一個(gè)控制文件,將完全備份與 delta 備份合并在一起。盡管無需使用控制文件即可創(chuàng)建合并備份,但建議對較為復(fù)雜的任務(wù)使用控制文件。
1、要?jiǎng)?chuàng)建控制文件,可打開一個(gè)新的空白文本文檔,將它保存為 merge.ctl。以下是完成的控制文件。
|
MERGE database gsdb
OUTPUT to “/home/db2inst1/Desktop/MBK/BACKUPS”
compress yes
|
這個(gè)文件將要執(zhí)行的操作是創(chuàng)建一個(gè)新的合并文件,其中包含自 GSDB 數(shù)據(jù)庫的上一次完整合并備份或初始定期完全備份以來創(chuàng)建的所有 delta 或增量備份。
2、以下是創(chuàng)建控制文件的內(nèi)容的各個(gè)步驟。
首先從 MERGE 子句開始。在您新創(chuàng)建的控制文件中,鍵入以下內(nèi)容:
接下來,在您的控制文件中,您可能希望提供一個(gè)位置來保存將要?jiǎng)?chuàng)建的新合并備份。這可以使用 OUTPUT 子句完成。在您的控制文件中,在一個(gè)新行上為 OUTPUT 子句編寫以下代碼:
|
OUTPUT to “/home/db2inst1/Desktop/MBK/BACKUPS”
|
在一個(gè)新行上,編寫代碼來壓縮合并備份。在控制文件中,鍵入以下內(nèi)容:
這使用默認(rèn)的 DB2 壓縮庫來減少備份的大小。
3、保存您對控制文件執(zhí)行的所有更改并關(guān)閉它。
4、從 DB2 命令行更改保存控制文件的目錄。
5、在 DB2 命令窗口中鍵入以下命令來執(zhí)行控制文件:
等待合并完成。您將在終端看到合并的輸出信息。我們看到輸出中提供了您剛完成的合并的信息。圖 9 顯示了輸出。
圖 9. 合并備份輸出
控制文件的內(nèi)容顯示在輸出頂部。顯示了合并的開始和結(jié)束時(shí)間,以及合并過程的持續(xù)時(shí)間。您還會看到合并中涉及的備份信息(它們按時(shí)間戳順序列出)。要準(zhǔn)確找出涉及到哪些備份,請查閱您在創(chuàng)建備份時(shí)記下的時(shí)間戳。記下合并備份的時(shí)間戳,因?yàn)樵谙乱还?jié)中調(diào)用 db2ckbkp 實(shí)用程序時(shí)會用到該值。
回顧歷史
DB2 Merge Backup 使用歷史文件來確定備份列表。您可以使用 db2 list history 命令確定如何向歷史文件注冊合并備份。
在命令提示符下輸入以下命令來檢索數(shù)據(jù)庫備份歷史:
|
db2 list history backup all for GSDB
|
系統(tǒng)會列出關(guān)于您創(chuàng)建的 3 個(gè)備份的信息。例如,圖 10(查看 大圖)顯示了來自 list history 命令的輸出的結(jié)尾部分;詳細(xì)信息是屬于合并備份的。您可能想知道如何確定圖 10 中的信息屬于合并備份。答案是,它在表的操作類型 (OP) 列中使用 M 表示。您還可以匹配時(shí)間戳。
圖 10. 合并備份的歷史細(xì)節(jié)
使用 list history 命令后,列出了大量與您的備份相關(guān)的信息。在輸出中可以找到有關(guān)某個(gè)備份的詳細(xì)信息(比如操作類型、備份類型、備份的時(shí)間戳和備份的位置)。
表 1 總結(jié)了您可在恢復(fù)歷史文件過程中找到的操作和操作類型的不同值。
|
類型
|
描述
|
|
F
|
完全離線
|
|
M
|
合并
|
|
B
|
備份
|
|
N
|
在線
|
|
I
|
增量離線
|
|
O
|
增量在線
|
|
D
|
Delta 離線
|
|
E
|
Delta 離線
|
|
R
|
重新構(gòu)建
|
表 1. 操作類型
使用 db2ckbkp 命令驗(yàn)證備份
使用 DB2 檢查備份實(shí)用程序(使用 db2ckbkp 命令調(diào)用),您可測試備份映像的完整性,以確定是否可還原該映像。
我們驗(yàn)證一下剛創(chuàng)建的合并備份的完整性。
1、在 DB2 中斷中或從一個(gè)文件瀏覽器將目錄更改為您保存?zhèn)浞莸奈恢谩?
2、您需要知道完整的合并備份文件名,然后才能使用 db2ckbkp 命令。從命令提示符執(zhí)行備份映像文件的列出命令,或者使用一個(gè)文件瀏覽器獲取您創(chuàng)建的備份的文件名。使用您在創(chuàng)建備份時(shí)記下的時(shí)間戳信息來查找合并備份。合并備份是具有最新的時(shí)間戳的文件。在本例中,合并備份的文件名為 GSDB.0.db2inst1.DBPART000.20130304125847.001。圖 11 顯示了這些文件。
圖 11. 列出備份以獲取合并文件名
您現(xiàn)在已經(jīng)可以調(diào)用 db2ckbkp 命令。
3、從命令提示符,鍵入以下命令:
|
db2ckbkp -h GSDB.0.db2inst1.DBPART000.20130304125847.001
|
請記得使用自己的備份文件名。
4、等待驗(yàn)證過程完成;在看到處理命令后,在輸出的底部顯示了井號標(biāo)記 (#)。
5、在運(yùn)行完該命令后,您將在輸出的末尾看到驗(yàn)證的結(jié)果(圖 12)。
圖 12. db2ckbkp 輸出
看看輸出中還顯示了哪些與備份相關(guān)的信息。
請注意,在輸出中,可確定映像類型為合并備份,因?yàn)?Merge Backup Image 中顯示了 1。如果這是一個(gè)傳統(tǒng)備份,您將看到 0。
圖 13. db2ckbkp 輸出細(xì)節(jié)
結(jié)束語
本文介紹了如何使用 DB2 Merge Backup 實(shí)用程序?qū)⒍鄠€(gè)備份組合到一個(gè)完整備份中。您還學(xué)習(xí)了如何使用 db2ckbkp 實(shí)用程序驗(yàn)證此備份可很好地用于還原。
您可看到在真實(shí)環(huán)境中使用 DB2 Merge Backup 的價(jià)值,因?yàn)樗鼓軌驌碛杏糜诨謴?fù)的最新的一致備份。該工具的價(jià)值在于,它雖然沒有節(jié)省創(chuàng)建實(shí)際備份的時(shí)間,而它能夠提供一個(gè)可更頻繁地執(zhí)行的備份,使您能夠以更快的速度執(zhí)行恢復(fù)。同樣地,您并不需要真正再次創(chuàng)建完全備份,因?yàn)檫@些 DB2 Merge Backup 是真正的 DB2 完全備份副本,它們已在 DB2 歷史文件中注冊,并且獲得了與其他任何 DB2 備份文件相同的待遇。在生產(chǎn)環(huán)境中使用 DB2 Merge Backup 有助于減少宕機(jī)成本和 DBA 勞動(dòng),實(shí)施對生產(chǎn)影響最小但提供了必要的恢復(fù)資產(chǎn)的備份戰(zhàn)略。
深圳塔塔咨詢服務(wù)有限公司(簡稱塔塔IT)專注于IT前沿技術(shù)的傳播與應(yīng)用。公司與微軟、Cisco、Oracle、IBM、Vmware、Citrix、EMC、HP、SAP等全球著名IT廠商建立長期合作伙伴關(guān)系,提供思科CCNA\CCNP\CCIE培訓(xùn),微軟MCSE\MCITP培訓(xùn),Office培訓(xùn),Oracle培訓(xùn),JAVA培訓(xùn),ITIL培訓(xùn),PMP培訓(xùn)、CompTIA培訓(xùn)等多種IT認(rèn)證培訓(xùn)以及IT服務(wù)、企業(yè)內(nèi)訓(xùn)業(yè)務(wù),是一家以IT高端培訓(xùn)、咨詢服務(wù)、技術(shù)支持以及國際IT認(rèn)證考試為核心業(yè)務(wù)的專業(yè)服務(wù)商。聯(lián)系方式:深圳 0755-29152000