|
導(dǎo)讀數(shù)據(jù)庫,簡而言之可視為電子化的文件柜——存儲(chǔ)電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、截取、更新、刪除等操作。所謂“數(shù)據(jù)庫”是以一定方式儲(chǔ)存在一起、能與多個(gè)用戶共享、具有盡可能小的冗余度、與應(yīng)... 數(shù)據(jù)庫,簡而言之可視為電子化的文件柜——存儲(chǔ)電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、截取、更新、刪除等操作。所謂“數(shù)據(jù)庫”是以一定方式儲(chǔ)存在一起、能與多個(gè)用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合。 規(guī)劃方案: 假定您將使用一個(gè)生成報(bào)告的應(yīng)用程序。此應(yīng)用程序需要存在于 SAMPLE 數(shù)據(jù)庫的 DEPARTMENT 表中的數(shù)據(jù)。您不想使用直接來自源表的數(shù)據(jù),而想將更改復(fù)制到只能由生成報(bào)告的應(yīng)用程序讀取的目標(biāo)表中。為了便于管理,您要將目標(biāo)表與源表保存在同一機(jī)器上。也可以是已編目導(dǎo)本地機(jī)器的網(wǎng)絡(luò)上的其它數(shù)據(jù)庫。 數(shù)據(jù)復(fù)制方案實(shí)施步驟: 開始之前 1. 首先確定在將要實(shí)施復(fù)制計(jì)劃的機(jī)器上已經(jīng)安裝db2,已經(jīng)建立實(shí)例。 2. 確定您將要用戶復(fù)制的源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫,可以在同一臺(tái)機(jī)器上,也可以是在網(wǎng)絡(luò)上的數(shù)據(jù)庫,需要編目到本地。 3. 確定您對源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫有存取權(quán)限。假定源數(shù)據(jù)庫是sample庫,目標(biāo)數(shù)據(jù)庫是copydb庫。 4. 在您的機(jī)器上建立copydb庫。 規(guī)劃此方案 1. 復(fù)制源 您已經(jīng)知道了復(fù)制源就是 sample數(shù)據(jù)庫中的 schema .DEPARTMENT 表。在設(shè)置您的環(huán)境之前,必須決定想從該表中復(fù)制哪些內(nèi)容;您決定注冊所有列并預(yù)訂所有列。 2. 復(fù)制目標(biāo) 您決定想要復(fù)制目標(biāo)是 copydb數(shù)據(jù)庫,該數(shù)據(jù)庫是在開始之前中創(chuàng)建的。目前,該數(shù)據(jù)庫中沒有任何目標(biāo)表;您想讓復(fù)制中心根據(jù)您的規(guī)范來創(chuàng)建目標(biāo)表。這種自動(dòng)生成目標(biāo)表的方法是優(yōu)先可取的,原因是它可以確保正確映射至復(fù)制源。還可以使用現(xiàn)有的目標(biāo)表,但是,本方案假定目標(biāo)表不存在。 3. 復(fù)制選項(xiàng) 出于本方案的目的,您決定將 CD 表、目標(biāo)表和復(fù)制控制表分別存儲(chǔ)在它們的缺省表空間中。盡管 SAMPLE 和 COPYDB 數(shù)據(jù)庫存在于同一機(jī)器上,但是,它們的表空間卻位于不同容器中。 為此方案規(guī)劃設(shè)置環(huán)境 步驟1:為Capture程序創(chuàng)建控制表 Capture 程序從復(fù)制控制表中讀取當(dāng)前的注冊信息,并將它的狀態(tài)存儲(chǔ)在這些表中。將充當(dāng) Capture 控制服務(wù)器的任何數(shù)據(jù)庫都必須包含 Capture 控制表。 1. 打開復(fù)制中心,展開 SQL 復(fù)制 文件夾。 2. 展開 定義 文件夾。 3. 右鍵單擊 Capture 控制服務(wù)器 文件夾并選擇 創(chuàng)建 Capture 控制表 -> 快速 。或者,可通過選擇 創(chuàng)建 Capture 控制表 -> 定制 來定制 Capture 控制表。 4. 在“選擇服務(wù)器”窗口中,選擇 SAMPLE 數(shù)據(jù)庫。此數(shù)據(jù)庫將作為 Capture 控制服務(wù)器。單擊 確定 。 5. 在“創(chuàng)建控制表 - 快速 - 服務(wù)器信息”窗口中,選擇 主管用于復(fù)制和捕獲對那些源的更改的源 。然后,單擊 下一步 。 6. 在“創(chuàng)建控制表 - 快速 - 復(fù)制詳細(xì)信息”窗口中,單擊 下一步 。不需要更改此窗口中的任何信息。 7. 在“創(chuàng)建控制表 - 快速 - 表空間”窗口中,輸入 TSASNCA 表空間的表空間規(guī)范。例如,將緩沖池設(shè)置為 IBMDEFAULTBP。對于本方案,接受缺省 Capture 模式 - ASN。 8. 在“創(chuàng)建控制表 - 快速 - 表空間”窗口中,輸入 TSASNUOW 表空間的表空間規(guī)范。 9. 在“創(chuàng)建控制表 - 快速 - 表空間”窗口中輸入了這兩個(gè)表空間的信息之后,單擊 確定 。 10. 單擊“消息對話框”窗口上的 關(guān)閉 。此窗口顯示生成將創(chuàng)建 Capture 控制表的 SQL 腳本的結(jié)果。如果產(chǎn)生了任何錯(cuò)誤,這些錯(cuò)誤就會(huì)顯示在此窗口中。 11. 在“立即運(yùn)行或保存 SQL”窗口中輸入有效的用戶標(biāo)識(shí)和密碼,并單擊 確定 以立即運(yùn)行 SQL 腳本。 12. 在“DB2 消息”窗口中應(yīng)當(dāng)看到一條消息指出已成功運(yùn)行腳本。單擊 關(guān)閉 。 13. 展開 Capture 控制服務(wù)器 文件夾。SAMPLE 數(shù)據(jù)庫應(yīng)當(dāng)顯示在該文件夾中。 步驟2:為復(fù)制啟用數(shù)據(jù)庫 Capture 程序讀取 DB2 日志,以獲取包括對注冊的表的更改的日志記錄。日志必須是歸檔日志,以便在 Capture 程序可以讀取日志之前,DB2 將不會(huì)再使用日志文件。對于 UNIX(R) 和 Windows 環(huán)境,DB2 缺省值是循環(huán)日志記錄,因此,必須將此設(shè)置更改為歸檔日志記錄。 步驟3:注冊復(fù)制源 在創(chuàng)建了 Capture 控制表并為復(fù)制啟用了數(shù)據(jù)庫之后,將 DEPARTMENT 表注冊為復(fù)制源。 [page_break]注冊步驟: 1.展開 SQL 復(fù)制 文件夾。 2.展開 定義 文件夾。 3.展開 Capture 控制服務(wù)器 文件夾。 4.展開 SAMPLE 數(shù)據(jù)庫。 5.展開 Capture 模式 文件夾。 6.展開 ASN 模式。 7.右鍵單擊 注冊的表 文件夾并選擇 注冊表 。 8.在“添加可注冊的表”窗口中,單擊 全部檢索 以列示 SAMPLE 數(shù)據(jù)庫中您可以注冊為復(fù)制源的所有表。選擇 DEPARTMENT 表并單擊 確定 。 9.在“注冊表”窗口中,單擊 CD 表 筆記本選項(xiàng)卡。指定有關(guān) CD 表空間的下列信息: o 在 表空間的規(guī)范 區(qū)域中,單擊 容器名 字段以指定 TSCDDEPARTMENT 表空間的容器名。 o 在 表空間的規(guī)范 區(qū)域中,將 大小 字段更改為 1。 o 在 表空間的規(guī)范 區(qū)域中,將 單位 字段更改為 MB。 o 指定此新表空間的其它信息;例如,將緩沖池設(shè)置為 IBMDEFAULTBP。 在輸入了表空間信息之后,單擊 確定 。 10.單擊“消息對話框”窗口上的 關(guān)閉 。 | 此窗口顯示生成將注冊源表的 SQL 腳本的結(jié)果 。如果產(chǎn)生了任何錯(cuò)誤,這些錯(cuò)誤就會(huì)顯示在此窗口中。 11.單擊“立即運(yùn)行或保存 SQL”窗口上的 確定 以立即運(yùn)行 SQL 腳本。 12.在“DB2 消息”窗口中應(yīng)當(dāng)看到一條消息指出已成功運(yùn)行腳本。單擊 關(guān)閉 。 13.SAMPLE 數(shù)據(jù)庫文件夾的內(nèi)容窗格中現(xiàn)在應(yīng)當(dāng)將 DEPARTMENT 表顯示為注冊的表。 步驟3:為Apply程序創(chuàng)建控制表 Apply 程序從復(fù)制控制表中讀取當(dāng)前的預(yù)訂集信息,并將它的狀態(tài)存儲(chǔ)在這些表中。將充當(dāng) Apply 控制服務(wù)器的任何數(shù)據(jù)庫都必須包含 Apply 控制表。 1.展開 SQL 復(fù)制 文件夾。 2.展開 定義 文件夾。 3.右鍵單擊 Apply 控制服務(wù)器 文件夾并選擇 創(chuàng)建 Apply 控制表 -> 快速 。或者,可通過選擇 創(chuàng)建 Apply 控制表 -> 定制 來定制 Apply 控制表。 4.在“選擇服務(wù)器”窗口中,選擇 COPYDB 數(shù)據(jù)庫。此數(shù)據(jù)庫將作為 Apply 控制服務(wù)器。單擊 確定 。 5.在“創(chuàng)建控制表 - 快速 - 服務(wù)器信息”窗口中,選擇 應(yīng)用已捕獲的對目標(biāo)表的更改 。然后,單擊 下一步 。 6在“創(chuàng)建控制表 - 快速 - 復(fù)制詳細(xì)信息”窗口中,單擊 下一步 。不需要更改此窗口中的任何信息。 7.在“創(chuàng)建控制表 - 快速 - 表空間”窗口中,輸入 TSASNAA 表空間的表空間規(guī)范。例如,將緩沖池設(shè)置為 IBMDEFAULTBP。單擊 確定 。 8.單擊“消息對話框”窗口上的 關(guān)閉 。此窗口顯示生成將創(chuàng)建 Apply 控制表的 SQL 腳本的結(jié)果。如果產(chǎn)生了任何錯(cuò)誤,這些錯(cuò)誤就會(huì)顯示在此窗口中。 8.在“立即運(yùn)行或保存 SQL”窗口中輸入有效的用戶標(biāo)識(shí)和密碼,并單擊 確定 以立即運(yùn)行 SQL 腳本。 9.在“DB2 消息”窗口中應(yīng)當(dāng)看到一條消息指出已成功運(yùn)行腳本。單擊 關(guān)閉 。 10.展開 Apply 控制服務(wù)器 文件夾。COPYDB 數(shù)據(jù)庫應(yīng)當(dāng)顯示在該文件夾中。 步驟5:創(chuàng)建預(yù)訂集和預(yù)訂集成員 在注冊源表之后,需要?jiǎng)?chuàng)建預(yù)訂集。預(yù)訂集將定義復(fù)制源數(shù)據(jù)庫(在本方案中為 SAMPLE)與目標(biāo)數(shù)據(jù)庫(在本方案中為 COPYDB)之間的關(guān)系。預(yù)訂集成員定義復(fù)制源表(在本方案中為 DEPARTMENT)與一個(gè)或多個(gè)目標(biāo)表(本方案中只有一個(gè)目標(biāo)表,它將稱為 DEPTCOPY)之間的關(guān)系。 制定預(yù)訂集和預(yù)訂集成員步驟: 1.展開 SQL 復(fù)制 文件夾。 2.展開 定義 文件夾。 3.展開 Apply 控制服務(wù)器 文件夾。 4.展開 COPYDB 數(shù)據(jù)庫。 A.右鍵單擊 預(yù)訂集 文件夾并選擇 創(chuàng)建 。 還可以通過選擇 SAMPLE 數(shù)據(jù)庫的 注冊的表 文件夾,右鍵單擊內(nèi)容窗格中的 DEPARTMENT 表并選擇 創(chuàng)建預(yù)訂集 來創(chuàng)建預(yù)訂集。 B.在“創(chuàng)建預(yù)訂集”窗口的“集信息”頁中輸入以下信息: a. 在 預(yù)訂集名稱 字段中輸入 DEPTSUB。此字符串標(biāo)識(shí)預(yù)訂集,并且,對于特定的 Apply 限定符,此字符串必須是唯一的。 b. 在 Apply 限定符 字段中輸入 DEPTQUAL。此字符串標(biāo)識(shí)對于將運(yùn)行此預(yù)訂集的 Apply 程序的實(shí)例來說是唯一的復(fù)制定義。 [page_break]技巧: Apply 限定符是區(qū)分大小寫的。如果想要 Apply 限定符采用小寫字符,則當(dāng)您輸入該限定符時(shí)必須對它進(jìn)行定界;例如,"deptqual"。缺省情況下,如果您只是輸入 deptqual,則復(fù)制中心將把該值轉(zhuǎn)換為大寫字符。 c. 對 Capture 控制服務(wù)器別名 字段單擊瀏覽按鈕。在“選擇 Capture 控制服務(wù)器”窗口中,選擇 SAMPLE 數(shù)據(jù)庫,并單擊 確定 。 d. 對 目標(biāo)服務(wù)器別名 字段單擊瀏覽按鈕。在“選擇目標(biāo)服務(wù)器”窗口中,選擇 COPYDB 數(shù)據(jù)庫并單擊 確定 。COPYDB 數(shù)據(jù)庫既是目標(biāo)服務(wù)器又是 Apply 控制服務(wù)器。 e. 選擇 激活預(yù)訂集 復(fù)選框。 7.在“創(chuàng)建預(yù)訂集”窗口的“源到目標(biāo)映射”頁中輸入以下信息: a.單擊 添加 以將已注冊的源添加至預(yù)訂集成員。 b.在“添加已注冊的源”窗口中,單擊 全部檢索 以顯示 SAMPLE 數(shù)據(jù)庫中的所有已注冊的源。 c.在“添加已注冊的源”窗口中,選擇 DEPARTMENT 表,并單擊 確定 。 d.在“創(chuàng)建預(yù)訂集”窗口的“源到目標(biāo)映射”頁中,將目標(biāo)表的名稱從 TGDEPARTMENT 更改為 TGDEPTCOPY:在預(yù)訂集成員表的 目標(biāo)名 列中選擇 TGDEPARTMENT,并輸入TGDEPARTCOPY以覆蓋缺省名稱。 e.單擊 更改 以打開“成員屬性”窗口。從此窗口中,可以定義預(yù)訂集成員的屬性。 8.在“成員屬性”窗口的“目標(biāo)表索引”頁中: a. 從 目標(biāo)中的可用列 列表中選擇 DEPTNO 列。 b. 單擊移動(dòng)按鈕( > )來將 DEPTNO 列移至 在索引中使用的列 列表。 c. 選擇 使用選擇的列來創(chuàng)建主鍵 來將 DEPTNO 列用作目標(biāo)表的主鍵。 9.在“成員屬性”窗口的“行過濾”頁中,在 WHERE 語句 字段中輸入以下子句: DEPTNO >=’E00’ 此 WHERE 子句指示您只想復(fù)制滿足某些條件的那些行;在本例中,就是只復(fù)制部門號(hào)大于或等于“E00”的那些行。此 WHERE 子句將導(dǎo)致目標(biāo)表只包含三行,而不是包含所有九行. 10.在“成員屬性”窗口的“目標(biāo)表表空間”頁中,指定有關(guān)新的 TSTGDEPTCOPY 表空間的以下信息: o 在 表空間的規(guī)范 區(qū)域中,單擊 容器名 字段以指定 TSTGDEPTCOPY 表空間的容器名。 o 在 表空間的規(guī)范 區(qū)域中,將 大小 字段更改為 1。 o 在 表空間的規(guī)范 區(qū)域中,將 單位 字段更改為 MB。 o 指定此新表空間的其它信息;例如,將緩沖池設(shè)置為 IBMDEFAULTBP。 還可以指定此新表空間的其它信息;例如,將緩沖池設(shè)置為 IBMDEFAULTBP。 11.單擊 確定 以關(guān)閉“成員屬性”窗口。對于此方案,不需要對 目標(biāo)裝入選項(xiàng) 選項(xiàng)卡執(zhí)行任何操作。 12.在“創(chuàng)建預(yù)訂集”窗口的“調(diào)度”頁中,將分鐘數(shù)更改為 1,以便 Apply 程序每隔一分鐘就要處理此預(yù)訂集一次。使用 復(fù)制頻率 區(qū)域中的 分鐘數(shù) 字段上的旋鈕來選擇 1 分鐘的時(shí)間間隔(或者在該字段中輸入 1)。 保留 起始日期 、 起始時(shí)間 、 基于時(shí)間 和 使用相對定時(shí) 的缺省值。 13.在“創(chuàng)建預(yù)訂集”窗口的“語句”頁中,單擊 添加 以打開“添加 SQL 語句或過程調(diào)用”窗口。使用此窗口來定義將在運(yùn)行預(yù)訂集時(shí)處理的 SQL 語句。在“添加 SQL 語句或過程調(diào)用”窗口中輸入以下信息: a.在 SQL 語句 字段中輸入: DELETE FROM ASN.IBMSNAP_APPLYTRAIL WHERE LASTRUN < (CURRENT TIMESTAMP - 7 DAYS) 此語句將刪除 Apply 跟蹤表中 7 天之前的任何記錄。 Apply 程序?qū)?zhí)行在處理預(yù)訂集之后在目標(biāo)服務(wù)器中添加的 SQL 語句。SQL 語句必須在目標(biāo)服務(wù)器中運(yùn)行,這是因?yàn)?nbsp;Apply 控制服務(wù)器與目標(biāo)服務(wù)器是駐留在同一位置的,并且 Apply 跟蹤表在 Apply 控制服務(wù)器中。 技巧: Apply 程序運(yùn)行您在每個(gè)預(yù)訂周期中添加至預(yù)訂集的 SQL 語句或過程。此示例效率比較低,這是因?yàn)?nbsp;Apply 程序每一分鐘都將執(zhí)行此語句,盡管該語句每 24 個(gè)小時(shí)最多只刪除 APPLYTRAIL 表中的數(shù)據(jù)一次。 b.在 SQLSTATE 字段中,輸入 02000,并單擊 添加 。此 SQL 狀態(tài)指示“找不到行”錯(cuò)誤是可以接受的,并且 Apply 程序應(yīng)當(dāng)忽略這些錯(cuò)誤。 技巧: 對于此預(yù)訂集,最多可以定義想要 Apply 程序忽略的十種 SQL 狀態(tài)。 c.單擊“確定”以關(guān)閉“添加 SQL 語句或過程調(diào)用”窗口。 14單擊 確定 以關(guān)閉“創(chuàng)建預(yù)訂集”窗口。 15.單擊“消息對話框”窗口上的 關(guān)閉 。此窗口顯示生成將更新 Apply 控制表并創(chuàng)建目標(biāo)表的 SQL 腳本的結(jié)果。如果產(chǎn)生了任何錯(cuò)誤,這些錯(cuò)誤就會(huì)顯示在此窗口中。 16.單擊“立即運(yùn)行或保存 SQL”窗口上的 確定 以立即運(yùn)行 SQL 腳本。 可以將 SQL 腳本保存到一個(gè)文件中以供將來使用,也可以立即運(yùn)行它: a. 選擇 保存至文件 。 b. 在 保存規(guī)范 區(qū)域中填充一些信息,例如,文件名。 c. 單擊“應(yīng)用”以保存該文件。如果腳本具有多個(gè)部分,而您未選擇 將多個(gè)腳本保存到一個(gè)文件中 復(fù)選框,則將使用您指定的名稱加上一個(gè)數(shù)字來將每一部分保存到一個(gè)獨(dú)立的文件中。“立即運(yùn)行或保存 SQL”窗口將保持打開狀態(tài)。 d. 選擇 立即運(yùn)行 。 e. 單擊 確定 以運(yùn)行腳本,并關(guān)閉“立即運(yùn)行或保存 SQL”窗口。 還可以將 SQL 腳本保存到一個(gè)文件中,以后再運(yùn)行它,也可以保存 SQL 腳本并運(yùn)行它。 17.在“DB2 消息”窗口中應(yīng)當(dāng)看到一條消息指出,同時(shí)在 SAMPLE 和 COPYDB 服務(wù)器上成功運(yùn)行了腳本。單擊 關(guān)閉 。 18.展開 Apply 控制服務(wù)器 文件夾和 COPYDB 數(shù)據(jù)庫 ,然后單擊 預(yù)訂集 文件夾。 預(yù)訂集 文件夾的內(nèi)容窗格現(xiàn)在應(yīng)當(dāng)顯示 DEPTSUB 預(yù)訂集。 步驟6:創(chuàng)建Apply程序密碼文件 因?yàn)?nbsp;Apply 程序需要連接至 Capture 控制服務(wù)器、Apply 控制服務(wù)器和目標(biāo)服務(wù)器,所以,必須創(chuàng)建一個(gè)密碼文件以進(jìn)行用戶認(rèn)證。因?yàn)槊艽a文件的內(nèi)容已加密,所以,只有 Apply 程序可以讀取該文件,盡管您可以修改該文件。 創(chuàng)建密碼文件步驟: 1.打開操作系統(tǒng)的命令行窗口,然后進(jìn)入db2的sqllib\bin目錄中,執(zhí)行: Asnpwd init using “path:/sqllib/repl/asnpwd.aut” 2. 輸入以下命令來為 Apply 程序必須連接至的每個(gè)數(shù)據(jù)庫添加用戶標(biāo)識(shí)和密碼信息:asnpwd add alias sample id userid password password using “path” 步驟7:啟動(dòng)capture和apply程序 打開系統(tǒng)命令行窗口,執(zhí)行: Asncap asncap_server=sample capture_schema=ASN startmode=cold Asnapply CONTROL_SERVER=copydb apply_qual=deptqual 全新的路由器不僅讓你更穩(wěn)定快速地連接無線網(wǎng)絡(luò),更可以讓家中的智能設(shè)備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!