DB2 catalog

 

在DB2數據庫中,編目(catalog)這個單詞很難理解,我自己當初在學習DB2的時候也常常被這個編目搞的很不明白,直到現在我個人也感覺到DB2中編目(catalog)這個術語用的不是很好,具體來說編目有編目節點,編目數據庫等。如果要理解編目,我先簡單講一下DB2數據庫的體系結構,在DB2數據庫中最大的概念是系統(節點)也就是主機,下面是實例,實例下面是數據庫,然後是表空間,然後是數據庫對象。現在假設你有一個數據庫服務器在p570的機器上,你有一個客戶端在windows,linux或任何平臺上,你現在想建立一個客戶端到服務器端的連接,具體步驟是什麼呢?
第一步:
你必須要在客戶端的機器上能夠把遠程的服務器能夠識別出來,這個具體如何來做呢?在DB2使用的編目(catalog)方式,具體來說就是通過編目把遠程的服務器寫在本地客戶端的一個文件中:
db2 catalog tcpip node p570 remote 172.10.10.10 server 50000

在上面的這條命令中p570是一個節點名(在一個機器上必須是唯一的),remote後面是服務器的IP地址,server是遠程服務器上實例對應的端口號。DB2通過這種方式在本地的SQLNODIR文件中把遠程服務器的信息記錄下來,所以編目節點其實就是把遠程服務器映射到本地,通過SQLNODIR中的記錄能夠找到遠程服務器和實例,類似指向遠程服務器和實例的地址指針。

第二步:
當把遠程的服務器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),編目就是在本地或遠程建立客戶端到服務器的數據庫連接的目的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章