在DB2數(shù)據(jù)庫中很難理解的catalog單詞
第1步:
你必須要在客戶端的機器上能夠把遠(yuǎn)程的服務(wù)器能夠識別出來,這個具體如何來做呢?在DB2使用的編目(catalog)方式,具體來說就是通過編目把遠(yuǎn)程的服務(wù)器寫在本地客戶端的一個文件中:
db2 catalog tcpip node p570 remote 172.10.10.10 server 50000
在上面的這條命令中p570是一個節(jié)點名(在一個機器上必須是唯一的),remote后面是服務(wù)器的IP地址,server是遠(yuǎn)程服務(wù)器上實例對應(yīng)的端口號。DB2通過這種方式在本地的SQLNODIR文件中把遠(yuǎn)程服務(wù)器的信息記錄下來,所以編目節(jié)點其實就是把遠(yuǎn)程服務(wù)器映射到本地,通過SQLNODIR中的記錄能夠找到遠(yuǎn)程服務(wù)器和實例,類似指向遠(yuǎn)程服務(wù)器和實例的地址指針。
第2步:
當(dāng)把遠(yuǎn)程的服務(wù)器IP地址,實例編目下來后,第二步應(yīng)該把該實例下的數(shù)據(jù)庫編目到本地
db2 catalog db REMOTEDB at node p570
在這條命令中,REMOTEDB是遠(yuǎn)程實例下的數(shù)據(jù)庫,p570是我們在第一步中編目的節(jié)點名
這條命令執(zhí)行后會在本地SQLDBDIR文件中記錄遠(yuǎn)程數(shù)據(jù)庫的信息,這這里編目數(shù)據(jù)庫可以理解為把遠(yuǎn)程服務(wù)器實例下的數(shù)據(jù)庫映射到本地為一個別名
=========================================
上面是客戶端和服務(wù)器不在同一臺機器上,是通過編目節(jié)點,編目數(shù)據(jù)庫來實現(xiàn)客戶端連接到服務(wù)器上數(shù)據(jù)庫的目的,如果是連接在同一臺機器上,那么這時候不要顯示的編目節(jié)點,但是在服務(wù)器上當(dāng)我們創(chuàng)建一個實例的時候,有一個隱含的把實例在本地編目的過程,假設(shè)在p570上創(chuàng)建一個實例名為db2inst1,其實有一個隱含的
db2 catalog local node db2inst1 instance db2inst1 system p570 ostype aix的步驟,
同樣當(dāng)你在db2inst1下創(chuàng)建一個數(shù)據(jù)庫MYDB的時候,有一個隱含的編目(catalog)數(shù)據(jù)庫的步驟:
db2 catalog db mydb at node db2inst1的步驟
至此你可以這樣理解編目(catalog),編目就是在本地或遠(yuǎn)程建立客戶端到服務(wù)器的數(shù)據(jù)庫連接的目的。
