安裝與配置
在 Linux 下重新安裝 DB2 之後無法建立 DB2INST1 的執行個體,提示已經存在
解決辦法:刪除 /var/db2/v81 目錄,再重新建立執行個體;
原因分析:在重新安裝 DB2 之前,需要卸載原 DB2 安裝環境,其中很重要的一步就是,使用 db2idrop 命令刪除 DB2INST1 執行個體, 如果不刪除,再次安裝 DB2 之後,則無法建立相同名稱的資料庫執行個體。db2idrop 命令在 /opt/IBM/db2/V8.1/instance 目錄下,以下為樣本:
清單 1. db2idrop 命令樣本
/opt/IBM/db2/V8.1/instance/db2idrop db2inst1
在Solaris 5.8 下安裝 DB2 後卻無法建立執行個體,提示 shmmax 需要調整
解決辦法:編輯 /etc/system 檔案,修改共用記憶體參數和訊息佇列值,重啟機器後再建執行個體;
原因分析:DB2 在 UNIX 系統上需要使用 IPC 通訊,所以核心參數共用記憶體和訊息佇列是關鍵計量,如果不能達到 DB2 要求數量,則 DB2 無法正常工作,其具體數字不易記憶,但可以查看 db2diag.log,裡面記錄了 DB2 所需要的具體數字,依照該數字更新核心參數即可。
DB2 Runtime Client 可否不安裝開發套件,只安裝足夠用戶端工作的組件,以方便類比客戶實際應用環境進行測試?
解決辦法:DB2 Runtime Client並不包含開發套件。其功能就是只提供用戶端工作的組件包。
一個裸裝置無法同時分配給兩個資料庫,這樣無法建立兩個資料庫伺服器共用同一個裸裝置
解決辦法:把這兩個資料庫分別建在不同的執行個體上,將其中一個執行個體停下,第二個執行個體啟動,分配裸裝置給該活動執行個體上的資料庫,分配完畢後將活動執行個體停下,啟動第一個執行個體,重複先前分配裸裝置的操作到第一個執行個體,即可實現當一個資料庫停下時,該裸裝置資料可以完全被另外一個資料庫接管,從而實現共用。
原因分析:一個容器是無法同時分配給兩個活動資料庫的。必須針對兩個執行個體來操作,分配給一個執行個體時另一個執行個體必須處於不活動狀態。
在 Linux 上 DB2 安裝完成後,不能綁定 License,報 DBI1430N 錯誤
解決辦法:
1.更新系統時間到目前時間。使用 Linux 中的 DATE 命令;
2.使用 db2licm 命令綁定 License:
清單 2. 綁定 License 命令樣本
./db2licm -a db2ese.lic
在Linux 上 DB2 執行個體建立不成功,返回錯誤碼 DBI1281E
解決辦法:正確設定主機名稱;
原因分析:DB2 建立執行個體時要取主機名稱,如果主機名稱設定不正確,則會報告無法初始化執行個體的錯誤,也就是 DBI1281E,可以首先用 uname 或者 hostname 查看是否有主機名稱,進一步可以用 ping 命令驗證主機名稱是否正確,如果 ping 不通則不正確,還可以檢查 /etc/hosts 查看 IP 和主機名稱的對應關係是否正確。