SQL3500 - SQL3749
SQL3500W 公用程式在 timestamp 時開始 phase 階段。
解說
這是指示一個階段將要開始且前一個階段已結束的通知訊息。 這些階段包括(以出現的順序排列):
- ANALYZE
- LOAD
- BUILD
- DELETE
在 ANALYZE 階段期間,如果 LOAD 指令的目標表格是直欄組織表格,則會建置壓縮定義檔。在 LOAD 階段,資料載入至表格中。若要建立索引,BUILD 程序跟在 LOAD 程序之後。若找到專用索引的重複鍵,DELETE 程序跟在 BUILD 程序之後。
若 LOAD 尚未結束即終止,您需要知道在哪個階段重新啟動 LOAD。
使用者回應
不需要任何動作。
SQL3501W 由於禁止資料庫向前回復,所以表格常駐的表格空間將不放入備份懸置狀態。
解說
呼叫 LOAD 時指定了 COPY NO, 導致表格常駐的表格空間進入備份懸置狀態,除非停止繼續備份資料庫。
公用程式繼續執行。
使用者回應
不需要任何動作。
SQL3502N 公用程式發生 number 個警告,已超出容許的警告總數。
解說
指令期間發出的警告數已超出使用者呼叫公用程式時指定的警告總數。
公用程式終止。
使用者回應
用適當的選項載入正確的資料,或增加容許的警告數。重新提交指令。
SQL3503W 公用程式已載入 number 個橫列,等於使用者指定的總計和。
解說
載入的橫列數已等於使用者在呼叫公用程式時指定的總橫列數。
公用程式已順利完成。
使用者回應
不需要任何回應。
SQL3504W 正在建立一致點。
解說
- 已到達保存在記憶體或暫時檔中的 meta-data 總數的臨界值。
- 複製 image 發生裝置錯誤,必須終止載入。
使用者回應
在此訊息後若繼續執行 LOAD,則不需要任何動作。若 LOAD 終止,請更正所有錯誤(如啟動裝置,或縮短建立一致點的間隔)後重新啟動。
SQL3505N filetmod 中指定的 RECLEN 選項長度,不在 1 至 32767 的有效範圍內。
解說
在filetmod 參數中,已為 ASC 檔指定了 RECLEN 參數。指定的長度無效。
使用者回應
更正長度並重新提交指令。
SQL3506W 在第 row-number 列和第 column-number 欄中,空值指示器中指定的值無效。將假設一個 'N'值。
解說
ASC 檔可對每個資料直欄指定一個空值指示器直欄,包含 'Y' 或 'N'。'Y' 表示直欄為空值,'N' 表示直欄有資料。若空值指示器直欄中沒有這些值,則假定為 'N',將資料載入至直欄中。
使用者回應
若資料或空值指示器不正確,請更正輸入檔並重新提交指令。
SQL3507N 指定給空值指示器的橫列數不在 0 到 32767 的有效範圍內,或空值指示器參數無效。
解說
在null_ind 參數中為 ASC 檔指定的空值指示器直欄無效,或為空值指示器傳入的指標無效。
使用者回應
更正參數並重新提交指令。
SQL3508N 在載入或載入查詢期間,存取類型 file-type 的檔案或路徑時,發生錯誤。原因碼:reason-code。 路徑:path/file。
解說
在載入或載入查詢處理程序期間,試圖存取檔案時出錯。公用程式停止處理。
使用者回應
載入時,如果表格空間不在載入懸置狀態下,請更正問題並再次呼叫載入公用程式。 如果表格處於載入擱置狀態,請以 RESTART 或 REPLACE 模式呼叫載入公用程式,或者還原表格空間的備份。可透過 LOAD QUERY 指令來決定表格空間的狀態。
以下為原因碼清單:
- 1
不能開啟檔案。
這可能由於檔案名稱不正確或無足夠的權限存取檔案/目錄而引起的。 請更正問題,然後重新啟動或重新執行載入。
載入暫存檔可能已毀損,或資料庫可能已從舊版備份還原。在這些情況下不支援 load restart。請使用 load terminate,使表格脫離載入擱置狀態。
- 2
不能讀取/掃描檔案。
這可能是硬體錯誤所致。如果錯誤是硬體錯誤,請採取適當的動作,再重新啟動或重新執行載入。
- 3
不能寫入檔案或變更檔案大小。
這可能是磁碟已滿或硬體錯誤所致。請參照此訊息後面所提供的檔案類型清單,並確保有足夠的空間來執行載入,或指定使用不同的位置。重新啟動,或者重新載入。 如果錯誤是硬體錯誤,請採取適當的動作,再重新啟動或重新執行載入。
- 4
檔案中有無效資料。
載入的檔案中有不正確的資料。請查看 TEMPFILES_PATH 的動作說明。
- 5
不能關閉檔案。
若載入不能重新啟動或者重新執行,則與 IBM 服務代表聯繫。
- 6
不能刪除檔案。
若載入不能重新啟動或者重新執行,則與 IBM 服務代表聯繫。
- 7
參數指定錯誤。請參照檔案類型清單,找出錯誤的參數,並用有效的參數重新載入。
下面是檔案類型清單:
- SORTDIRECTORY
確定指定正確的工作目錄參數。所有目錄的組合空間必須足夠儲存兩倍的已載入資料的索引鍵值大小。 載入插入和重新載入時,也必須有表格中現存資料的索引鍵值字大小兩倍的空間。
- MSGFILE
確定指定正確的訊息檔參數。必須有足夠的磁碟空間寫下載入期間出現的訊息。
若是載入查詢,請確保區域訊息檔參數不同於正在查詢狀態的載入訊息檔參數。
- TEMPFILES_PATH
請確定所指定的暫時檔路徑參數是正確的。
SQL3509W 公用程式已自表格中刪除 number 橫列。
解說
載入的表格若有唯一索引,引起唯一索引違例的橫列將在刪除階段自表格中刪除。此訊息指出刪除了多少橫列。
使用者回應
不需要任何動作。
SQL3510N 排序階段的工作目錄不能存取。
解說
排序階段的一個或多個指定工作目錄不存在或沒有讀寫許可權。
使用者回應
確保指定的工作目錄已存在,設定適當的讀寫許可權後,重新提交指令。
SQL3511W 找不到在第 row-number 列和第 column-number 欄中命名的檔案。已載入 NULL。
解說
找不到指定欄位中的檔案名稱。可能是資料類型不符合。
就有定界字元的 ASCII (DEL) 檔而言,直欄號碼值會指出橫列中含有問題值的欄位。 就 ASCII 檔而言,直欄號碼值會指定問題值開始橫列中的位元組位置。
已載入空值。
使用者回應
請檢查輸入值。 必要時,請更正輸入檔,並重新提交此指令,或編輯表格中的資料。
SQL3512W 找不到在第 row-number 列和第 column-number 欄中命名的檔案,但是目標直欄不可為空值。未載入此橫列。
解說
找不到指定欄位中的檔案名稱。不能載入空值,因為表格中的輸出直欄不可為空值。
就有定界字元的 ASCII (DEL) 檔而言,直欄號碼值會指出橫列中含有問題值的欄位。 就 ASCII 檔而言,直欄號碼值會指定問題值開始橫列中的位元組位置。
未載入此橫列。
使用者回應
請更正輸入檔,並重新提交指令,或編輯表格中的資料。
SQL3513N 檔案的字碼頁不符合資料庫的字碼頁。無法載入檔案。
解說
DB2CS 檔案不能載入到與字碼頁與原始資料庫字碼頁不同的資料庫中。
使用者回應
變更資料庫字碼頁後重新提交此指令,或使用另一個檔案類型(如 PC/IXF),將原始資料庫資料移至新資料庫。
SQL3514N 發生公用程式系統錯誤。函數碼:function。 原因碼:reason-code。 錯誤碼:error-code。
解說
資料庫公用程式處理程序期間發生系統錯誤。
使用者回應
function 值不同,要求的動作也不同。
- 1 - 排序「載入」時出錯。
請試試重新啟動載入。若錯誤依然存在,請將功能、原因碼和錯誤碼提供給技術服務代表。
- 2 - 使用廠商排序公用程式時發生錯誤。
使用 IBM Data Server Client/DB2 Server 排序公用程式(不是廠商排序),再試一次。執行 時,請將伺服器的「設定檔登錄」值重設成空白。 可能需要重新啟動「資料庫管理程式」,才能採用「設定檔登錄」的新值。 若錯誤依然存在,請將功能、原因碼和錯誤碼提供給廠商排序技術服務代表。
SQL3515W 公用程式已在 timestamp 時完成 phase 階段。
解說
- LOAD
- BUILD
- DELETE
使用者回應
不需要任何動作。
SQL3516N 公用程式不能按指定重新載入。
解說
失敗前,「載入公用程式」在「載入」執行的最後一個一致點中偵測到差異。 這個狀況可能是系統錯誤和日誌檔無效引起的。
使用者回應
在 BUILD 階段重新啟動「載入」,使表格進入一致狀態,並建立索引(若適用),或用 REPLACE 選項執行「載入」。
SQL3517N 在輸入來源中讀取到一個非預期的記錄。
解說
公用程式發生一個格式無效的記錄。從原始來源複製時,來源可能已經被破壞。
處理終止。
使用者回應
以二進位形式從原始來源中複製記錄,然後重新啟動 LOAD 或「匯入」。
SQL3518N 來源中的資料與載入的表格不相容。
解說
- 表格定義與來源的表格定義不符合。
- 正在載入的表格平台,與建立來源的平台不同。
- 來源是從某個表格建立的,該表格的字碼頁不同於正在載入的表格。
使用者回應
確定指定正確的表格和來源。若要從一個不同定義的表格或從一個不同的平台或字碼頁載入資料,請使用 IXF 或 DEL 等的其他檔案類型。
SQL3519W 開始載入「一致點」。輸入記錄數 = count。
解說
「載入公用程式」試圖執行「一致點」,以落實已載入的表格資料。
使用者回應
如果未在此訊息後立即列印訊息 SQL3520W,表示「一致點」失敗。 必須在「建立」階段重新啟動「載入」, 確保表格回到一致狀態,所有索引(若存在)都已建立。然後,可以看看載入了哪些記錄。在 RESTARTCOUNT 上設定已成功載入的記錄數, 重新啟動「載入」,跳過這些橫列,載入檔案的剩餘部分。
若此訊息後面出現訊息 SQL3520W,表示此訊息僅供參考,無須回應。
SQL3520W 成功載入「一致點」。
解說
「載入」順利完成「一致點」。
使用者回應
此訊息僅供參考。 不需要任何回應。
SQL3521N 未提供輸入來源檔 sequence-num。
解說
以多個輸入檔呼叫一個載入,但未提供所有的檔案。DB2CS 檔案類型必須提供原來建立的所有輸入來源檔。IXF 檔案類型必須以正確順序提供所有輸入來源檔。
公用程式終止。
使用者回應
提供所有輸入來源檔,並根據已載入的資料設定 RESTARTCOUNT, 重新啟動公用程式。
SQL3522N 載入作業失敗,因為指定了 COPY YES 參數,但資料庫不使用可回復記載。
解說
您可以使用保存記載來啟用 Roll-Forward 回復。您可以使用資料庫配置參數 logarchmeth1 及 logarchmeth2,來配置日誌保存。
您可以使用 LOAD 指令,將資料載入表格中。您可以指定 LOAD 指令的 COPY YES 參數,以儲存已載入資料的副本。只有針對 Roll-Forward 回復而啟用的資料庫,才支援指定 LOAD 指令的 COPY YES 參數。
嘗試執行 LOAD 指令,指定 COPY YES 參數,但未針對 Roll-Forward 回復而啟用資料庫時,即會傳回此訊息。
使用者回應
請使用下列其中一種方式來回應此訊息:
- 針對 Roll-Forward 回復啟用資料庫,然後搭配使用 COPY YES 參數重新呼叫 LOAD 指令。
- 重新呼叫 LOAD 指令,不指定 COPY YES 參數。
SQL3523W 訊息檔中沒有訊息可擷取。原因碼:rc。
解說
- 1
- 沒有任何 LOAD 暫時訊息檔存在。
- 2
- LOAD 暫時訊息檔中沒有訊息。
使用者回應
請確定您已指定有效的表格名稱。 若指定的表格名稱正確無誤,而且都是預期的訊息,請檢查資料庫監視器, 驗證公用程式已在作用中,而且沒有在等待資源(如:鎖定資源)。 注意:LOAD 公用程式開始執行後,才會建立 LOAD 暫時訊息檔; 在 LOAD 公用程式完成後,就會將其刪除。
LOAD QUERY TABLE <tablename>忽略 TABLE 關鍵字將導致 load query 開啟一個名稱為 tablename 的二進位載入訊息檔案。
SQL3524N 選項 option 有無效值 value。
解說
- TOTALFREESPACE:此值的有效範圍是 0-100, 解譯成附加在表格尾部之空白頁在總頁數中占的百分比。
- PAGEFREESPACE:此值的有效範圍是 0-100, 解譯成每一個留下空白資料頁的百分比。
- INDEXFREESPACE:此值的有效範圍是 0-99, 解譯成每一個索引頁(載入索引時當做空白空間)的百分比。
公用程式停止處理。
使用者回應
更正此值,然後重新提交指令。
SQL3525N option-1 選項與 option-2 選項不相容。
解說
為公用程式提供的選項不相容。
使用者回應
請刪除或修改其中一個選項後,重新提交指令。如需有效選項的相關資訊,請參閱 Command Reference。
SQL3526N 修飾元子句 clause 與現行的 load 指令不一致。 原因碼:reason-code。
解說
指出的載入檔案類型模式 (修飾元)與您的載入/匯入/匯出指令不相容。 原因如下:
- 1
現行選項需要您指定 RECLEN 及 NOEOFCHAR 檔案類型修飾元。 您的指令中缺少一個或多個這些選項。
- 2
指出的選項(如 DEL 或 ASC)與輸入或輸出資料檔案的格式不一致。
- 3
已指定產生或識別相關檔案類型修飾元,但目標表格並未包含這種直欄。
- 4
若使用的是版本 8 之前的用戶端,則除非該直欄是在 CREATE INDEX 陳述式的 INCLUDE 子句中所指定,或是使用了 GENERATEDOVERRIDE 檔案類型修飾元,否則不可能在唯一索引中載入含有非識別產生直欄的表格。 對於版本 8 之前的用戶端,若是以 ORGANIZE BY 子句載入含有非識別產生直欄的表格, 也必須指定 GENERATEDOVERRIDE 檔案類型修飾元。
- 5
IDENTITYOVERRIDE 檔案類型修飾元無法在載入擁有 GENERATED BY DEFAULT 身分直欄的表格時使用。
- 6
若所產生的表格為分割鍵的一部分,並定義為長欄位或 LOB 直欄的形式,則您無法將 LOBSINFILE 檔案類型修飾元指定在分割的資料庫載入中。
- 7
GENERATEDMISSING 或 IDENTITYMISSING 修飾元在現行載入或匯入指令中的使用, 將導致表格中所有的直欄被排除在載入作業之外。
- 8
當身分直欄屬於分割鍵的一部分,或分割鍵中產生的直欄取決於非分割鍵中的身分直欄時,如果現行的載入模式為 PARTITION_ONLY、 LOAD_ONLY 或 LOAD_ONLY_VERIFY_PART 其中一個,或如果 SAVECOUNT 選項值大於 0,則必須指定 IDENTITYOVERRIDE 檔案類型修飾元。
- 9
當目標表格含有一個根據身分直欄來定義的已產生直欄,且您指定了 GENERATEDOVERRIDE 檔案類型修飾元時,您也必須指定 IDENTITYOVERRIDE 檔案類型修飾元。 這確定將以與表格中的身分直欄值一致的方式,來計算所產生的直欄值。
- 10
只有在使用者對載入目標表格具有 SELECT 專用權、已指定 DUMPFILE 修飾元,以及資料庫分割區位於 UNIX 型的作業系統時,DUMPFILEACCESSALL 檔案類型修飾元才有效。
- 11
USEDEFAULTS 檔案類型修飾元無法與 IXF 檔案類型或附有 RECLEN 修飾元的 ASC 檔案類型一起使用。
- 12
已指定安全標籤的相關檔案類型修飾元,但目標表格並未包含這類直欄。
- 13
在載入不具有隱含隱藏直欄的表格時,無法指定 IMPLICITLYHIDDENINCLUDE 檔案類型修飾元。
- 14
在匯出不具 SELECT * 查詢的表格時,無法指定 IMPLICITLYHIDDENINCLUDE 檔案類型修飾元。
使用者回應
檢查您正在使用的選項的需求。 使用一致的修飾元子句(檔案類型模式 )及公用程式,重新提交指令。
SQL3527N CODEPAGE 選項的 FILETMOD 參數中所指定的數字無效。
解說
在 FILETMOD 參數中,CODEPAGE 選項無效。
使用者回應
請更正字碼頁號碼並再重新提交此指令。
SQL3528W CLP 指令中所指定的定界字元(直欄定界字元、字串定界字元或小 數點)可能會從應用程式字碼頁轉換成資料庫字碼頁。
解說
將 CLP 指令從用戶端傳送到伺服器時, 如果兩端所用的字碼頁不同,則它會將用戶端的字碼頁轉換成伺服器的字碼頁。
使用者回應
若要確定定界字元未被轉換,則應將它們指定成十六進位格式
SQL3529N 在直欄 column-number 中,operation-name 作業發現了一個不受支援的資料類型 data-type。
解說
operation-name 作業不支援 直欄 column-number 中所發現的資料類型 data-type。
使用者回應
請從表格定義及 Data Movement Guide 中查閱支援的資料類型。
SQL3530I 「載入查詢」公用程式正在監視分割區 partitionnumber 上的 agenttype 進度。
解說
「載入查詢」公用程式是在 MPP 環境中呼叫的。
使用者回應
不需要任何動作。
SQL3531I 已發生 LOAD RESTART。
解說
已提供 RESTART 選項給目前正在被查詢的「載入」。
使用者回應
不需要任何動作。
SQL3532I 「載入」公用程式目前處於 phase 階段。
解說
這個參考訊息指出目前所正在查詢之「載入」的階段。
使用者回應
不需要任何動作。
SQL3533I 「載入」公用程式目前正在建置索引 number 之 number。
解說
如果目前所查詢的「載入」正處於 BUILD 階段,就會傳回這個參考訊息。
使用者回應
不需要任何動作。
SQL3534I 載入 DELETE 階段大約已完成 number 百分比。
解說
如果目前所查詢的「載入」正處於 DELETE 階段,就會傳回這個參考訊息。
使用者回應
不需要任何動作。
SQL3535W 不再支援 LOAD 指令參數 parameter-name; LOAD 公用程式將不處理其值。
解說
您的 LOAD 指令所包含的某參數,不再受到支援。
使用者回應
請參閱文件,以取得 LOAD 暫時排序空間的相關資訊,以及與 LOAD 效能調整相關的建議。
SQL3536N 系統暫存表格空間 table-space-name 已滿。
解說
LOAD 公用程式在將索引鍵排序時,發生表格空間已滿的狀況。
使用者回應
請確定已配置足夠空間給系統暫存表格空間 table-space-name, 該空間至少必須是正在建立之索引的總大小的兩倍。重新啟動 LOAD 公用程式。
SQL3537N 在執行 LOAD 公用程式期間,無法配置排序記憶體。
解說
處理虛擬記憶體不足,LOAD 公用程式無法處理排序。
使用者回應
收到此訊息時,請終止應用程式。請確定有足夠的虛擬記憶體可供排序處理使用。
- 切斷所有應用程式與資料庫的連線,並降低相對應資料庫配置檔中的排序資料堆參數 (sortheap) 大小。
- 移除背景處理,並且/或終止其他目前在執行的應用程式。
- 增加可用之虛擬記憶體的數量。
SQL3538N LOAD QUERY 公用程式失敗,因為有數個 LOAD 都使用同一個暫時檔路徑。
解說
至少有一個其他的 LOAD 是用同一個 TEMPFILES PATH 來呼叫的,而且仍在進行中。 LOAD QUERY 公用程式無法決定只要查詢哪一個 LOAD。
使用者回應
請使用 LOAD QUERY 的 TABLE 參數來代替。
SQL3539N 無法進行 LOAD RESTART,因為至少已嘗試過一次 LOAD TERMINATE。
解說
LOAD TERMINATE 指令之後只能進行 LOAD TERMINATE。
使用者回應
使用者只能用 LOAD TERMINATE 來繼續進行。
SQL3550W 第 row-number 列和第 column-number 欄中的欄位值並非 NULL,但是目標直欄已定義為 GENERATED ALWAYS。
解說
在輸入檔中發現一個非 NULL 欄位值。 因為目標直欄屬於 GENERATED ALWAYS 類型,所以無法載入該值。 直欄號碼會在遺漏資料的橫列中指定欄位。
使用者回應
對 LOAD 而言,只有在使用 identityoverride 檔案類型修飾元時, 明確的非 NULL 欄位值才能夠被載入 GENERATED ALWAYS 識別直欄。對於 非識別 GENERATED ALWAYS 直欄,可用 generatedoverride 檔案類型修飾元 來將明確的非 NULL 值載入橫列。如果對這些修飾元使用不當,則當 LOAD 要接受橫列時, 欄位值就必須以 NULL 來置換。
對於 IMPORT 而言,沒有任何方式可以置換 GENERATED ALWAYS 直欄。當公用程式 要接受橫列時,就必須移除欄位值而以 NULL 置換。
SQL3551W 此表格至少包含了一個會被公用程式置換的 GENERATED ALWAYS 直欄。
解說
已指定 “override” 檔案類型修飾元(例如 IDENTITYOVERRIDE 或 GENERATEDOVERRIDE)。
對 IDENTITYOVERRIDE 而言,這可能會違反被定義為 GENERATED ALWAYS 之識別直欄的唯一內容。
對 GENERATEDOVERRIDE 而言,這可能會產生含有與其直欄定義不對應之值的 非識別 GENERATED ALWAYS 直欄。
使用者回應
不需要任何動作。
SQL3600N SET INTEGRITY 陳述式的 IMMEDIATE CHECKED 選項無效,因為表格 table-name 是使用者維護的具體化查詢表格、備用表格,或未處於「設定完整性擱置」狀態。
解說
只有在下列情況時,SET INTEGRITY 陳述式的 IMMEDIATE CHECKED 選項才有效:在表格已置於「設定完整性擱置」狀態、不是使用者維護的具體化查詢表格、不是備用表格,或者,已置於「設定完整性擱置」狀態的其中一個上代也在呼叫清單中,而且所有中間的上代也在清單中。
使用者回應
- 使用帶有 OFF 選項的 SET INTEGRITY 陳述式,將表格置於「設定完整性擱置」狀態。
- 針對使用者維護的具體化查詢表格或備用表格來使用 IMMEDIATE UNCHECKED 選項。
- 將表格的上代併入已檢查的表格清單。上代必須處於「設定完整性擱置」狀態,且所有中間的上代也必須在清單中。
- 如果該表格處於「無資料移動」狀態,但未處於「設定完整性擱置」狀態,請發出帶有 FULL ACCESS 選項的 SET INTEGRITY 陳述式,以強制使表格脫離「無資料移動」狀態。請注意,保留在「設定完整性擱置」狀態下的所有相依立即具體化查詢表格,也會強制在後續的 REFRESH TABLE 陳述式中完全重新計算,而保留在「設定完整性擱置」狀態下的所有相依立即暫置表格,再也不能用來重新整理它們的相依具體化查詢表格。
sqlcode:-3600
sqlstate:51027
SQL3601W 該陳述式導致一個以上的表格自動處於「設定完整性擱置」狀態。
解說
表格處於「設定完整性擱置」狀態,可以強制完整性限制,或是強制基本表格、相依立即具體化查詢表格及衍生暫置表格之間的資料關係。具體來說,下列陳述式至少會將其中一個列出的表格置於「設定完整性擱置」狀態。
- ALTER TABLE ... ATTACH 陳述式強制 ATTACH 的目標表格進入「設定完整性擱置」狀態
- ALTER TABLE ... DETACH 陳述式強制衍生立即具體化的查詢表格或衍生處於的「設定完整性擱置」狀態的暫置表格
- SET INTEGRITY 陳述式強制衍生外部索引鍵表、衍生立即具體化或衍生處於「設定完整性擱置」狀態的暫置表格
無法存取新建立的「分離表格」所分離的分割區,直到已維護其分離的相依具體化查詢表格及暫置表格為止。
使用者回應
若要驗證處於「設定完整性擱置」狀態的表格完整性,請對這些表格搭配 IMMEDIATE CHECKED 或 IMMEDIATE UNCHECKED 選項來執行 SET INTEGRITY 陳述式。若要確定哪些表格處於「設定完整性擱置」狀態,請發出下列查詢:
SELECT TABSCHEMA, TABNAME, STATUS
FROM SYSCAT.TABLES
WHERE STATUS = 'C'
若要判定哪些分離的表格是由 ALTER TABLE ... DETACH 陳述式建立且尚不可存取,請發出下列查詢:
SELECT TABSCHEMA, TABNAME, TYPE
FROM SYSCAT.TABLES
WHERE TYPE = 'L'
sqlcode:+3601
sqlstate:01586
SQL3602W 檢查資料處理時發現限制違例,立即移至異常表格。
解說
有些橫列違反了被指定為 SET INTEGRITY 陳述式執行中所要檢查的限制項目。這些都移至異常表格。
使用者回應
檢查違例限制的異常表格。這些橫列已自母表格中刪除,但您可以更正後從異常表格傳回。
sqlcode:+3602
sqlstate:01603
SQL3603N 透過 SET INTEGRITY 陳述式的完整性處理程序,發現與限制、唯一索引、產生的直欄或 XML 直欄上索引相關的完整性違規。相關聯的物件由 name 進行識別。
解說
發現有一個橫列違反 SET INTEGRITY 陳述式檢查之表格的完整性。完整性違規是由下列其中一個原因引起的。
- 違反表格限制。表格限制由 name 識別。
- 違反唯一索引。唯一索引由 name 識別。
- 產生之直欄的直欄值不符合產生表示式的結果。產生的直欄由 name 識別。
- 表格包含具有完整性違規之 XML 直欄的索引。XML 直欄由 name 識別。
已從表格刪除橫列。表格保留在「設定完整性擱置」狀態。
使用者回應
請使用 FOR EXCEPTION 選項重新執行 SET INTEGRITY 陳述式,並使用來自異常狀況表格的資訊來更正資料。
sqlcode:-3603
sqlstate:23514
SQL3604N 陳述式或指令失敗,因為下列異常狀況表格無效:exception-table-name。異常狀況表格所對應的表格:table-name。原因碼:reason-code。
解說
搭配使用 SET INTEGRITY 陳述式與 IMMEDIATE CHECKED 選項,即可驗證表格限制。使用 LOAD 公用程式將資料移動至新建立的表格時,也會驗證表格限制。當您驗證表格限制時,可以使用異常狀況表格來儲存違反所檢查表格中限制的橫列副本。
如果嘗試使用異常狀況表格(例如,執行 SET INTEGRITY 陳述式時,或使用 LOAD 公用程式或 INGEST 公用程式時),而且異常狀況表格的某個項目無效或不符,即會傳回此訊息。
原因碼指出陳述式或指令失敗的原因:
- 1
異常狀況表格處於「設定完整性擱置」狀態。
- 2
異常狀況表格沒有適當的直欄結構。
- 3
異常狀況表格具有限制。
- 4
異常狀況表格具有觸發程式。
- 5
異常狀況表格具有產生的直欄。
- 6
異常狀況表格具有唯一索引。
- 7
異常狀況表格是具體化查詢表格或暫置表格。
- 8
異常狀況表格具有相依重新整理立即具體化查詢表格或相依立即傳達暫置表格。
- 9
異常狀況表格與正在載入的表格相同。
- 10
異常狀況表格是範圍叢集表格。
- 11
異常狀況表格是資料分割的表格。
- 12
異常狀況表格是分離的表格。
- 13
異常狀況表格不具有與檢查表格相同的安全原則及相同受保護的直欄集合。
- 14
異常狀況表格已使用 XML 資料的索引進行定義。
- 15
表格具有列或直欄層次存取控制,異常狀況表格則沒有。
- 16
嘗試在異常狀況表格上建立表示式型索引。
使用者回應
請按照文件中相關章節的指示建立異常狀況表格,然後重新執行陳述式或公用程式。
sqlcode:-3604
sqlstate:428A5
SQL3605N SET INTEGRITY 陳述式中所命名的表格 table-name 未被列為要檢查的表格,或可能是被多次指定的異常狀況表格。
解說
- 檢查的表格列示中沒有此表格
- 檢查的表格與異常表格一樣
- 多個檢查的表格都指定了異常表格。
使用者回應
請更正表格名稱,重新執行此指令。
sqlcode:-3605
sqlstate:428A6
SQL3606N 檢查中的表格數與 SET INTEGRITY 陳述式所指定的異常狀況表格表格數不符。
解說
異常狀況表格與呼叫清單中所提供的非具體化查詢表格或暫置表格之間,必須是一對一的對應關係。 呼叫清單中的具體查詢表格或暫置表格不可有相對應的異常狀況表格。
使用者回應
針對非具體化查詢表格或暫置表格的表格,建立所缺少的異常狀況表格(若不存在的話), 並將它指定在呼叫清單中,以重新執行此指令。請不要為具體查詢表格和暫置表格指定異常狀況表格。
sqlcode:-3606
sqlstate:428A7
SQL3608N 當母表格或基礎表格 parent-table-name 處於「設定完整性擱置」狀態時,或如果 SET INTEGRITY 陳述式將相依表格 dependent-table-name 置於「設定完整性擱置」狀態,則無法使用 SET INTEGRITY 陳述式來檢查該相依表格。
解說
在 SET INTEGRITY 陳述式之前或之後,母表格或基礎表格都不能處於「設定完整性擱置」狀態,否則必須將其併入呼叫清單中,以檢查相依表格。
使用者回應
請執行 SET INTEGRITY 陳述式來檢查母表格,以確定母表格未處於「設定完整性擱置」狀態。如果相依表格為具體化查詢表格或暫置表格,請執行 SET INTEGRITY 陳述式來檢查基礎表格,以確定基礎表格未處於「設定完整性擱置」狀態。
若相依表格不是具體化查詢表格或暫置表格,建議您先檢查母表格。 也可以檢查相依表格,並將母表格列入呼叫列示中。 在此情況下,若母表格中有違反限制的橫列,且這些橫列又未刪除並放置到異常狀況表格中,則陳述式仍可能會失敗。 如果未使用 FOR EXCEPTION 選項,就可能發生這種情況。
若相依表格是具體化查詢表格或暫置表格,建議您先檢查基礎表格。 您也可以重新整理相依具體化查詢表格,並將基礎表格併入呼叫清單中。 在此情況下,若母表格中有違反限制的橫列,且這些橫列又未刪除並放置到異常狀況表格中,則陳述式仍可能會失敗。 如果未使用 FOR EXCEPTION 選項,就可能發生這種情況。
在參照迴圈的情況下,所有表格都將列入呼叫列示中。
sqlcode:-3608
sqlstate:428A8
SQL3700W 裝置 device 已滿。 還有 active-devices 的其他現行裝置。請裝上新媒體或採取適當動作。
解說
指定裝置上的媒體已滿。此裝置是引導卸載資料時使用的 active-devices + 1 目標裝置的其中之一。
使用者回應
- 在指定的裝置上載上新目標媒體,並透過呼叫卸載和呼叫程式 1 (SQLU_CONTINUE) 繼續卸載。
或
- 如果 active-devices 不是零,
則透過呼叫 UNLOAD 公用程式和呼叫程式動作 4 (SQLU_DEVICE_TERMINATE) 繼續卸載,
不使用此裝置。
或
- 透過用呼叫程式動作 2 (SQLU_TERMINATE) 呼叫 UNLOAD 公用程式來取消卸載。
SQL3701W 已指定 lobpaths 參數,但此表格沒有任何 LOB 或長型資料。此參數將被忽略。
解說
參數 lobpaths 為 LOB 和 LONG 資料,指定一個分離目標。 此表格沒有任何 LOB 或 LONG 資料,故不使用 lobpaths 參數指定的目標。
使用者回應
不需要任何動作。
SQL3702W 警告。接收到裝置 device 的 SQLCODE sqlcode。在沒有此裝置情況下,繼續卸載。
解說
偵測到某個卸載目標裝置有 SQLCODE sqlcode。 繼續卸載,忽略此裝置。
使用者回應
在指定裝置上載入的媒體沒有任何卸載資料, 因此載入卸載資料時不應包括在提供給 LOAD 公用程式的媒體中。 為了修正裝置的問題,請在 Message Reference 中查閱傳回的 SQLCODE。
SQL3703W 已卸載類型 type 的 xxx / yyy 頁數,並已傳送為寫入到目標媒體。
解說
正在卸載的表格是由指定類型資料的 yyy 頁所組成。 其中的 xxx 已由 UNLOAD 公用程式處理,並傳送至媒體寫入機器, 準備將資料寫入目標媒體。
- 0 表示正規資料
- 2 表示 LONG 資料和配置資訊
- 3 表示 LOB 資料
- 4 表示 LOB 配置資訊
請注意,LONG 和 LOB 資料卸載完成時 xxx 可能比 yyy 少, 因為未用的空間不予卸載,但重新載入資料時,又會重新建立這些未用的空間。
甚至對於一般資料,也可能不會發出 xxx = yyy 的最終訊息。 訊息 3105 表示順利完成卸載。
使用者回應
此訊息僅供參考。 不需要任何動作。
SQL3704N 指定的 num_buffers 參數無效。
解說
num_buffers 參數決定公用程式使用的緩衝區數。若未指定 lobpaths 參數,則最小值是 2, 若指定 lobpaths 參數,則最小值是 3。這是執行公用程式時所需的最小值。 若未指定此參數,公用程式使用最佳數量的緩衝區。此最佳數量是根據公用程式將執行的內部處理數而得出的,不管 lobpaths 參數是否已指定。 若指定的緩衝區數少於最佳數,某些處理將等待使用緩衝區。 我們建議您將此參數指定為 0,並讓公用程式選擇緩衝區數。 公用程式儲存堆的大小需要限制公用程式使用的儲存總量時,才能指定此參數。
使用者回應
使用有效的 num_buffers 參數重新提交此指令。
SQL3705N 指定的緩衝區大小參數無效。緩衝區大小必須指定為 0,或是介於 8 與 250000 之間(含 8 與 250000)。多個緩衝區的緩衝區總大小不得超出 250000。
解說
應用程式呼叫公用程式時所提供的緩衝區大小參數無效。 緩衝區大小決定內部緩衝區大小。 該值是為此緩衝區所取得的 4K 頁數。 值必須指定為 0,或介於 8 與 250000 之間(含 8 與 250000)。 如果有多個緩衝區,則緩衝區數目與緩衝區大小相乘後不得超出 250000。
- 表格的正規資料放在資料庫管理的儲存體表格空間中時, 預設緩衝區大小取表格空間擴大大小或 8 中的較大值。
- 表格的正規資料放在系統管理的儲存體表格空間中時, 預設緩衝區大小取 8。
使用者回應
用有效的緩衝區大小重新發出指令。
SQL3706N path/file 的磁碟已滿。
解說
資料庫公用程式處理程序期間,磁碟已滿。公用程式停止執行。
使用者回應
確保公用程式有足夠的磁碟空間,或將輸出引導到諸如磁帶等其他媒體上。
SQL3707N 指定的排序記憶體大小參數 size1 無效。 所需的大小下限是 size2。
解說
排序記憶體大小時,排序索引的鍵值不夠大。
使用者回應
用有效的排序記憶體大小,重新執行指令。
要確保只使用最小儲存體數量,指定值 0(成為預設值)。 然而,大於最小值時,可以提高排序作業的執行性能。