DB2物理體系結構講解
1 DB2 物理體系結構
1.1 主要對象層次關系
系統 –> 實例 –> 數據庫
對象 名詞解釋 相互關系 備注
系統
體系結構中的最高層, DB2產品安裝版本 一個系統可創建多個實例 一臺機器上可安裝多個DB2版本, 即多版本共存;
環境變量DB2PATH: (db2set –all查看) DB2 數據庫產品安裝目錄
實例
DB2的獨立運行環境, 包括一組進程/線程、共享內存; 數據庫及其對象和DB2代碼間的聯系和結合 一個實例可管理多個數據庫, 刪除實例并不刪除數
據庫(Share Nothing 架構), 但一個數據庫只能屬于一個實例 實例是”邏輯”的,類似于”服務”概念; 實例間彼此相互獨立, 互不影響 數據庫 信息的物理存儲, 文件集合
數據庫
是”物理”的,數據庫對象(如:表、索引)占用物理存儲空間
是”物理”的,數據庫對象(如:表、索引)占用物理存儲空間
注: Share Nothing VS Share Disk
并行架構 應用架構 擴展方式 優勢 典型代表
Share Nothing MPP OLAP Scale Up 可擴展性 Teradata DB2
Share Disk Cluster OLTP Scale Out 高可用性 (ORACLE RAC Sybase IQ)
1.2 數據庫連接
1.2.1 通信服務協議
Type PR Value Remark
Local Connection IPC(進程間通信)
Remote Connection TCP/IP DB2COMM 注冊變量(db2set –all查看)設置
Remote Connection TCP/IP DB2COMM 注冊變量(db2set –all查看)設置
db2set DB2COMM=TCPIP
V9.5 后唯一支持的
通信協議
1.2.2 通信服務名稱和端口
Num Opt Example
1 獲取TCP/IP 服務名稱 、服務端口 db2 get dbm cfg | find “svcename” /i db2c_DB2
2 獲取TCP/IP 服務名稱 、服務端口 若參數值為svcename, 則需要查詢TCP/IP services文件,獲取服務端口
/* Windows */ %systemRoot%\system32\drivers\etc\services
/* Windows */ %systemRoot%\system32\drivers\etc\services
/* Linux / Unix */ /etc/services db2c_DB2 50000/tcp
注: TCP/IP services
文件中尋找對應的
key/value條目
參數值為port_name 50000 注: 查看服務器端口狀態 Netstat –ab
參數值為port_name 50000 注: 查看服務器端口狀態 Netstat –ab
注: db2 get dbm cfg [service name | port name]; 需重啟實例生效
1.2.3 編目
遠程數據庫連接需要先編目節點(機器), DB2采用先編目再輸入認證信息(用戶名和密
碼)來建立數據庫連接。
1、編目(Catalog): 在客戶端注冊要訪問的節點(機器)及其數據庫, 先注冊節點再注冊其
上的數據庫。
2、取消編目(UnCatalog): 編目的反操作, 先取消數據庫編目再取消節點編目。
Opt CATALOG UNCATALOG
(Local Catalog )CATALOG LOCAL NODE <node name> [INSTANCE <instance name>] [SYSTEM <system name>] [OSTYPE <os type>]; LIST NODE DIRECTORY SHOW DETAIL; CATALOG DB <db name> [AS alias] ON <driver>; LIST DB DIRECTORY SHOW DETAIL ON < driver>;
UNCATALOG NODE <node name>;
(Remote Catalog ) CATALOG TCPIP NODE <node name> REMOTE <ip address> SERVER <port> REMOTE_INSTANCE <node name> OSTYPE <NT>;
LIST NODE DIRECTORY SHOW DETAIL;
CATALOG DB <db name> [AS alias] AT NODE <node name>];
LIST DB DIRECTORY SHOW DETAIL UNCATLOG DB <db name>;
注: 編目操作類似于Oracle 本地Net 服務名配置 tnsname.ora, 但操作無法驗證編目
信息是否正確(無論編目信息是否正確都能注冊), 只能通過輸入認證信息建立數據庫連
接才能測試是否注冊成功。
1.3 實例管理
1.3.1 實例目錄
默認DB2INSTPROF(db2set –all查看) 注冊變量路徑, 實例目錄下的主要文件及目錄:
1、$HOME\SQLDBDIR:數據庫編目,使用db2 list db directory 查看
2、$HOME\SQLNODIR:節點編目,使用db2 list node directory 查看
3、db2nods.cfg:節點配置文件
4、診斷文件db2diag.log、數據庫錯誤日志、安全配置等信息
4、診斷文件db2diag.log、數據庫錯誤日志、安全配置等信息
1.3.2 實例配置
對實例目錄下二進制數據庫管理配置文件db2systm進行查看、更改和重置。
Opt Windows Remark
List db2 get dbm cfg 數據庫管理配置文件: $INSTANCE_HOME\ db2systm
Update db2 update dbm cfg using <param name> <param value> 絕大部分實例參數更改需要重啟實例生效
db2 update dbm cfg using <param name> NULL 設置參數為空
Reset db2 reset dbm cfg 配置參數復位(初始化為默認值)
1.3.3 實例操作
Opt Windows Remark Create
db2icrt <instance name> -p <InstProfPath> -p: 實例目錄路徑, 若省略則默認 DB2INSTPROF(db2set –all查看) 注冊變量路徑
List /* 查看當前實例 */ db2 get instance /* 查看所有可用實例 */ db2ilist 可采用DB2INSTANCE操作系統環境變量查看: echo %db2instance% (Windwos)
List /* 查看當前實例 */ db2 get instance /* 查看所有可用實例 */ db2ilist 可采用DB2INSTANCE操作系統環境變量查看: echo %db2instance% (Windwos)
echo $db2instance (Linux/Unix)
Set set db2instance=<instance name> set db2instance 1、 DB2INSTANCE操作系統環境變量,類似于ORACLE中的ORACLE_SID, 用于實例切換 2、 “=” 左右絕對不能包含空格
Start db2 db2start win7環境中啟停、刪除、更新等操作會遇DB21009E錯誤,需要”管理員權限”才能啟動此命令;
解決方法:應用db2cmdAdmin進入db2CLP
Stop db2 force application all db2 db2stop [force]
解決方法:應用db2cmdAdmin進入db2CLP
Stop db2 force application all db2 db2stop [force]
Upgrade db2 force application all; db2 db2stop [force];
db2iupdt <instance name> -p < InstProfPath>;
1、 更新前需停止該實例上運行的所有進
程
2、 更新前需先停止實例
3、 -p: 更新實例目錄路徑
4、 適用于數據庫小版本升級
Drop db2 force application all; 1、 刪除前需停止該實例上運行的所有進程
db2 db2stop [force];
db2idrop <instance name>;
2、 刪除前需先停止實例
3、 刪除實例并完全刪除實例目錄(還包含
db2diag.log等文件), 需手工處理
Attach db2 attach to <instance name> 連接到遠程實例
Detach db2 detach 斷開遠程實例連接
1.4 管理服務器DAS
DAS (Database Administration Server) 配合DB2圖形界面完成對遠程數據庫的操作,
一個系統下僅能有一個DAS, 所有DB2副本都使用1個DAS, 同時管理多個實例。
1.4.1 管理服務器配置
Opt Windows Remark
List db2 get admin cfg 數據庫管理配置文件: $INSTANCE_HOME\ db2systm
Update db2 update admin cfg using <param name> <param value> 某些情況下管理器配置參數更改需要重啟管理服務器生效
db2 update admin cfg using <param name> NULL 設置參數為空
Reset db2 reset admin cfg 配置參數復位(初始化為默認值)
1.4.2 管理服務器操作
Opt Unix(Linux) Windows Remark
List dasilist db2admin
win7 環境中, 啟停、刪除等操作會遇
DB21009E錯誤,需要”管理員權限”才能啟
動此命令; 解決方法:應用db2cmdadmin
進入db2CLP
Start db2admin start
Stop db2admin stop
Create dasicrt db2admin create
Drop dasidrp db2admin drop
備注: 由于DB2 V9.7 后, db2cc(控制中心) \ db2tc(任務中心) 等圖形界面逐漸被IBM
Data Studio \ IBM Optim 所取代, 建議在不使用圖形界面操作時候關閉此服務。
posted on 2014-01-29 00:21 順其自然EVO 閱讀(1550) 評論(0) 編輯 收藏 所屬分類: db2