2016-07-04 52 views
0

我在一臺物理Linux機器上運行了DB2 10.5服務器的幾個實例,我們將其命名爲INST1和INST2。跨多個實例的DB2鏈接模式

它們都含有多種模式,但是模式的命名是唯一翻過整經機,例如 INST1_SCHEMA_A, INST2_SCHEMA_A等

我想要做的就是以某種方式創建可以訪問所有用戶這些架構,因爲他們是一個實例,因此將有可能使像一個疑問: SELECT ID FROM INST1_SCHEMA_A UNION SELECT ID FROM INST2_SCHEMA_A

我怎樣才能做到這一點?我應該只鏈接數據庫和別名模式嗎?

回答

3

聯合會

是你的要求的關鍵字。 DB2 LUW到DB2 LUW包含在許可證中,這可以跨多個數據庫完成 - 無論它們駐留在同一實例內,另一個實例位於同一臺服務器上,還是不同服務器上。

在DBM CFG中設置FEDERATED = YES,定義服務器併爲遠程表設置暱稱。有關詳細信息,請參閱此article或此one或IBM知識中心。

+0

您需要將SERVER定義爲localhost才能訪問其他實例。您甚至可以通過聯合訪問同一實例中的另一個數據庫。 – AngocA

+0

謝謝,我切換並配置了FEDERATED模式。幾乎一切正常。只有我不知道如何配置的是順序 - 如果CREATE NICKNAME SCHEMA.SEQ_NAME FOR SERVER_NAME.SCHEMA.SEQ_NAME'說'SQL0204N「SERVER_NAME.SCHEMA.SEQ_NAME」是一個未定義的名稱,那麼如何爲它們創建NICKNAME。 SQLSTATE = 42704'? – user2444265