編目(Catalog),是在本地或遠程建立客戶端到服務器的數據庫連接的過程。其目的在於獲取編目信息,即生成用來訪問數據庫的目錄。系統數據庫目錄包含一個列表和指針,通過目錄可以使 DB2 能夠找到已知的數據庫,無論它們是在本地系統上,還是在遠程系統上。如果沒有編目信息,應用程序就無法連接數據庫,所以在使用 DB2 時必須要先進行編目。
個人理解就是將server端有關數據庫的相關信息加載到本地。爲什麼要這樣做呢?原因是部署後的數據庫肯定是裝在服務器端,這個數據庫可能在另外一個城市,現在要操作這個遠程數據庫,就需要連接到遠程的數據庫。而且要通過一定方式把遠程數據庫信息“拿”到本地來。這一過程即爲編目(catalog)。
可以使用CA工具,按照嚮導一步一步執行。下面介紹另外兩種方法,命令行方法和使用CC工具:
編目包括以下兩個過程:
1、將服務器映射到客戶端,即編目節點。
通過編目節點,DB2在本地的SQLNODIR文件中把遠程服務器的信息記錄下來,所以編目節點其實就是把遠程服務器映射到本地,通過SQLNODIR中的記錄能夠找到遠程服務器和實例,類似指向遠程服務器和實例的地址指針。
2、將服務器實例下的數據庫映射到客戶端,即編目數據庫。
編目數據庫後,在本地SQLDBDIR文件中記錄遠程數據庫的信息。這裏編目數據庫可以理解爲把遠程服務器實例下的數據庫映射到本地爲一個別名。
一、節點編目
方法一:命令執行方法
使用CLP、CW或命令行編輯器,輸入節點編目命令:
db2 catalog tcpip node node_name remote server_ip server server_port
l node_name:所要編目的節點名,任意起。節點名在一臺機器上必須是唯一的,不能跟已有的節點名重複。(可通過db2 list node directory查看)可輸入純字母或字母與數字的組合,字母不區分大小寫。注意不能命名爲“DB2”,且不支持特殊字符。節點目錄用於存儲遠程數據庫的所有連通性信息。
l server_ip:所要編目的服務器IP地址。
l server_port:所要編目的服務器端口號,默認爲50000。
方法二:CC執行方法
通過“控制中心”對DB2進行節點編目。需要兩個過程:服務器節點編目與服務器下實例的節點編目。
1、服務器節點編目
右鍵單擊控制中心左側目錄樹中的“所有系統”,選擇“添加”項。在彈出的“添加系統”對話框內,對所要連接服務器的系統類型、系統名稱、主機名、節點名、操作系統、連接協議及註釋進行設置。在對服務器系統名稱和主機名進行設置時,可以通過單擊系統名稱右側的“發現”按鈕進行搜索,選擇需要連接的服務器系統。“確定”後完成服務器在客戶端的映射。
2、服務器下實例的編目
右鍵點擊所添加的服務器下的“實例”節點,選擇“添加”項,在彈出的“添加實例”對話框中對目標數據庫所在的實例名稱、實例節點名、操作系統、連接協議、主機名及端口號進行設置。“確定”後完成服務器下實例在客戶端的映射。
二、數據庫編目
方法一:命令執行方法
使用CLP、CW或命令行編輯器,輸入數據庫編目命令:
db2 catalog db db_name as db_alias at node node_name
l db_name:所要編目的數據庫名稱。
l db_alias:數據庫編目到客戶端所用的別名。
l node_name:所要編目的數據庫所在的節點名。
方法二:CC執行方法
通過“控制中心”對DB2進行數據庫編目。右鍵點擊服務器實例下的“數據庫”,選擇“添加”選項,在彈出的“添加數據庫”對話框中設置數據庫名稱、別名等。點擊“確定”完成數據庫在客戶端的映射。