命令參照

| | |

REORGCHK 命令

|

在 REORGCHK 命令內使用的索引統計資料公式已修訂過了。 |新的公式及其說明如下: |

| |

| |
註:
|
所有公式都是以統計資料為基礎。來自這些公式的統計資料及結果只是估計值而已。 |您應該將這個資訊謹記於心來複查 REORGCHK 的結果。
| | |

REORG INDEXES/TABLE 命令

|

重組索引或表格

|

REORG INDEXES ALL FOR TABLE 表格名稱選項會重組所有定義在表格的索引, |方法為將索引資料重新建置為未片段化且實際連續的頁面。 |如果您指定索引選項的 CLEANUP ONLY 選項,將執行清除,但不重新建置索引。 |如果您嘗試對已宣告的暫時表格上的索引使用這個命令, |將傳回 SQLSTATE 42995 錯誤。

|

REORG TABLE 表格名稱選項會透過重新建構橫列來消除已片段化的資料, |以及透過壓縮資訊,來重組表格。表格重組是以這兩種方法之一來完成: |

|
|
傳統
|
在第一個重組階段只容許對資料具有有限的唯讀權。 |
|
就地
|
容許在整個重組中存取資料,但無法確保資料能完全照原來的順序排列。 |只在具有類型 2 索引且沒有擴充索引的表格上,才容許就地表格重組。 |
|

|當您選擇任一類型的重組時,在重組表格之後,就會重新建置表格的索引。 |不過,利用就地方法,將無法完全正確地重組索引,而且可能需要您稍後重組索引, |以減少索引片段化並收回索引物件空間。

|
|範例 |

若為傳統 (離線) REORG TABLE (如 DB2 Universal Database |(UDB) 第 7 版中的預設值),請輸入下列命令 |

|
   db2 reorg table employee index empid allow no access indexscan 
|      longlobdata

|

| |
註:
|
在 DB2 UDB 第 8 版中會有不同的預設值。
|
|用法注意事項 |

DB2 UDB 提供兩種重組表格的方法:傳統及就地。 |通常,傳統表格重組較快,但只在您的應用程式在重組期間沒有表格的寫入權時,才應使用這種重組。如果您的環境不容許這個限制, |雖然就地重組較慢,但是當正常資料存取繼續時,它可以在背景中進行。

|

傳統表格重組提供最快的表格重組,尤其是在您不需要重組 LOB 或 LONG 資料的時候。 |此外,在重組表格之後,將按完全正確的次序重新建置索引。唯讀應用程式可以存取表格的原始複本, |但最後重組階段期間除外,因為在這個期間,永久表格將置換表格的陰影複本, |而且將重新建置索引。

|

就地表格重組較慢,而且無法確保資料能完全照正確的順序排列,但是它可以容許應用程式在重組期間存取表格。 |此外,就地表格重組可以暫停,並在稍後可以由任何具有適當權限的使用者,利用綱目及表格名稱來回復重組。

|
|已更新的限制 |

REORG 公用程式不支援使用暱稱。

|
| | |

BACKUP DATABASE 命令

|
|用法注意事項 |

請注意下列限制: |

|

移轉資料庫

限制

第 8 版文件含糊不清地陳述,如果資料庫已移轉至 DB2 UDB 第 8 版 FixPak 層次, 則不需要任何資料庫移轉。 明確的意思是一旦資料庫位於第 8 版層次 (8.1 或 8.2 版,或是後續的 fixpak), 則 fixpak 之間不需要資料庫移轉。 由於 8.2 版中的資料庫目錄檔結構發生變更,所以當您從第 7 版或 8.1 版移至 8.2 版時, 將會自動為您執行移轉。不過,如果您從 8.2 版回到 8.1 版, 則必須執行 db2demigdbd 來復置資料庫目錄檔結構。 如果失敗,則在嘗試存取資料庫時,將導致錯誤 SQL10004。

db2inidb - 起始設定鏡映的資料庫命令

請不要在發出 db2inidb database as mirror 命令之前,發出 db2 connect to database 命令。

在起始設定分割的鏡映資料庫之前,若嘗試連接至這個資料庫,將消除 RollForward 回復所需的日誌檔。

此連接會將您的資料庫設回當您先前暫停資料庫時它的狀態。 如果資料庫在暫停時標示為一致,則 DB2 Universal Database(TM) 會斷定不需要損毀回復,因此會清空日誌以供未來使用。如果發生這種狀況,嘗試 RollForward 會導致 SQL4970 錯誤。

db2iupdt 命令的用法注意事項

從 8.2 版開始,當利用 db2iupdt 命令更新 DB2 Universal Database 實例時,首先您必須停止任何針對該實例執行的 DB2(R) 程序。

db2sqljcustomize 命令的新參數

db2sqljcustomize 命令具有新的參數。

db2sqljcustomize - DB2 SQLJ 設定檔自訂器命令

-storebindoptions
-bindoptions-staticpositioned 值儲存在已序列化的設定檔中。當呼叫 dbsqljbind 工具時, 如果未指定這些值,將使用已序列化的設定檔中所儲存的值。 當利用 .grp 檔呼叫「自訂器」時,值會儲存在每一個別的 .ser 檔中。您可以使用 db2sqljprint 工具來檢視這些儲存值。

sqlj 命令的新參數

sqlj 命令具有新的參數。

sqlj - DB2 SQLJ 轉換程式命令

-db2optimize
指定 SQLJ 轉換程式為連線環境定義類別產生要對 DB2 Universal Database 最佳化的程式碼。這個選項是將使用者定義的環境定義的程式碼最佳化,而不是預設環境定義的程式碼。 當您利用這個選項執行 SQLJ 轉換程式時,DB2 Universal JDBC Driver 檔案 db2jcc.jar 必須位於 CLASSPATH,才能編譯所產生的 Java(TM) 應用程式。

監督及疑難排解命令 (db2pd) 更新

監督及疑難排解 DB2 命令 (db2pd) 可從 DB2 UDB 記憶體集擷取資訊。 db2pd 系統命令已利用下列方式來加強:

新的 -hadr 參數

已在 8.2 版 (相當於 8.1 版 FixPak 7) 中引進,-hadr 參數可報告「高可用性災禍回復」資訊。每一個報告的元素的說明都可以在 System Monitor Guide and Reference 的 High availability disaster recovery 一節中找到。

新的 -utilities 參數

已在 8.2 版 (相當於 8.1 版 FixPak 7) 中引進,-utilities 參數可報告「公用程式」資訊。每一個報告的元素的說明都可以在 System Monitor Guide and Reference 的 Utilities 一節中找到。

新的 -activestatements 參數

已在 8.2.2 版 (相當於 8.1 版 FixPak 9) 中引進,-activestatements 參數可傳回作用中陳述式的相關資訊。傳回的資訊如下:

AppHandl
使用作用中陳述式的應用程式控點,包括節點及索引。
UOW-ID
對於與 AppHandl 相關的應用程式,這是陳述式將在其中變成作用中的工作單元 ID。
StmtID
工作單元內的陳述式 ID。
AnchID
資料包快取動態 SQL 雜湊錨點的 ID。
StmtUID
雜湊錨點內資料包快取動態 SQL 陳述式獨有的 ID。
EffISO
陳述式的有效隔離層次。
EffLockTOut
陳述式的有效鎖定逾時值。
EffDegree
陳述式的有效並行化程度。
StartTime
陳述式的啟動時間。
LastRefTime
應用程式上次參照陳述式的時間。

-locks 參數的新 wait 選項

從 8.2.2 版 (相當於 8.1 版 FixPak 9) 開始,您可以指定 wait 選項與 -locks 參數,來只傳回具有等待狀態的鎖定,以及正在等待的鎖定。

-applications 參數所傳回的新欄位

從 8.2.2 版 (相當於 8.1 版 FixPak 9) 開始,-applications 參數會傳回四個新的欄位:

C-AnchID
這個新欄位是現行陳述式之資料包快取動態 SQL 雜湊錨點的 ID。 如果現行陳述式不存在,則這個欄位值為零。 只在應用程式正在執行與陳述式相關的要求 (如游標上的 FETCH 要求) 時, 才會移入現行雜湊錨點 ID。一旦完成要求處理程序,這些值便會設為 0。 靜態 SQL 陳述式的值也會設為 0。
C-StmtUID
這個新欄位是資料包快取動態 SQL 陳述式唯一 ID,位於現行陳述式的雜湊錨點內。 如果現行陳述式不存在,則這個欄位值為零。 只在應用程式正在執行與陳述式相關的要求時, 才會移入現行陳述式唯一 ID。一旦完成要求執行,這些值便會設為 0。 靜態 SQL 陳述式的值也會設為 0。
L-AnchID
這個新欄位是應用程式上次執行之陳述式的資料包快取動態 SQL 雜湊錨點 ID。 如果上次執行的陳述式不存在 (如在執行任何動態 SQL 陳述式之前),則這個欄位值為零。 靜態 SQL 陳述式的值也會設為 0。在完成每一個要求執行之後,就會移入上一個錨點雜湊 ID, 而且會一直存在,直到完成下一個相關的要求為止。
L-StmtUID
這個新欄位是資料包快取動態 SQL 陳述式唯一 ID,位於應用程式上次執行之陳述式的雜湊錨點內。 如果上次執行的陳述式不存在,或如果上次執行的陳述式是靜態 SQL,則這個欄位值為零。 在完成現行要求之後,就會移入上一個陳述式 ID,而且會一直存在,直到完成下一個要求為止。

SET CLIENT 命令的更新

SET(TM) CLIENT 命令指定後端程序的連線設定。

從第 8 版開始,將忽略這個命令的命令參數 SYNCPOINT。 為了舊版相容性,將繼續併入 SYNCPOINT。

PRECOMPILE 命令的更新

PRECOMPILE 命令處理一個包含內嵌式 SQL 陳述式的應用程式來源檔。 已產生一個已修改的來源檔,其中包含 SQL 的主機語言呼叫,而且會依預設在資料庫中建立資料包。

從第 8 版開始,將忽略這個命令的命令參數 SYNCPOINT。為了舊版相容性,將繼續併入 SYNCPOINT。

UPDATE HISTORY FILE 命令的更新

更新歷程檔案項目中的位置、裝置類型或註解。

命令參數 STATUS 指定新的項目狀態。

舊版文件不正確地陳述 STATUS 命令參數可以具有 『I』 值,將項目標示為非作用中。有效值如下:

A
將項目標示為作用中。
E
將項目標示為到期。

EXPORT 與 IMPORT 命令的更新

EXPORT 與 IMPORT 命令的完整「必要的連線」子區段如下:

必要的連線

資料庫。如果啟用了隱含連接,將建立預設資料庫的連線。 Linux(TM)、UNIX(R)或 Windows(R) 資料庫伺服器從 Linux、UNIX 或 Windows 用戶端存取公用程式時,必須是透過引擎而不是透過 DB2 Connect(TM) 閘道或迴圈的直接連線。

LOAD 命令的更新

INDEXING MODE 參數的 AUTOSELECT 值的完整資訊如下:

INDEXING MODE

AUTOSELECT
載入公用程式將自動在 REBUILD 或 INCREMENTAL 模式之間做出決定。 這個決定是以正要載入的資料量及索引樹狀結構的深度為基礎。與索引樹狀結構深度相關的資訊儲存在索引物件中。 不需要 RUNSTATS 即可移入此資訊。 AUTOSELECT 是預設檢索模式。

載入公用程式的檔案類型修飾元

已更新 『generatedoverride』 修飾元說明中的 SET INTEGRITY 命令。

同時,也已更新 『usedefaults』 修飾元的說明。

更新如下:

表 30. 適用於載入的有效檔案類型修飾元:所有檔案格式
修飾元 說明
generatedoverride 對於表格中所有產生的直欄,這個修飾元指示載入公用程式接受使用者提供的資料 (與這些類型的直欄的正常規則相反)。當從另一個資料庫系統移轉資料,或在 ROLLFORWARD DATABASE 命令上使用 RECOVER DROPPED TABLE 選項,從已回復的資料載入表格時,這很有用。當使用這個修飾元時, 所產生的直欄若不能有空值,則不含資料或為 NULL 資料的任何橫列都將遭到拒絕 (SQL3116W)。
註:
當使用這個修飾元時,表格將置於 CHECK PENDING 狀態。 若要從 CHECK PENDING 狀態取出表格,且不驗證使用者提供的值,請在載入作業後, 發出下列命令:
SET INTEGRITY FOR < table-name > GENERATED COLUMN
  IMMEDIATE UNCHECKED
若要從 CHECK PENDING 狀態取出表格,並強制驗證使用者提供的值,請在載入作業後, 發出下列命令:
SET INTEGRITY FOR < table-name > IMMEDIATE CHECKED.

這個修飾元無法搭配 generatedmissinggeneratedignore 修飾元使用。

usedefaults 如果指定了目標表格直欄的來源直欄,但是它沒有一或多個橫列實例的資料, 將載入預設值。 遺漏資料的範例如下:
  • 若為 DEL 檔案:對一個直欄值指定了兩個相鄰直欄區隔字元 (",,"),或兩個以任意空格數分隔的相鄰直欄區隔字元 (", ,")。
  • 若為 DEL/ASC/WSF 檔案:沒有足夠直欄的橫列,或對於原始規格不夠長的橫列。
    註:
    若為 ASC 檔案,NULL 直欄值不會明確地視為遺漏, 因此預設值將不會替代 NULL 直欄值。NULL 直欄值是以數字、 日期、時間及 /時間戳記直欄的所有空格字元來表示, 或對任何類型的直欄使用 NULL INDICATOR 來表示,以指出直欄是 NULL。
若沒有這個選項,則在來源直欄沒有橫列實例的資料時,將發生下列其中一種情況:
  • 若為 DEL/ASC/WSF 檔案:如果直欄可為 NULL,將載入 NULL。如果直欄不可為 NULL, 公用程式將拒絕橫列。

匯入公用程式的檔案類型修飾元

『usedefaults』 與 『codepage=x』 修飾元的說明已更新如下:

表 31. 適用於匯入的有效檔案類型修飾元:所有檔案格式
修飾元 說明
usedefaults 如果指定了目標表格直欄的來源直欄,但是它沒有一或多個橫列實例的資料, 將載入預設值。 遺漏資料的範例如下:
  • 若為 DEL 檔案:對一個直欄值指定了兩個相鄰直欄區隔字元 (",,"),或兩個以任意空格數分隔的相鄰直欄區隔字元 (", ,")。
  • 若為 DEL/ASC/WSF 檔案:沒有足夠直欄的橫列,或對於原始規格不夠長的橫列。
    註:
    若為 ASC 檔案,NULL 直欄值不會明確地視為遺漏, 因此預設值將不會替代 NULL 直欄值。NULL 直欄值是以數字、 日期、時間及 /時間戳記直欄的所有空格字元來表示, 或對任何類型的直欄使用 NULL INDICATOR 來表示,以指出直欄是 NULL。
若沒有這個選項,則在來源直欄沒有橫列實例的資料時,將發生下列其中一種情況:
  • 若為 DEL/ASC/WSF 檔案:如果直欄可為 NULL,將載入 NULL。如果直欄不可為 NULL, 公用程式將拒絕橫列。

表 32. 適用於匯入的有效檔案類型修飾元:ASCII 檔案格式 (ASC/DEL)
修飾元 說明
codepage=x x 是 ASCII 字串。此值會解譯為輸出資料集中之資料的字碼頁。 在匯入作業期間,來自這個字碼頁的字元資料會轉換為應用程式字碼頁。

將引用下列規則:

  • 若為純 DBCS (圖形) 混合 DBCS 及 EUC,區隔字元將限制在 x00 至 x3F 的範圍內 (包括這兩個值)。
  • nullindchar 必須在字碼點 x20 與 x7F 之間 (包括這兩個字碼點) 指定併入標準 ASCII 集的符號。 這代表 ASCII 符號及字碼點。
註:
  1. codepage 修飾元無法搭配 lobsinfile 修飾元使用。
  2. 當字碼頁從應用程式字碼頁轉換為資料庫字碼頁時,如果發生資料擴充, 則資料可能遭到截斷,而且資料可能流失。

ATTACH 命令

ATTACH 命令的 USER 參數指定鑑別 ID。 當連接至 Windows 作業系統上的 DB2 Universal Database UDB 實例時, 必須以與 Microsoft(R) Windows NT(R) Security Account Manager (SAM) 相容的格式指定使用者名稱。限定元必須是 NetBIOS 樣式名稱, 其最大長度為 15 個字元。例如,domainname\username

RECOVER DATABASE 命令

在 8.2 版文件的「RECOVER DATABASE 命令」的「範例」一節中, 時間戳記的格式 yyyy:mm:dd:hh:mm:ss 是不正確的。

正確格式是 yyyy-mm-dd-hh.mm.ss

UPDATE HISTORY FILE 命令

UPDATE HISTORY FILE 命令更新歷程檔項目中的位置、裝置類型、註解或狀態。

更新的命令語法
讀取語法圖表略過語法圖表>>-UPDATE HISTORY--+-FOR--object-part-+--WITH------------------->
                   '-EID--eid---------'

>--+-LOCATION--new-location--DEVICE TYPE--new-device-type-+----><
   +-COMMENT--new-comment---------------------------------+
   '-STATUS--new-status-----------------------------------'

更新的命令參數
FOR object-part
指定要更新之歷程項目的 ID。它是時間戳記,含有從 001999 的選用序號。
註:
無法用來更新項目狀態。若要更新項目狀態, 請改為指定 EID。
STATUS new-status
指定項目的新狀態。僅備份項目才能更新其狀態。 有效值如下:
A
作用中。大部份項目都是作用中。
I
非作用中。不再位於現行日誌鏈的備份映像檔會變成非作用中。
E
已到期。因為有 NUM_DB_BACKUPS 個以上的作用中映像檔而不再需要的備份映像檔會標示為已到期。
D
不再能夠用於回復的備份映像檔應該標示為已刪除。

db2updv8 - 將資料庫更新為第 8 版現行層次的命令

這個命令會利用下列方法,更新資料庫中的系統型錄以支援現行層次:

授權

sysadm

必要的連線

資料庫。這個命令自動建立與指定之資料庫的連線。

命令語法
讀取語法圖表略過語法圖表>>-db2updv8-- -d--database-name--------------------------------->

>--+----------------------------+--+-----+---------------------><
   '- -u--userid-- -p--password-'  '- -h-'

命令參數
-d database-name
指定要更新之資料庫的名稱。
-u userid
指定使用者 ID。
-p password
指定使用者的密碼。
-h
顯示說明資訊。當指定這個選項時,將忽略所有其它選項, 而且僅顯示說明資訊。
範例

在安裝現行層次 (FixPak 或新版本) 之後,發出下列命令來更新範例資料庫中的系統型錄:

db2updv8 -d sample
用法注意事項
  1. 僅在執行 DB2 Universal Database 8.1.2 版或更新版本的資料庫上才能使用這個命令。如果發出這個命令多次,將不會報告任何錯誤,而且每一個型錄更新僅套用一次。
  2. 若要啟用新的內建函數,所有應用程式都必須與資料庫中斷連線,而且如果已啟動資料庫,則必須停止它。

製作設陷檔案的格式 (Windows)

有一個新的工具 db2xprt.exe 可讓您製作設陷檔案 (*.TRP) 的格式。 這個工具可將 DB2 Universal Database 的二進位設陷檔案製作成一般人可讀取的 ASCII 檔案。 依預設,設陷檔案位於實例目錄 (DB2INSTPROF),或如果設定了 DIAGPATH 資料庫管理程式配置參數,則位於診斷資料目錄。

授權

您必須具有 DIAGPATH 目錄的存取權限。

命令語法

讀取語法圖表略過語法圖表>>-db2xprt--+----------+--+----+--+----+--infile--+---------+--><
            +-/p--path-+  '-/m-'  '-/n-'          '-outfile-'
            '-/v-------'

命令參數

/p path
分號 (;) 區隔的路徑,指向二進位檔案及 PDB 檔案所在的位置。
/v
顯示版本資訊。
/m
製作記憶體傾出的格式,以及設陷檔案其餘部份的格式。
/n
製作資料的格式,不考慮行號資訊。
infile
指定輸入檔。
outfile
指定輸出檔。
[ 頁面頂端 |前一頁 | 下一頁 | 目錄 ]