DB2中編目本機當中資料庫的方法

2021-12-30 04:48:51 字數 2564 閱讀 4703

問題:同一節點上有兩個例項,如果想在其中乙個例項下訪問另乙個例項中的資料庫,有兩種方法:

1. 使用catalog local node的方式,在其中乙個例項中將另外乙個例項直接編目,這種方試中,它們之間採用的通訊方式是ipc(程序間通訊),這種方式只能在同一物理機上進行。

2. 使用catalog tcpip node的方式,將其中乙個作為客戶端,另乙個作為服務端, 這種方式中,它們之間採用的通訊方式是tcpip,這種方式不限於本地,也適用於遠端通訊。

下面分別舉兩個例子來說明這個過程

實驗1db2 10.1.0.0, windows作業系統,使用catalog local node的方式。

1. 機器上有兩個例項inst01和inst02,例項inst01下有乙個資料庫sample1,例項inst02下有乙個資料庫sample2,啟動兩個例項之後,如下圖所示:

現在,在例項inst01下使用catalog local node的方式將例項inst02編目進來(注意,以下所有操作都是在例項inst01下完成的)

這裡的node01相當於給inst02的起的別名,使用attach連線到node01之後,發出的create database命令相當於在inst02下進行的。

從以上的輸出中可以看到建立的資料庫sample3實際上是在inst02下,而非inst01下。

為了可以在inst01下訪問inst02中的資料庫sample2,可以直接在inst01對其編目。

可以使用 connect to 命令連線資料庫了

實驗2db2 v10.5 , linux 使用catalog tcpip node的方式

同一臺物理機上有兩個例項 qingsong和db2inst2,其中例項qingsong下有資料庫qsmiao,作為服務端,例項db2inst2作為客戶端

1. 檢視/etc/services檔案

2. 使用root使用者在/etc/services裡新增一行 remote_test 60012/tcp

3. 服務端qingsong上更新資料庫管理器配置檔案

$ db2 update dbm cfg using svcename remote_test

$ db2stop

$ db2start

$ db2 get dbm cfg | grep svcename

4. 設定服務端的通訊協議為tcpip

$ db2set db2comm=tcpip

$ db2stop

$ db2start

$ db2set -all

5. 客戶端 編目節點

$ db2start

$ db2 list node directory

$ db2 catalog tcpip node qingnode remote localhost server 60012

$ db2 terminate

$ db2 list node directory

其中,localhost指本機,如果是在遠端,可以直接修改為對應的ip位址,60012指服務端對應的埠。

6. 客戶端 編目資料庫

上面的這種編目方式是 tcpip node

參考資料:

catalog tcpip node

catalog local node

catalog database

db2與mysql編目 DB2 資料庫編目

方法一 命令執行方法 db2 catalog tcpip node node name remote server ip server server port l node name 所要編目的節點名,任意起。節點名在一台機器上必須是唯一的,不能跟已有的節點名重複。可通過db2 list node ...

DB2資料庫編目

確認資料庫的遠端連線資訊,根據連線資訊進行編目 db2 list node directory 檢視伺服器編目的目錄節點 db2 catalog tcpip node jd mc remote ip server port 增加結點編目,jd mc是乙個節點名 在此伺服器上是唯一的 db2 unca...

db2 編目資料庫

由於工作原因經常需要在非伺服器端 windows系統下 連線db2資料庫處理資料 僅僅是處理資料,沒必要當然也沒機會到伺服器上去做 客戶端不方便裝比較大型的工具 如quest central或toad這些 所以為了方便操作,經常需要把資料庫編目到本地進行操作,以下是編目語句 通過odbc也可以解決,...