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 BP03 CREATE 和 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) - ... 阅读更多