重裝 DB2 後需設定編譯環境變數以確保預存程序可編譯。將 set_cpl 腳本放至 AIX,賦予執行權限後執行:
chmod +x set_cpl
./set_cpl
set_cpl 內容:
db2set DB2_SQLROUTINE_COMPILE_COMMAND="xlc_r -g \
-I$HOME/sqllib/include SQLROUTINE_FILENAME.c \
-bE:SQLROUTINE_FILENAME.exp -e SQLROUTINE_ENTRY \
-o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -lc -ldb2"
db2set DB2_SQLROUTINE_KEEP_FILES=1
db2 => list command optionsdb2 => update command options using C off(或 on)db2 => db2set db2options=+c(或 -c)全域設定:
DB2SET DB2_SQLROUTINE_PREPOPTS=CS|RR|RS|UR
互動式 Session 設定(需在未連線狀態下執行):
db2 change isolation to UR
get db cfg for headget dbm cfgdb2 bind @db2ubind.lst
db2 bind @db2cli.lst
使用命令中心互動式查詢時會施加共享鎖(S 鎖),若同時嘗試更新(需排他鎖 X 鎖)則會發生鎖等待。
db2 update dbm cfg using dft_mon_lock ondb2 get snapshot for Locks on cleardb > snap.logsnap.log,依 Application handle 追蹤各應用程式鎖狀況db2 update dbm cfg using dft_mon_lock off