當您使用 Optim™ Database
Administrator 時,會發生一些一般問題。
- 尋找 DB2® 實例名稱
- 需要 IBM® Data
Server Client 的變更指令會要求 DB2 實例名稱。Optim Database
Administrator 將從連線偵測實例名稱。在 Windows® 系統上,實例名稱一般為 DB2。在 UNIX® 系統上,實例名稱一般是用來安裝 DB2 的 ID。例如,db2inst95。安裝環境可以不同。
- 轉遞工程
- 當您轉遞工程變更時,請務必檢查從其他物件(例如,視圖、具體化查詢表格以及別名)衍生之物件的 DDL,以確定解析正確的相依物件。DB2 會將部分衍生物件的 CREATE 陳述式儲存在型錄中(與指定該陳述式時一模一檥)。如果這些陳述式的建立者沒有完整指定綱目名稱,則會假設是現行的登入。在轉遞工程程序期間,如果現行的登入不同,CREATE 陳述式便可能會失敗。若要解決此問題,請在變更物件時使用相同的建立者 ID,在 DDL 中完整指定相依物件,或將語法 SET
CURRENT SCHEMA 新增到指令前面。
例如,若您產生 CREATE VIEW 指令,類似 CREATE VIEW MYSCHEMA.VIEW
AS SELECT * FROM MYTABLE;,且 MYTABLE 實際上屬於稱為 DB2 的綱目,則當部署此指令時,DB2 會在現行的登入名稱下尋找 MYTABLE。您可以會得到一個錯誤,說明未定義 loginname.MYTABLE。如果您在 CREATE VIEW MYSCHEMA.VIEW AS SELECT * FROM MYTABLE 語法前面,新增 SET CURRENT SCHEMA=DB2 陳述式,便會正確解析所有參照的物件。
當
Optim Database
Administrator 在計算衍生物件的正確 CREATE 陳述式順序時(該衍生的物件包含其他衍生物件的名稱,但不含完整的綱目名稱),
Optim Database
Administrator 可能會以錯誤的順序放置那些陳述式。若要解決此問題,您可能需要:
- 確定用來產生變更指令的登入同於用來建立資料庫物件的登入。
- 在「SQL 及 XQuery 編輯器」中開啟產生的指令,然後以正確的順序放置陳述式。
- 測試伺服器連線功能
- 您可以在「管理瀏覽器」視圖中建立資料庫連線,以測試您的伺服器連線功能。
- 模型驗證
- 如果 Optim Database
Administrator 在實體資料模型中偵測到錯誤,則會記錄在「問題」視圖中。如果看不到「問題」視圖,您可以從主功能表中選取,即可開啟「問題」視圖。或者您可以從鍵盤輸入 Alt+shift+Q、X,以開啟該視圖。按兩下問題即可檢視其他詳細資料。
- 變更管理 Script 驗證
- 如果 Optim Database
Administrator 在變更管理 Script 中偵測到錯誤,則會記錄在「問題」視圖中。如果看不到「問題」視圖,您可以從主功能表中選取,即可開啟「問題」視圖。或者您可以從鍵盤輸入 Alt+shift+Q、X,以開啟該視圖。按兩下問題即可檢視其他詳細資料。
- 變更指令驗證
- 如果 Optim Database
Administrator 在「變更管理 Script 編輯器」的「指令」區段中,偵測到變更指令的錯誤,則會記錄在「錯誤日誌」視圖中。如果看不到「錯誤日誌」視圖,您可以從主功能表中選取,即可開啟「錯誤日誌」視圖。或者您可以從鍵盤輸入 Alt+shift+Q、L,以開啟該視圖。按兩下錯誤即可檢視其他詳細資料。
- 刪除「資料專案瀏覽器」中的資源
- 有時,甚至在「資料專案瀏覽器」中刪除資源之後,可能還是會看到該資源。您可能必須先關閉再重新開啟編輯器,才能重新整理。您可以從主功能表中,藉由選取,來開啟編輯器。
- 使用「比較編輯器」時缺少螢幕空間
- 「比較編輯器」需要不少空間。若要將「比較編輯器」放到最大,請按兩下開啟編輯器的標籤。在 Windows 系統上,快速鍵為 Alt+-、X。
- 尋找資料物件
- 如果您知道資料物件所在的實體資料模型,請在「資料模型編輯器」中開啟該模型。在此編輯器中,您可以在過濾器欄位中輸入文字,以過濾清單並快速移至物件、使用「尋找」(Ctrl+F) 來尋找物件,或往下探查以尋找物件。如果您不知道物件在哪一個模型中,請使用「搜尋」(Ctrl+H)。結果會顯示在「搜尋」視圖中。按兩下物件即可在編輯器中開啟。
- 「執行 SQL」精靈視副檔名而定
- SQL Scripts 資料夾中的 SQL Script 檔必須有副檔名 sql 或 ddl。
Script 檔也可以包含部分 DB2 指令及公用程式。「執行 SQL」精靈會根據副檔名採取不同的動作。嘗試從副檔名不是 sql 或 ddl 的 Script 檔,執行 DB2 指令及公用程式時,會導致錯誤。
- 部署卸載及重新載入指令
- 如果在部署卸載或重新載入指令時發生錯誤,則 SQL 程式碼會一直是 -22220。這個程式碼表示 IBM Data
Server Client 在 Script 中發現錯誤。錯誤的確切原因由錯誤碼所指定。錯誤碼會出現在資料輸出視圖中。您可以在《DB2 訊息參照》手冊中,找到特定錯誤碼的詳細說明。
重新載入指令錯誤- 錯誤碼 3088
- 指定要載入資料庫直欄名稱的來源直欄與資料庫直欄不相容,但資料庫直欄不可為空值。
來源表格 tblA:col1 int、col2 int、col3 varchar(5)、col4
num(6, 2)
目標表格(載入的表格)tblB:col2 int、col3 varchar(5)、
col4 num(6, 2) 非空值。
如果您在卸載期間選取所有列,則因為資料類型不符,因此在重新載入期間,VARCHAR 值會無法插入目標表格的 col4。請以下列其中一個方法修正此問題:
- 編輯資料檔。
- 使用「自訂資料保留」精靈,在卸載陳述式中選取 tblA 的最後三個直欄。視需要使用精靈來新增直欄函數。
- 錯誤碼 3124
- 列 "2" 及直欄 "3" 中的欄位值不可轉換成 PACKED DECIMAL 值,但目標直欄不可為空值。
沒有載入列。
- 錯誤碼 3196
- 找不到輸入檔。如果資料檔位於執行卸載指令的遠端機器上,則您必須從「資料專案瀏覽器」重新發出重新載入指令。請確定資料檔已傳送至執行重新載入指令的機器上,然後從「資料庫案瀏覽器」選取重新載入指令檔,例如,xxx_import.chx,按一下滑鼠右鍵,再選取執行 SQL,以完成重新載入。
卸載指令錯誤- 錯誤碼 3025
- 指定檔名或路徑的參數無效。因為重新載入及卸載指令很可能在遠端系統上執行,因此 Optim Database
Administrator 不會驗證指定的路徑是否存在。若要避免資料流失,請確定該路徑是有效的。您也可以在部署 Script 之前,從專案瀏覽器執行卸載指令。
- 錯誤碼 3304
- 表格不存在。卸載指令必須在捨棄表格之前發出。在部署 Script 之前,需要先在「變更管理 Script 編輯器」的「指令」區段中,驗證指令的順序。預設的資料檔案類型為 DEL(「有區隔字元的 ASCII」,以便與許多資料庫管理程式及檔案管理程式交換)。
必要的話,您可以將檔案類型變更成 IXF。
如果錯誤碼不在資料輸出視圖中,則您可以在「管理」通知日誌檔 (db2dasdiag.log) 中找到錯誤碼。如需相關資訊,例如,此檔案的位置,請參閱 DB2 資訊中心。
- 在資料移轉期間對映卸載及重新載入表格
- 在 Linux® 系統上,按兩下動作無法正常運作。
您可以改用快速鍵存取來編輯您的資料保留項目。輸入 'e' 索引鍵或輸入 Shift-F10,以編輯選定的項目。
此編輯動作會將焦點放在第一個直欄(例如,「Export 指令」)的 Cell 編輯器上。按下 'Enter" 鍵即可將焦點移至第二個直欄(重新載入指令)的 Cell 編輯器中。
- 因為鎖定要求數上限而導致部署變更指令失敗
- 如果您在部署變更指令時接收到錯誤碼 SQL0912N,則您可以採取下列動作來解決問題:
重要: 部署變更指令之前,先停止並重新啟動 DB2。如果您沒有重新啟動 DB2,則您可能仍會接收到 SQL0912N 錯誤。
- 因為有太多作用中的資料庫連線而導致部署變更指令失敗
- DB2 會限制一次可作用的資料庫連線數目。資料庫管理程式配置參數 NUMDB 會判斷數目上限,依預設為 8。
在您達到「資料來源瀏覽器」中的最大連線數之後,便無法建立新的連線。
因此,當您嘗試部署變更指令時,指令可能會失敗。來自 DB2 的錯誤訊息為「在 Script 檔中發生錯誤」。
這個錯誤是因為有太多 DB2 連線而造成的。從「資料來源瀏覽器」刪除其中一個未用或少用的連線,或考慮增加 NUMDB 的大小。
- 「管理瀏覽器」及「物件清單」不會自動反映資料庫變更
- 不是使用「資料物件編輯器」或「變更管理 Script 編輯器」所進行的資料庫變更(在產品外進行),不會自動反映在「管理瀏覽器」及「物件清單」中。若要查看更新,您需要重新整理資料庫的連線,或重新整理「管理瀏覽器」中資料庫下的其中任何一個物件類型資料夾。
- 關閉自動索引鍵移轉
- 依預設會開啟索引鍵移轉。在您新增外部索引鍵時,如果直欄新增至母表格,請關閉自動索引鍵移轉,以刪除此行為。若要關閉自動索引鍵移轉,請完成下列步驟:
- 從主功能表,按一下。
- 往下探查整個資料管理,然後展開索引鍵移轉。
- 按兩下新增時。
- 清除自動移轉索引鍵勾選框,按一下套用,然後按一下確定。
- 變更管理 Script 缺少舊版相容性
- 在 Optim Database
Administrator 2.2.3 版的「變更管理 Script 編輯器」中建立或編輯的變更指令 Script,與舊版的 Optim Database
Administrator 不相容。
- 支援在舊版 Optim Database
Administrator 中建立的專案及變更管理 Script
- 只有在 Optim Database
Administrator 2.2.1 版或更新版本中建立的資料設計專案及變更指令 Script,才與 Optim Database
Administrator 2.2.3 版相容。Optim Database
Administrator 2.2.3 版會將專案中的檔案轉換成使用的新格式。
在轉換期間所發生的錯誤會顯示出來。系統會提示您繼續或取消轉換。如果您選擇繼續轉換,則會忽略導致問題的物件,而且只會保留有效的物件。
- 使用在舊版 Optim Database
Administrator 建立的工作區時不會開啟「管理瀏覽器」
- Optim Database
Administrator 2.2.3 版支援在舊版 Optim Database
Administrator 中建立的工作區。
然而,第一次使用在舊版建立的工作區時,並不會開啟「管理瀏覽器」。若要開啟「管理瀏覽器」,請在主功能表上,按一下。如果您在清單中沒有看到「管理瀏覽器」,請按一下其他,展開資料,選取管理瀏覽器,再按一下確定。
這時會開啟「管理瀏覽器」。當您重新使用此工作區時,便會顯示「管理瀏覽器」。
- 使用 Kerberos 鑑別時指令不會執行
- 使用 Secure Shell (SSH) 通訊協定來存取遠端資料庫伺服器時,通訊協定會根據基礎 RXA 及 RSE 程式庫。
這些程式庫都不支援 Kerberos 鑑別。
如果您使用 Kerberos 鑑別,則
Optim Database
Administrator 中不支援下列作業:
- 啟動
- 新增資料庫分割區
- 備份資料庫
- 編目
- 建立資料庫
- db2set
- 捨棄資料庫
- 捨棄資料庫分割區號碼
- 匯出
- 強制終止
- 取得
- 取得實例
- HADR 設定
- 匯入
- 載入
- 靜止
- 重新連結
- 回復
- 重組
- 重新啟動
- 還原
- 漸進式轉遞
- 執行狀態
- 設定用戶端
- 啟動實例
- 停止實例
- 停止 RollForward
- 解除靜止
- 更新
- 更新選項