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