DB2 Zos 浅谈 - DB2 LUW VS DB2 Zos

概述:

各位可能对DB2 LUW了解得比较多,但对DB2 Zos(大机操作系统)知之甚少,因为IBM的内部资料一向是比较封闭的,特别是我们在市场上很少看到的产品,比如Zos操作系统,一般来说都是银行内部供职的人员还有IBM的员工才会接触到,圈子比较小。

本次分享主要对比DB2 LUW 与DB2 for Zos,帮助我们快速理解大机DB2的架构。

DB2 Zos简介:

在Z/os操作系统下可同时运行多个DB2子系统,   每个子系统对应一组DB2的地址空间(Address Space):ssnmMSTR、ssnmDBM1、ssnmDIST、ssnmSPAS、ssnmWLM、ssnmIRLM, 其中的ssnm为SUBSYSTEM NAME。

一个DB2子系统主要由以下三个地址空间组成

DBM1(DATABASE ADDRESS SPACE):

提供数据库服务的地址空间,主要包括SQL Process、Buffer manage,Bind。

MSTR(SYSTEM SERVICE ADDRESS SPACE):

提供系统服务的地址空间,执行各种系统相关功能,

主要有Thread management、Log management、Checkpoint、Trace。

IRLM(INTERNAL RESOURCE LOCK MANAGER):

提供内部资源锁定管理的地址空间,即Lock Management。

用DB2命令” START DB2”可启动这些地址空间。

例如:在生产的SD.DA中可以看到:BB1AIRLM、BB1AMSTR、BB1ADBM1

DB2 LUW DB2 Zos 对比:

下图为DB2 LUW的架构,可以看到服务端的整个NODE(网络里的一台计算机)含两个实例 INST1 和 INST2,每个实例里各含两个数据库(DB001,DB002)(DB003,DB004),每个数据库里含三个表空间(catalog, tempspace1, userspace1)。每个数据库里有数据库级的配置文件和日志文件(DB Config, LOGS)。整个实例还有实例级的配置文件,客户端可以连接到服务端。

下图为DB2 for Zos的架构图,服务端整个LPAR(主机虚拟的计算机)含两个子系统(DB7G, DB8G,相当于分布式平台里的实例),每个子系统里含四个系统数据库(DSNDB*),一个用户数据库(DB001),用户数据库里含一个用户表空间。整个子系统级别有日志文件和BSDS文件。整个子系统有子系统级的配置文件。客户端通过DB2 CONNECT 和 DDF (Distributed Data Facility)可以连接到服务端。

下图通过对ZOS 和 LUW的DB2的不同进行对比,可以看出有部分在LUW中为表空间属性的,在ZOS用数据库的属性来代替。


下面我们简单介绍一下ZOS中几个重要的数据库:

DIRECTORY DATABASE(DSNDB01)由一系列的Tablespace组成,它包含DB2正常操作所需的Control Block和状态信息,不能使用SQL语句来访问DIRECTORY。

它包括的Tablespace有:

DBD01 DATABASE DESCRIPTOR TABLESPACE,存放定义在DB2系统中的所有Database的内部描述符,即DBD,它是所有DB2中的对象的内部描述。

SCT02 SKELETON CURSOR TABLESPACE,包括DBRM的存取路径的信息,应用程序的SQL语句的内部形式等。每当Bind一个PLAN,DB2就会在SCT02中创建一个Skeleton Cusor Table。

SPT01 SKELETON PACKAGE TABLESPACE,包括PACKAGE的存取路径的信息,应用程序的SQL语句的内部形式等。每当Bind一个PACKAGE,DB2就会在SPT01中创建一个SKELETON PACKAGE TABLE。

   SYSUTILX SYSTEM UTILITIES TABLESPACE,在DB2中运行的每一个Utility,在SYSUTILIX中都有一条记录来描述该Utility的状态信息,在Utility正常结束或终止之后这条记录就被删除了,但是对于异常停止的Utility是不删除的,当重新启动异常停止的UTILTIY时会用到这条记录。

SYSLGRNX LOG RANGE TABLESPACE,记录Tablespace,

Indexspace和Partition在Open和Close时的Log RBA值。

DB2的CATALOG DATABASE(DSNDB06)由一系列的Table组成,记录了定义在DB2中的所有Object的相关信息,可以使用SQL语句对其进行操作。这些系统表名为‘SYSIBM.SYS*’。

DSNDB06中主要包含以下内容:

通过Data Definition Language(DDL)定义的所有

的Object

Application Package

Application Plan

所有授权用户及其权限范围

Image Copy Dataset的名字和所在的卷

DSNDB04在安装DB2子系统时定义的。如果用户创建Table或Tablespace时没有指定Database,系统将自动指定缺省的Database—DSNDB04,其缺省的Buffer Pool为BP0,缺省的Storage Group为SYSDEFLT.

另外,我们需要对DB2I有所了解。熟练使用DB2I, 基本就能解决简单的zos运维了。

DB2I 是 9000系统上 DB2系统为用户提供的一个交互式的应用工具,在 DB2I 里,用户可以执行任意 SQL语句、自动生成数据库表结构定义、准备用户程序、预编译用户程序、BI ND计划或包、执行用户程序、执行 DB2 命令、运行 DB2 工具程序。DB2I 是 DB2 开发人员经常会使用到的工具,这里我们就经常用到的一些功能作简要介绍。

下面是 DB2I 的初始画面:

各选项的功能是:

1 SPUFI 用来编写 SQL语句,并运行产生结果

2 DCLGEN 自动生成不同语言的表结构和宿主语言的定义

3 PROGRAM PREPARATI ON 通过多层画面输入准备程序所需要的各种参数,来完成程

序的预编译、编译、预连接、连接和执行各个步骤

4 PRECOMPI LE 通过画面输入必要的参数来对源程序进行预编译

5 BI ND/ REBI ND/ FREE 绑定、重绑定或释放计划或包

6 RUN 执行 SQL程序

7 DB2 COMMANDS 执行 DB2命令

8 UTI LI TI ES 执行其他 DB2工具程序

D DB2I DEFAULTS 设置全局参数

X EXI T 退出

转载于:https://blog.51cto.com/5063935/2074276

DB2 Zos 浅谈 - DB2 LUW VS DB2 Zos的更多相关文章

  1. 浅谈DB2的四个隔离级别

    隔离级别定义用于控制并发事务的行为,它决定在访问数据时数据是如何锁定的.如何与其他进程隔离的. 包括四个级别,级别从高到低: RR(可重复读取) RS(读取稳定性) CS(游标稳定性) UR(未提交的 ...

  2. db2操作 连接、备份、恢复db2

    先deactivate后再start standby再primary报错不能启动hadr standby的时候,先restore,但是别rollback,直接start hadr as standby ...

  3. 浅谈c#的三个高级参数ref out 和Params C#中is与as的区别分析 “登陆”与“登录”有何区别 经典SQL语句大全(绝对的经典)

    浅谈c#的三个高级参数ref out 和Params   c#的三个高级参数ref out 和Params 前言:在我们学习c#基础的时候,我们会学习到c#的三个高级的参数,分别是out .ref 和 ...

  4. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  5. 浅谈 LayoutInflater

    浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...

  6. 浅谈Java的throw与throws

    转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...

  7. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  8. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  9. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

随机推荐

  1. 如何优雅的关闭基于Spring Boot 内嵌 Tomcat 的 Web 应用

    背景 最近在搞云化项目的启动脚本,觉得以往kill方式关闭服务项目太粗暴了,这种kill关闭应用的方式会让当前应用将所有处理中的请求丢弃,响应失败.这种形式的响应失败在处理重要业务逻辑中是要极力避免的 ...

  2. Java反射(六)纯面向接口编程的简单框架实践

    我们知道在使用MyBatis开发时,只需要添加DAO接口和对应的映射XML文件,不需要写DAO的实现类,其实底层是通过动态代理实现. 本文将使用前几篇文章的知识点实现一个纯面向接口编程的简单框架,与M ...

  3. java对于目录下的相关文件的单词操作

    写入文件的目录.代码通过找目录下的文件,进行相关函数的操作.如果目录下面包含子目录.代码设有调用递归的方法,在寻找子目录下的文件 在进行相关的函数操作.函数主要是按用户输入的个数要求输出文件中出现次数 ...

  4. go 递归函数

    一.什么是递归函数? 当一个函数在其函数体内调用自身,则称之为递归. 二.引用经典例子:斐波那切数列 package main import "fmt" func main(){ ...

  5. hive常用函数二

    逻辑运算: 1. 逻辑与操作: AND 语法: A AND B 操作类型:boolean 说明:如果A和B均为TRUE,则为TRUE:否则为FALSE.如果A为NULL或B为NULL,则为NULL 举 ...

  6. 国外的一个代码 仓库 github --- 里面类似一个svn 的代码仓库

    https://github.com/wzhanke/shell 用户:wzh.e 邮箱:wzh.e@x.com 登陆密码:*wzh.e8*9

  7. 【Java】【设计模式 Design Pattern】单例模式 Singleton

    什么是设计模式? 设计模式是在大量的实践中总结和理论化之后的最佳的类设计结构,编程风格,和解决问题的方式 设计模式已经帮助我们想好了所有可能的设计问题,总结在这些各种各样的设计模式当中,也成为GOF2 ...

  8. 弹幕有点逗比,用 Python 爬下来看看《民国奇探》的弹幕

    电视剧<民国奇探>是一部充斥着逗比风的探案剧,剧中主要角色:三土.四爷.白小姐,三土这个角色类似于<名侦探柯南>中的柯南但带有搞笑属性,四爷则类似于毛利小五郎但有大哥范且武功高 ...

  9. 如何教零基础的人认识Python

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 编程派 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...

  10. OAuth-授权机制

    一.应用场景 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片. 问 ...