使用 IBM Data Studio 建立和管理 DB2 聯邦資料庫物件

來源:互聯網
上載者:User

使用 IBM Data Studio 建立和管理 DB2 聯邦資料庫物件

IBM Data Studio(文中簡稱 DS)在當前最新的 4.1 版本中,相較於之前的 DS3.x 的版本,對聯邦資料庫提供了更加全面的支援。本文將介紹如何在 DS 中建立和管理聯邦資料庫物件。

概述

在當今大型的企業和機構中,海量和複雜的資料及眾多的組織部門,業務的不斷髮展及企業間的競爭和合并,使得這些企業和機構幾乎不可避免地使用不同資料庫管理系統來儲存和管理其重要的資料。IBM 提供的 DB2 和其它各類主流資料庫的聯邦功能對企業和機構的此類資訊整合的需求提供了強大的支援。 同時,自 DB2V10 開始,隨著 DB2 一起發布的集資料庫管理,開發,SQL 調優與一體的整合工具 IBM DataStudio 在它的 4.1 的版本中,也提供了對聯邦資料庫物件建立和管理的全面支援,DS4.1 支援對以下 8 種遠端資料源建立和管理聯邦資料庫物件: SQL Server,Oracle,Teradata,Informix,JDBC,ODBC,DB2,SYBASE。在之前的 DS3.x 版本,僅支援遠端 DB2 和 Oracle 這兩種資料來源。並且 DS4.1 在建立 Nickname 時,新增加了對遠端資料源上的表的自動探索的功能,本文將使用執行個體介紹如何使用 DS4.1 建立和管理聯邦資料庫物件。

DB2 聯邦資料庫環境的簡介

在使用 DataStudio 為不同的資料來源建立聯邦資料庫物件之前,假設您已經配置好了 DB2 聯邦伺服器。DB2 聯邦伺服器的配置是作業系統層面的操作,而 DataStudio 是操作資料庫的工具,因此你需要事先在您的 DB2 聯邦伺服器上配置好各種資料來源的支援,通常 DB2 聯邦伺服器對各類資料來源支援的配置包含以下步驟:

1. 把 DB2 聯邦伺服器上執行個體參數 federated 設為 YES。

2. 在 DB2 聯邦伺服器上安裝配置好所支援資料來源的用戶端 , 其中 DB2 和 informix 的不需要額外安裝,DB2 聯邦伺服器內建這兩種資料來源的支援。

3. 安裝 DB2 聯邦伺服器的對各種資料來源支援的 Wrapper,Wrapper 提供 DB2 聯邦伺服器和其它類型資料來源互動的功能,在安裝嚮導中,您可以配置 Wrapper 和對應資料來源庫檔案的關聯。 這些配置將被寫入 DB2 聯邦伺服器的 db2dj.ini 檔案中。

4. 如果您是先安裝的 DB2 聯邦伺服器的 Wrapper,後安裝的各類資料來源的用戶端,你也可以手動編輯 db2dj.ini 檔案,添加各個 Wrapper 和對應資料來源的關聯。從 DB2V10.1 開始,提供了一個圖形化的 Wrapper 組態工具 rwcfg,你也可以用它來配置 Wrapper,配置的結果將儲存在 db2dj.ini 檔案中。

當聯邦伺服器的設定完成,您就可以串連到 DB2 聯邦伺服器而對其它各種資料來源上的表和預存程序進行操作了。接下來將介紹如何使用 DS4.1 來管理聯邦資料庫物件。

DB2 聯邦資料庫物件的建立

本節將以 DB2 和 Oracle 聯邦為例,用執行個體講解使用 DS 建立 Wrapper,Remote Server,User Mapping 和 Nickname。

1. 為 DB2 聯邦資料庫建立一個資料庫連接。

啟動 DS, 在 Administration Explorer( 文中簡稱 AE) 視圖中點擊“向下箭頭”的表徵圖,選擇 New connection to a database,如 1:
註:如果 AE 視圖沒在 DS 中開啟,請點擊 DS 菜單條上的 Windows->ShowView->Other, 在彈出的嚮導中展開檔案夾 Data Management, 選擇 Administration Explorer,點擊 OK 按鈕就可以開啟此視圖。

圖 1:選擇建立資料庫連接

之後將會開啟建立資料庫連接的嚮導,在嚮導中選擇資料庫管理員的類型,本例中是 DB2 for Linux, Unix, and Windows,然後在嚮導中輸入資料庫的串連資訊,如 2:

圖 2:建立資料庫連接嚮導

在圖 2 中點擊 Test Connection 按鈕,確認可以串連成功,然後點擊 Finish 按鈕,就可以在 Administration Explorer 視圖中建立一個資料庫連接。

2. 建立一個更改計劃

在 DS 中建立一個更改計劃 (Change Plan),然後在這個更改計劃中加入建立 Wrapper,Remote Server 和 User Mapping 的操作。 在 DS 的 AE 視圖中,展開剛建立的資料庫連接下的聯邦資料庫節點,右鍵點擊 Change Plans,選擇 Create Change Plan,如 3:

圖 3. 選擇建立一個更改計劃

接下來,會彈出一個對話方塊提示輸入更改計劃的名字,指定名字為 testplan1,如 4.

圖 4. 指定更改計劃的名字

點擊中的確定按鈕,新建立的更改計劃會顯示在 DS 的對象列表視圖 (Object List Editor 簡稱 OLE) 中,如 5.

圖 5. 新建立更改計劃的狀態

圖 5. 新建立更改計劃的狀態 

從圖 5 中可以看出,這個更改計劃處於 pending 的狀態,等待被執行,但是其中包含 0 個 User change,需要加入一些操作才能被執行。接下來把建立聯邦資料庫物件的操作加入其中。

3. 在更改計劃中加入建立 Wrapper,RemoteServer 和 UserMapping 的操作

從 DS 的 AE 視圖中,展開檔案夾 Federated Database Objects, 右鍵點擊檔案夾 Wrappers,選擇 Create Wrapper, 您將會看到在 DS 的 OLE 中會列出當前聯邦資料庫所有的 Wrapper, 其中包含您正準備建立的 Wrapper, 並且這個 Wrapper 的屬性視圖 (Properties View) 會被開啟。在屬性視圖中的 name 文字框中輸入 Wrapper 的名字 TESTORAWRA1, 在 Data Source 下拉式清單中選擇 ORACLE, 其中 Data Source 下拉式清單中包含 8 種資料來源選項 , 在 Library name 下拉式清單中選擇 libdb2net8.a(Aix), 其中 Library name 下拉式清單包含 3 個平台檔案選項,本例中的 DB2 聯邦資料庫安裝在 Aix 機器上。細節請參考 6.

圖 6. 為 ORACLE 資料來源建立 Wrapper

點擊查看大圖

關閉 [x]

圖 6. 為 ORACLE 資料來源建立 Wrapper 

接下來,基於以上 Wrapper 建立一個 Remote Server,在 DS 的 AE 視圖中,右鍵點擊檔案夾 Remote Servers, 選擇 Create RemoteServer, 在彈出的對話方塊中選擇以上剛建立的 Wrapper. 如 7.

圖 7. 建立 Remote Server 時選擇 Wrapper

在中點擊確定按鈕,此時在 DS 的 OLE 中列出當前聯邦資料庫中所有的 Remote Server, 其中包含您正準備建立的 Remote Server, 並且這個 Remote Server 的屬性視圖會被開啟。在屬性視圖中選擇 General 頁面,然後在 name 文字框中為 Remote Server 指定名字為 TESTORASVR1, 在 TYPE 下拉式清單中選擇 ORACLE, 在 Version 下拉式清單中選擇 ORACLE 的版本,本例中使用的 ORACLE 版本是 11,在 Wrapper 下拉式清單中選擇上面剛建立的 Wrapper TESTORAWRA1, 然後輸入串連 ORACLE 的使用者名稱和密碼,如 8.

圖 8. 為 ORACLE 資料來源建立 Remote Server 的屬性視圖

再在圖 8 中所示的屬性視圖中,選擇 Options 頁面,然後勾選 NODE 屬性,為 NODE 指定值,本例為 ORACLE 事先配置好的節點名為 ora11gcsdl1,其它選項都是可選的,如 9.

圖 9. 為 ORACLE 資料來源建立 Remoete Server 的選項設定

然後,為上述建立的 Remote Server 建立 User Mapping。在 DS 的 AE 視圖中,右鍵點擊檔案夾 User Mappings, 選擇 Create User Mapping,在彈出的對話方塊中選擇剛建立的 Remot Server. 如 10.

圖 10. 為 ORACLE 資料來源的 User Mapping 選擇 Remote Server

在中點擊確定按鈕,此時在 DS 的 OLE 中列出當前聯邦資料庫中所有的 User Mapping, 其中包含您正準備建立的 User Mapping。在這個 User Mapping 的屬性視圖中選擇 General 頁面 , 在 Local user ID 文字框中輸入 DB2 聯邦資料庫的使用者名稱,在 Local Server name 下拉式清單中選擇剛建立的 Remote Server, 然後在 Remote User ID 和 Remote password 文字框分別輸入遠程 ORACLE 的使用者名稱和密碼,如 11.

圖 11. 建立 User Mapping

點擊查看大圖

關閉 [x]

圖 11. 建立 User Mapping 

此時,我們可以看到在 OLE 上邊的更改計劃的工具列上,更改計劃 testplan1 右邊的數字從最初的 0 變��了 3,代表目前 testplan1 中包含 3 個操作,分別是建立 Wrapper,建立 RemoteServer 和建立 UserMapping。點擊更改計劃工具列右邊綠色的運行按鈕 (Review and Deploy Changes),會彈出預覽和部署 (Review and Deploy) 的對話方塊併產生所有操作的 DDL, 如 12.

圖 12. 預覽和部署當前的更改計劃

圖 12. 預覽和部署當前的更改計劃 

在中點擊運行按鈕,在 DS 的 SQL Results 視圖中可以看到 DDL 啟動並執行結果,如 13.

圖 13. 運行更改計劃的結果

圖 13. 運行更改計劃的結果 

從運行結果中我們可以看到,所有的 SQL 都被成功執行,指定的 Wraper,RemoteServer 和 UserMapping 被成功建立。

4. 在遠程 ORACLE 資料來源上建立表

本例中我們在遠端 ORACLE 伺服器上建立一個表,然後在 DS 中為這個表在建立 Nickname.

1) 首先登入到 DB2 聯邦資料庫的機器,串連到測試的資料庫。

清單 1. 串連到 DB2 聯邦資料庫
 db2 connect to testdb  Database Connection Information  Database server        = DB2/AIX64 9.7.7  SQL authorization ID   = IIFVT66  Local database alias   = TESTDB

2) 開啟一個 session 串連到 ORACLE 伺服器端。

清單 2. 開啟一個 session 串連到 ORACLE 資料來源
 db2 set passthru TESTORASVR1  DB20000I  The SQL command completed successfully.

3) 在遠程 ORACLE 伺服器上建立一個表。

清單 3. 建立遠端資料表
 db2 "create table J15USER1.TESTTAB01(C1 integer, C2 varchar(12))" DB20000I  The SQL command completed successfully.

5. 為遠程 ORACLE 資料庫上的表建立 Nickname

在 DS 的 AE 視圖中,右鍵點擊檔案夾 Nicknames, 選擇 Create Nickname, 在彈出的對話方塊中選擇一個 Schema. 如 14.

圖 14. 為 Nickname 選擇一個 Schema

選擇一個 schema 後點擊確認按鈕,此時在 DS 的 OLE 中列出當前聯邦資料庫中所有的 Nickname, 其中包含您正準備建立的 Nickname。在這個 Nickname 的屬性視圖中選擇 General 頁面 , 在 Name 文字框中為 Nickname 指定一個名字,在 Server 下拉式清單中選擇剛建立的 TESTORASVR1, 然後在 Remote Schema 文字框中輸入遠程 ORACLE 上的 schema, 在 Remote table 文字框中輸入我們剛才建立的表 TESTTAB01。請參考 15.

圖 15. 為遠程 ORACLE 伺服器上的表建立 Nickname

在此強調一下,如果在做資料庫物件操作之前沒有建立更改計劃,DS 會為使用者的操作預設建立一個更改計劃。如,一個名為 Default Change Plan2013-04-11 13-44-19 的更改計劃被預設建立,此更改計劃包含一個操作,也就是我們建立 Nickname 的操作,點擊更改計劃功能表列右邊綠色的預覽和部署 (Review and Deploy Changplan) 按鈕。在彈出的預覽和部署對話方塊中會包含建立 Nickname 的 DDL,如 16.

圖 16. 預覽和部署建立 Nickname 的 DDL.

在中點擊運行按鈕,從 SQL Result 視圖中我們可以看到 Nickname 被成功的建立。新建立的 Nickname 也顯示在 OLE 中,如 17.

圖 17. 成功為遠程 ORACLE 資料庫上的表建立 Nickname.

為其它資料來源建立聯邦資料庫物件的操作和以上步驟類似,都是在 DS 的 AE 視圖,OLE 視圖,和屬性視圖中操作,然後部署所對應的更改計劃。 至此,讀者可能發現當建立 Nickname 時,需要手動地輸入遠端資料源上的表,如果要建立多個 Nickname 時,需要一個一個地去建立,這確實不太方便。為了更加方便使用者的操作,在 DS4.1 中加入了 Nickname 的自動探索功能,此功能允許使用者同時為多個遠端資料源上的多個表建立 Nickname。下面將做詳細介紹。

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 3
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.