帶您深入了解DB2中的編目
本文將為您詳細(xì)介紹DB2數(shù)據(jù)庫中比較難理解的編目,并將對DB2數(shù)據(jù)庫中的體系結(jié)構(gòu)進(jìn)行分析,供您參考,希望對您能有所幫助。
DB2數(shù)據(jù)庫中,編目(catalog)這個單詞很難理解,具體來說編目有編目節(jié)點(diǎn),編目數(shù)據(jù)庫等。如果要理解編目,先簡單講一下DB2數(shù)據(jù)庫的體系結(jié)構(gòu),在DB2數(shù)據(jù)庫中最大的概念是系統(tǒng)(節(jié)點(diǎn))也就是主機(jī),下面是實(shí)例,實(shí)例下面是數(shù)據(jù)庫,然后是表空間,然后是數(shù)據(jù)庫對象?,F(xiàn)在假設(shè)您有一個數(shù)據(jù)庫服務(wù)器在p570的機(jī)器上,您有一個客戶端在windows,linux或任何平臺上,您現(xiàn)在想建立一個客戶端到服務(wù)器端的連接,具體步驟是什么呢?
第1步:
您必須要在客戶端的機(jī)器上能夠把遠(yuǎn)程的服務(wù)器能夠識別出來,這個具體如何來做呢?在DB2使用的編目(catalog)方式,具體來說就是通過編目把遠(yuǎn)程的服務(wù)器寫在本地客戶端的一個文件中:
db2 catalog tcpip node p570 remote 172.10.10.10 server 50000
在上面的這條命令中p570是一個節(jié)點(diǎn)名(在一個機(jī)器上必須是唯一的),remote后面是服務(wù)器的IP地址,server是遠(yuǎn)程服務(wù)器上實(shí)例對應(yīng)的端口號。DB2通過這種方式在本地的SQLNODIR文件中把遠(yuǎn)程服務(wù)器的信息記錄下來,所以編目節(jié)點(diǎn)其實(shí)就是把遠(yuǎn)程服務(wù)器映射到本地,通過SQLNODIR中的記錄能夠找到遠(yuǎn)程服務(wù)器和實(shí)例,類似指向遠(yuǎn)程服務(wù)器和實(shí)例的地址指針。 第2步:
當(dāng)把遠(yuǎn)程的服務(wù)器IP地址,實(shí)例編目下來后,第二步應(yīng)該把該實(shí)例下的數(shù)據(jù)庫編目到本地
db2 catalog db REMOTEDB at node p570
在這條命令中,REMOTEDB是遠(yuǎn)程實(shí)例下的數(shù)據(jù)庫,p570是我們在第一步中編目的節(jié)點(diǎn)名
這條命令執(zhí)行后會在本地SQLDBDIR文件中記錄遠(yuǎn)程數(shù)據(jù)庫的信息,這這里編目數(shù)據(jù)庫可以理解為把遠(yuǎn)程服務(wù)器實(shí)例下的數(shù)據(jù)庫映射到本地為一個別名
=========================================
上面是客戶端和服務(wù)器不在同一臺機(jī)器上,是通過編目節(jié)點(diǎn),編目數(shù)據(jù)庫來實(shí)現(xiàn)客戶端連接到服務(wù)器上數(shù)據(jù)庫的目的,如果是連接在同一臺機(jī)器上,那么這時(shí)候不要顯示的編目節(jié)點(diǎn),但是在服務(wù)器上當(dāng)我們創(chuàng)建一個實(shí)例的時(shí)候,有一個隱含的把實(shí)例在本地編目的過程,假設(shè)在p570上創(chuàng)建一個實(shí)例名為db2inst1,其實(shí)有一個隱含的
db2 catalog local node db2inst1 instance db2inst1 system p570 ostype aix的步驟,
同樣當(dāng)您在db2inst1下創(chuàng)建一個數(shù)據(jù)庫MYDB的時(shí)候,有一個隱含的編目(catalog)數(shù)據(jù)庫的步驟:
db2 catalog db mydb at node db2inst1的步驟
至此您可以這樣理解編目(catalog),編目就是在本地或遠(yuǎn)程建立客戶端到服務(wù)器的數(shù)據(jù)庫連接的目的