
- DB2 教程
- 首頁
- DB2 - 簡介
- DB2 - 伺服器安裝
- DB2 - 例項
- DB2 - 資料庫
- DB2 - 緩衝池
- DB2 - 表空間
- DB2 - 儲存組
- DB2 - 模式
- DB2 - 資料型別
- DB2 - 表
- DB2 - 別名
- DB2 - 約束
- DB2 - 索引
- DB2 - 觸發器
- DB2 - 序列
- DB2 - 檢視
- DB2 與 XML
- DB2 - 備份和恢復
- DB2 - 資料庫安全
- DB2 - 角色
- DB2 - LDAP
- DB2 有用資源
- DB2 - 問答
- DB2 - 快速指南
- DB2 - 有用資源
- DB2 - 討論
DB2 - 例項
簡介
例項是 DB2 資料庫管理器的邏輯環境。使用例項,您可以管理資料庫。根據我們的需求,您可以在一臺物理機器上建立多個例項。例項目錄的內容為
- 資料庫管理器配置檔案
- 系統資料庫目錄
- 節點目錄
- 節點配置檔案 [db2nodes.cfg]
- 除錯檔案,轉儲檔案
對於 DB2 資料庫伺服器,預設例項為“DB2”。建立例項目錄後,無法更改其位置。一個例項可以管理多個數據庫。在一個例項中,每個資料庫都有一個唯一的名稱,它自己的一組目錄表、配置檔案、許可權和特權。
DB2 產品中例項的架構

多個例項
您可以在 Linux、UNIX 和 Windows 上的一個 DB2 伺服器上建立多個例項。可以在物理機器上安裝多個 DB2 伺服器。
在 Linux 上建立例項
如果 DB2 伺服器以 root 使用者身份安裝,則可以在 Linux 和 UNIX 上建立多個例項。例項可以在 Linux 和 UNIX 上獨立地同時執行。您一次只能在一個數據庫管理器的例項中工作。
例項資料夾包含資料庫配置檔案和資料夾。例項目錄儲存在 Windows 上的不同位置,具體取決於作業系統版本。
列出例項
以下命令用於列出例項
db2ilist
此命令列出系統上所有可用的例項。
語法
db2ilist
示例:[檢視 DB2 副本中建立了多少個例項]
db2ilist
輸出
db2inst1 db2inst2 db2inst3
例項環境命令
這些命令對於使用 DB2 CLI 處理例項的安排很有用。
獲取例項
此命令顯示當前正在執行的例項的詳細資訊。
語法
db2 get instance
示例:[檢視啟用當前使用者的當前例項]
db2 get instance
輸出
The current database manager instance is : db2inst1
設定例項
要在 DB2 UDB 上啟動或停止例項的資料庫管理器,請對當前例項執行以下命令。
語法
set db2instance=<instance_name>
示例:[將“db2inst1”環境安排給當前使用者]
set db2instance=db2inst1
db2start
使用此命令,您可以啟動例項。在此之前,您需要執行“set instance”。
語法
db2start
示例:[啟動例項]
db2start
輸出
SQL1063N DB2START processing was successful
db2stop
使用此命令,您可以停止正在執行的例項。
語法
db2stop
輸出
SQL1064N DB2STOP processing was successful.
建立例項
讓我們看看如何建立一個新例項。
db2icrt
如果要建立新例項,則需要以 root 身份登入。例項 ID 不是 root ID 或 root 名稱。
以下是建立新例項的步驟
步驟 1:為例項建立一個作業系統使用者。
語法
useradd -u <ID> -g <group name> -m -d <user location> <user name> -p <password>
示例:[在組“db2iadm1”中為名為“db2inst2”的例項建立使用者,密碼為“db2inst2”]
useradd -u 1000 -g db2iadm1 -m -d /home/db2inst2 db2inst2 -p db2inst2
步驟 2:轉到 root 使用者的 DB2 例項目錄以建立新例項。
位置
cd /opt/ibm/db2/v10.1/instance
步驟 3:使用以下語法建立例項
語法
./db2icrt -s ese -u <inst id> <instance name>
示例:[在使用者“db2inst2”中建立名為“db2inst2”的新例項,並具有“ESE”(企業伺服器版)的功能]
./db2icrt -s ese -u db2inst2 db2inst2
輸出
DBI1446I The db2icrt command is running, please wait. …. ….. DBI1070I Program db2icrt completed successfully.
安排例項的通訊埠和主機
編輯 /etc/services 檔案並新增埠號。在以下語法中,“inst_name”表示例項名稱,“inst_port”表示例項的埠號。
語法
db2c_<inst name> <inst_port>/tcp
示例:[為名為“db2inst2”的例項新增“50001/tcp”埠號,並在“services”檔案中使用變數“db2c_db2inst2”]
db2c_db2inst2 50001/tcp
語法 1:[使用服務名稱更新資料庫管理器配置。以下語法“svcename”表示例項服務名稱,“inst_name”表示例項名稱]
db2 update database manager configuration using svcename db2c_&<inst_name>
示例 1:[使用值為“db2c_db2inst2”的變數 svcename 更新 DBM 配置,用於例項“db2inst2”]
db2 update database manager configuration using svcename db2c_db2inst2
輸出
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
語法 2:為當前例項設定“tcpip”通訊協議
db2set DB2COMM=tcpip
語法 3:[停止並啟動當前例項以獲取資料庫管理器配置的更新值]
db2stop db2start
更新例項
您可以使用以下命令更新例項
db2iupdt
此命令用於在同一版本發行版中更新例項。在執行此命令之前,您需要使用“db2stop”命令停止例項資料庫管理器。以下語法“inst_name”表示您要更新到更新版本或已安裝的 DB2 伺服器版本的先前釋出或已安裝的 db2 伺服器例項名稱。
語法 1:以正常模式更新例項
db2iupdt <inst_name>
示例 1
./db2iupdt db2inst2
語法 2:以除錯模式更新例項
db2iupdt -D <inst_name>
示例
db2iupdt -D db2inst2
升級例項
您可以將例項從 DB2 副本的先前版本升級到當前新安裝的 DB2 副本版本。
db2iupgrade
在 Linux 或 UNIX 系統上,此命令位於 DB2DIR/instance 目錄中。在以下語法中,“inst_name”表示先前版本的 DB2 例項,“inst_username”表示當前安裝版本的 DB2 副本例項使用者。
語法 2:
db2iupgrade -d -k -u <inst_username> <inst_name>
示例:
db2iupgrade -d -k -u db2inst2 db2inst2
命令引數
-d:開啟除錯模式。
-k:如果在您執行此命令的 DB2 副本中支援預升級例項型別,則保留該型別。
如果您在 Linux 上使用超級使用者 (su) 執行 db2iupgrade 命令,則必須使用“-”選項發出“su”命令。
刪除例項
您可以刪除或刪除由“db2icrt”命令建立的例項。
db2idrop
在 Linux 和 UNIX 作業系統上,此命令位於 DB2_installation_folder/instance 目錄中。
語法:[在以下語法中,“inst_username”表示例項的使用者名稱,“inst_name”表示例項名稱]
db2idrop -u <inst_username> <inst_name>
示例:[刪除 db2inst2]
./db2idrop -u db2inst2 db2inst2
使用其他例項命令
查詢我們現在正在使用的 DB2 例項的命令。
語法 1:[檢查資料庫管理器啟用的當前例項]
db2 get instance
輸出
The current database manager instance is: db2inst1
語法 2:[檢視當前例項的操作位和發行版]
db2pd -inst | head -2
示例
db2pd -inst | head -2
輸出
Instance db2inst1 uses 64 bits and DB2 code release SQL10010
語法 3:[檢查當前工作例項的名稱]
db2 select inst_name from sysibmadm.env_inst_info
示例
db2 select inst_name from sysibmadm.env_inst_info
輸出
INST_NAME -------------------------------------- db2inst1 1 record(s) selected.
語法:[將新例項設定為預設例項]
db2set db2instdef=<inst_name> -g
示例:[將新建立的例項作為預設例項]
db2set db2instdef=db2inst2 -g