128 次瀏覽
緩衝池是主記憶體的一個單元,用於快取 DB2 表中的資料。當資料庫管理器從磁碟讀取資料到主記憶體時,資料會儲存在快取中。可以透過指定頁面大小來定義緩衝池。頁面是 DB2 資料庫管理器可以處理的最小輸入/輸出單元。我們可以使用以下命令建立 DB2 緩衝池:CREATE BUFFERPOOL BP3 PAGESIZE 4096;CREATE 和 BUFFERPOOL 是保留字,後面跟著要建立的緩衝池名稱。最後,我們將使用 PAGESIZE 引數來... 閱讀更多
62 次瀏覽
卷是一組用於儲存資料的物理磁碟。儲存組是卷的集合。我們可以新增或刪除儲存組中的卷以調整空間。為了修改儲存組中的卷,可以發出以下命令。ALTER STG1 ADD VOLUMES(VOL34) REMOVE VOLUMES(VOL29);ALTER 保留字後面必須是需要修改的儲存組的名稱。在本例中為 STG1。ADD VOLUMES 引數包含需要新增的卷的列表... 閱讀更多
165 次瀏覽
表空間是 DB2 架構中的一個邏輯實體。它基本上是資料檔案的集合。表空間包含表、索引、物件等。要建立新的表空間,我們必須發出以下命令。CREATE TABLESPACE TABSPA1 IN DBSET1 USING STOGROUP STG1 PRIQTY 50 SECQTY 50 BUFFERPOOL BP03CREATE 和 TABLESPACE 是保留字,後面跟著要建立的表空間的名稱。在本例中為 TABSPA1。IN 是一個保留字,後面跟著我們要在其中建立此... 閱讀更多
87 次瀏覽
資料庫是資料的結構化集合,可以輕鬆地組織、維護和更新。DB2 安裝中可以有多個數據庫。可以透過給出資料庫名稱、儲存組和緩衝池來建立 DB2 資料庫,如下所示:CREATE DATABASE DBSET1 STOGROUP (STG1) BUFFERPOOL BP3;CREATE 和 DATABASE 是保留字,後面跟著要建立的資料庫的名稱。STOGROUP 引數應與儲存組的名稱一起給出,最後是 BUFFERPOOL 引數,後跟緩衝池的名稱。
84 次瀏覽
儲存組基本上是儲存 DB2 表中資料的卷的集合。基本上,DBA 負責維護、新增和更新 DB2 中的儲存組。要在 DB2 安裝中建立儲存組,我們必須給出以下命令。CREATE STOGROUP STG1 VOLUMES (VOL1);CREATE 和 STOGROUP 是保留字,後面跟著儲存組的名稱。卷引數應填充儲存組的卷的名稱。
486 次瀏覽
訪問路徑向我們提供了最佳化器為獲取 SQL 查詢結果而選擇的路徑。它使我們瞭解最佳化器將使用哪些索引和引數。要獲取 COBOL-DB2 程式中 SQL 語句使用的訪問路徑的詳細資訊,我們可以在 BIND 步驟期間使用 EXPLAIN 選項。以下是可使用的 JCL 步驟。//BIND EXEC PGM=IKJEFT01 //STEPLIB DD DSN=DIS.TEST.LOADLIB, DISP=SHR //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(TB3) BIND PLAN(PLANA) - PKLIST(PACKA) - ACQUIRE(ALLOCATE) - ISOLATION (RS) - EXPLAIN(YES) /*EXPLAIN BIND... 閱讀更多
689 次瀏覽
包是 DB2 資料庫物件,其中包含 COBOL-DB2 程式中使用的 SQL 的可執行形式。包儲存在目錄表中,幷包含與 SQL 語句關聯的策略/表/列/謂詞。如果在測試環境中有一個 DB2 表 ORDERS_TEST,在生產環境中有一個 ORDERS_PROD,那麼我們需要 COBOL-DB2 程式的兩個版本(將訪問這些表)——一個用於測試,另一個用於生產。儘管這兩個程式將是彼此的副本,但唯一的區別在於 SQL 語句。程式的測試版本將在 SQL 中使用表 ORDERS_TEST... 閱讀更多
6K+ 次瀏覽
隔離級別定義了在 COBOL-DB2 程式中訪問的 DB2 資料與另一個並行執行的 COBOL-DB2 程式隔離的程度。DB2 中有 4 種主要型別的隔離級別。遊標穩定性 (CS) - 遊標穩定性隔離級別僅鎖定程式正在訪問的當前行。一旦程式移至下一行,前一行的鎖就會被釋放。遊標穩定性僅獲取已提交的行以供程式訪問。這是預設的隔離級別。讀取穩定性 (RS) - 此隔離級別會在... 閱讀更多
1K+ 次瀏覽
COBOL-DB2 程式可以透過兩種方式將鎖置於 DB2 表中。當程式中執行使用該表的 SQL 語句時。當程式載入到主記憶體中並準備執行時。它會獲取對程式中 SQL 語句中使用的所有 DB2 表的鎖。要在程式載入到主記憶體中或分配給執行緒後獲取所有 DB2 表的鎖,我們必須使用適當的選項和引數綁定計劃。以下是可使用的 JCL 步驟。//BIND... 閱讀更多
885 次瀏覽
DB2 中的鎖是在表和表空間上獲取的,以避免因丟失更新 (LOST UPDATE)、髒讀 (DIRTY READ) 和幻讀 (PHANTOM) 導致的問題。我們需要在使用 ACQUIRE 選項的 BIND 包/計劃步驟中定義鎖引數。一個 COBOL-DB2 程式 PROGA 使用 SQL 語句訪問表 TA。如果我們只需要在程式中執行特定 SQL 語句時才對表加鎖,則需要如下定義 BIND JCL 步驟://BIND EXEC PGM=IKJEFT01 //STEPLIB DD DSN=DIS.TEST.LOADLIB, DISP=SHR //SYSOUT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(TB3) BIND PLAN(PLANA) - PKLIST(PACKA) - ... 閱讀更多