一般問題

當您使用 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 檔必須有副檔名 sqlddl。 Script 檔也可以包含部分 DB2 指令及公用程式。「執行 SQL」精靈會根據副檔名採取不同的動作。嘗試從副檔名不是 sqlddl 的 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 編輯器」所進行的資料庫變更(在產品外進行),不會自動反映在「管理瀏覽器」及「物件清單」中。若要查看更新,您需要重新整理資料庫的連線,或重新整理「管理瀏覽器」中資料庫下的其中任何一個物件類型資料夾。
關閉自動索引鍵移轉
依預設會開啟索引鍵移轉。在您新增外部索引鍵時,如果直欄新增至母表格,請關閉自動索引鍵移轉,以刪除此行為。若要關閉自動索引鍵移轉,請完成下列步驟:
  1. 從主功能表,按一下視窗 > 喜好設定
  2. 往下探查整個資料管理,然後展開索引鍵移轉
  3. 按兩下新增時
  4. 清除自動移轉索引鍵勾選框,按一下套用,然後按一下確定
變更管理 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
  • 解除靜止
  • 更新
  • 更新選項

意見