DB2学习笔记--1

一 数据控制语言(DCL)

1.GRANT语句

使用 GRANT 语句可以向单个用户或组显式授予权限和特权,授权对象包括数据库、 表空间、表、视图、索引、包和模式。

GRANT 的语法如下:
GRANT privilege ON object-type object-name
TO {USER|GROUP|PUBLIC} authorization-name
WITH GRANT OPTION

PUBLIC 关键字表示将特权授予所有用户。 WITH GRANT OPTION 允许被授权的对象进一步将权限授予其他用户。

2.REVOKE语句

使用 REVOKE 语句可以显式撤销单个用户或组的权限和特权,撤销权限的对象包括数 据库、表空间、表、视图、索引、包和模式。

REVOKE 的语法如下:
REVOKE privilege ON object-type object-name
FROM {USER|GROUP|PUBLIC} authorization-name

PUBLIC 关键字表示将撤销所有用户的特权。

二 数据定义语言(DDL)

1.CREATE语句

CREATE 语句用于创建数据库对象,包括:

  • 数据库(DATABASE)

  • 表(Table)

  • 表空间(Table Space)

  • 触发器(Trigger)

  • 视图(View)

  • 别名(Alias)

  • 缓冲池(Buffer Pool)

  • 函数(Function)

  • 索引(Index) ......

    每当用户创建数据库对象时,都会更新系统目录。如下所示是一个 CREATE 语句的示例,建立一张表:

CREATE TABLE org(
depnum SMALLINT NOT NULL, depname VARCHAR(14), manager SMALLINT, division VARCHAR(10), location VARCHAR(13))

这条语句创建了一个 5 列的表,表名为 org。粗体小写字部分表示每个列的列名,非粗 体大写字部分表示对应的数据类型。

2.DECLARE语句

DECLARE 语句和 CREATE 语句是一样的,只有一点例外,用它所创建的是只能在数 据库连接期间存在的临时表。当要用到中间结果时,临时表是十分有用的。同任何其他表 一样,声明过的表可以被引用,也可以被修改或删除。表是唯一可以被声明的对象。当用 户声明临时表时,系统目录不会被更新。可以使用 DECLARE GLOBAL TEMPORARY TABLE 语句来声明临时表,如:

DECLARE GLOBAL TEMPORARY TABLE session.temp1LIKE employeeON COMMIT PRESERVE ROWSNOT LOGGED
IN mytempspace

在这个示例中,DECLARE GLOBAL TEMPORARY TABLE 语句用来声明一个临时表, 表名为 temp1,位于用户现有的一个名为 mytempspace 的临时表空间中。这张表的列名和 定义同 employee 一样。每当处理 COMMIT 语句时,临时表中的行就会被保留下来(不会 被删除)。最后,对临时表所做的更改不会记入日志。

3.ALTER语句

ALTER 语句可以用来改变现有数据库对象的一些特性,包括:

  • 数据库(DATABASE)

  • 表(Table)

  • 表空间(Table Space)

  • 触发器(Trigger)

  • 视图(View)

  • 别名(Alias)

  • 缓冲池(Buffer Pool)

  • 函数(Function)

  • 索引(Index) ......

注意:不可以修改索引,如想要修改索引,就必须删除它然后用不同的定义创建新的索引。

4.DROP语句

DROP 语句可删除任何 CREATE 或 DECLARE 语句所创建的对象。DROP 语句将在删 除数据库对象的同时也删除系统目录中关于该对象的定义。由于数据库对象之间可能存在 某些依赖关系,所以删除对象可能会使有关的对象变成无效的状态。

DECLARE GLOBAL TEMPORARY TABLE session.temp1LIKE employeeON COMMIT PRESERVE ROWSNOT LOGGED
IN mytempspace

Buffer pool

Buffer pool 也称为虚拟 Buffer pools(缓冲池),是 Table Space 或 Index 的 pages 的临时 虚拟存储区域,实际位于 DBM1 地址空间的 2G 线上区域。DB2 通过定义 Buffer pool 来降 低 I/O 成本的。DB2 在 Buffer pool 中存放最近访问过的表和索引页面,当应用程序需要访 问数据时,如果该数据行对应的页面存放在 Buffer pool 中就可以避免从磁盘上读取,减少 了物理 I/O 的次数,能够显著提高性能。

DB2 提供下列缓冲池:
  • 50 个 4KB 页面的缓冲池(命名从 BP0 到 BP49)。
  • 10 个 8KB 页面的缓冲池(命名从 BP8K0 到 BP8K9)。
  • 10 个 16KB 页面的缓冲池(命名从 BP16K0 到 BP16K9)。
  • 10 个 32KB 页面的缓冲池(命名从 BP32K0 到 BP32K9)。 缓冲池的大小是按照页为单位指定的。
    用户定义表空间时指定对应的 Buffer pool,在访问该表空间时 DB2 系统就会按照定义将表空间的记录装载到定义的 Buffer pool 中。

DSNZPARM

DB2 子系统各项环境参数和系统配置,都是通过在 DB2 系统启动时指定的一系列系统 参数设置的。这些系统参数通常被称为 DSNZPARM 或简称为 ZPARM。
DSNZPARM 中定义了许多 DB2 的关键参数,它是由一系列 DSN6XXX 的宏参数组成 的,通过执行 DSNTIUZ 这个 CLIST,实现编译链接,生成一个模块,用于在 DB2 启动时装载。
在 DB2 6 版本以前,绝大部分系统参数的修改只能通过重新编译 DSNZPARM,并重 新启动 DB2,让编译后的 ZPARM 重新 LOAD 到 DB2 系统内存中才能生效。这种做法影 响了 DB2 系统的连续运行,降低了系统可用性。在 DB2 7版本后,可以支持部分系统参数的联机生效,通过引入一个 SET SYSPARM 的命令,实现将新编译生成DSNZAPRM 模 块联机装载到正在运行的DB2系统中,大大提高了DB2的可用性.

DB2 系统的地址空间

为了能够正常运行,DB2 系统需要运行以下几个地址空间:ssnmMSTR、ssnmDBM1、
ssnmIRLM、ssnmDIST。

1. ssnmMSTR

这个地址空间是必需的,它的主要功能是提供子系统服务。
它主要控制如下的操作:

  • 控制访问 DB2 的用户数量。
  • 管理 DB2 监控和启停的组件和 DB2 命令处理。
  • 记录数据改变前后的日志。
  • 保护输入和输出日志缓存。
2. ssnmDBM1

这个地址空间是必需的,它的主要功能是提供数据库服务管理。
这个地址空间的主要部件包括:
Relational Data Services(RDS)Stage 2 SQL 的处理。 Data Manager(DM)Stage 1 SQL 的处理。
Buffer Pool Manager。
Buffer Pool Areas。
RID Pool Area。
Sort Spaces。
Work Space。
EDM Pool(Environmental Descriptor Manager)。

3 ssnmIRLM

这个地址空间也是必需的,它的主要功能为锁管理:锁的建立和释放及死锁的检测。 每个 DB2 系统都有一个自己的锁资源管理器,不能在多个 DB2 系统之间共享 IRLM。IRLM 和 DB2 一起对数据的访问进行串行化,当应用、命令、工具程序等都试图访问一份同样的 数据时,DB2 向 IRLM 申请锁以确保数据的一致性。

4 ssnmDIST

这个地址空间不是必需的,它的功能是控制与 VTAM 之间的接口,管理分布式的数据 访问。当有分布式数据访问需求时启动。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/13955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OTP8脚-全自动擦鞋机WTN6020-低成本语音方案

一,产品开发背景 首先,随着人们生活质量的提升,对鞋子的保养需求也日益增加。鞋子作为人们日常穿着的重要组成部分,其清洁度和外观状态直接影响到个人形象和舒适度。因此,一种能够自动清洁和擦亮鞋子的设备应运而生&am…

局部直方图均衡化去雾算法

目录 1. 引言 2. 算法流程 3. 代码 4. 去雾效果 1. 引言 局部直方图算法是一种基于块的图像去雾方法,它将图像分割为若干个块,并在每个块内计算块的局部直方图。通过对各个块的直方图进行分析和处理,该算法能够更好地适应图像中不同区域的…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-16讲 EPIT定时器

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

js是单线程还是多线程,为什么是线程而不是进程

JavaScript 在浏览器环境中主要是单线程的,而在 Node.js 环境中,虽然 JavaScript 代码本身仍然是在单线程中执行的,但 Node.js 底层利用了多线程来处理 I/O 操作等异步任务。 下面我会解释为什么 JavaScript 在浏览器环境中主要是单线程&…

再谈Google I/O 2024:开发者必看亮点

在2024年Google I/O大会上,谷歌发布了许多令人兴奋的新技术和工具。本文将重点介绍其中的三大亮点:新一代TPU、Gemma模型以及Firebase GenKit。这些工具和技术对于开发者来说,将会带来前所未有的便利和强大功能。 新一代TPU:Tril…

centOS7.9 DNS配置

1.DNS规划 dns.sohu.com192.168.110.111Awww.sohucom192.168.110.112Aoa.sohu.com 192.168.110.113A 2.安装 bind yum install -y bind bind-utils 3. 编辑主配置文件 vim /etc/named.conflisten- on port 53 { any; }; allow- query { any; }; 4.配置区域文件 …

在MySQL数据库中的视图和事务。

视图 view 临时表 作用:优化多表查询的效率 可以将经常使用的连接查询结果使用视图进行保存,避免多次重复的笛卡尔积运算 MySQL数据库在多表查询的时候会自动进行笛卡尔积运算。 如果将来经常要用到某一个多表查询的结果就可以使用视图将这个结果…

若依框架二次开发指南:从基础到高级定制

若依框架(RuoYi)作为一个基于Spring Boot和MyBatis的快速开发平台,其强大的功能和灵活的架构设计使其成为企业级应用开发的理想选择。然而,随着业务需求的不断变化,原生的若依框架可能需要进行一定程度的定制和扩展。本…

前端面试题日常练-day30 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末。 1. 在Vue中,以下哪个选项用于根据条件渲染多个元素? a) v-if b) v-bind c) v-model d) v-for 2. Vue中,以下哪个选项用于在计算属性中处理异步操作&#xff1f…

图生视频 学习笔记

目录 免费文生视频模型还支持4K分辨率——Viva open-sora 潞晨科技 图生视频Runway Pika 文生视频、图生视频 免费文生视频模型还支持4K分辨率——Viva 1、文生视频 2、图生视频 3、视频4K高清 4、区域重绘 5、自动扩图 6、区域抠图 作者:C叔聊历史 https:…

Visual Studio中MP编译参数

MP通常与OpenMP(Open Multi-Processing)关联,它是用于多平台共享内存并行编程的一个API。 在编译C或C代码时使用OpenMP,通常需要特定的编译参数来启用这一功能。对于GCC和G编译器,这些参数包括: -fopenmp…

Java虚拟机原理(上)-揭秘Java GC黑匣子-知其所以然,从此不再捆手捆脚

对于Java开发者来说,GC(垃圾回收器)就如同一个神秘的黑匣子,它在背后不知疲倦地运作,却也时常给我们带来诸多疑惑和挫折。今天,就让我们切开这个黑匣子,深入解析Java GC的工作原理,助你了解其中的奥秘&…

SpringBoot anyline

1、定义通用处理 public interface ClickHouseBaseService extends IService<DataRow> {/*** 根据sql查询数据库&#xff0c;返回集合对象** param sql 执行sql* return {link DataSet} 数据集*/DataSet querys(String sql);/*** 根据sql查询数据库&#xff0c;返回单个…

云手机在软件测试中的作用,为软件测试工程师减负

针对每家企业来说&#xff0c;对于即将上线的软件进行测试这一步骤是不可忽视的&#xff0c;这决定产品上线后的质量和口碑&#xff1b; 传统的的真机测试可能面临设备大量的采购&#xff0c;管理和维护的成本提高&#xff0c;现在不少企业都开始用云手机来代替真机&#xff0…

24.zabbix高可用

环境准备 准备三台机器 主机名字IP地址软件环境zabbix-server01192.168.111.70httpdphpkeepalivedsshpasszabbix serveragentzabbix-server02192.168.111.71httpdphpkeepalivedsshpasszabbix serveragentzabbix-agent192.168.111.80zabbix agentmysql VIP规划&#xff1a;19…

AWS计算之Batch

AWS Batch是亚马逊提供的一项批量计算服务&#xff0c;旨在帮助用户高效地处理大规模的计算工作负载。AWS Batch可以自动调度、运行和监控批处理作业&#xff0c;用户无需管理底层的计算资源&#xff0c;可以专注于编写和提交作业。AWS Batch提供了灵活的配置选项&#xff0c;包…

《Ai-企业知识库》-讨论、构思01

阿丹&#xff1a; 经过几天的Ai学习&#xff0c;开始对于整个大模型&#xff0c;开始有清晰的认知了。开始准备上手操作&#xff0c;编程自己去写一些东西了。 什么是会话AI? 一个计算机程序&#xff0c;允许人类使用各种输入方法&#xff0c;如语音&#xff0c;文字&#x…

使用STM32F103读取TF卡并模拟U盘:使用标准库实现

使用STM32F103读取TF卡并模拟U盘&#xff1a;使用标准库实现 STM32F103是一款流行的ARM Cortex-M3微控制器&#xff0c;在嵌入式系统中广泛应用。本文将介绍如何使用STM32F103读取TF卡&#xff0c;并将其模拟成U盘&#xff0c;让电脑可以读取TF卡的内容。我们将使用标准库&…

Spring常见问题

如何理解spring属于低侵入式设计&#xff1f; 在代码中不需要写明具体依赖对象&#xff0c;在运行时进行自动注入&#xff0c;降低了组件的耦合依赖的是接口&#xff0c;而接口的实现类具有拓展性 Spring IOC 实现了什么功能&#xff0c;谈谈你对IOC的理解。 负责创建对象&…

【云原生】K8s管理工具--Kubectl详解(一)

一、陈述式管理 1.1、陈述式资源管理方法 kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口kubectl 是官方的 CLI 命令行工具&#xff0c;用于与 apiserver 进行通信&#xff0c;将用户在命令行输入的命令&#xff0c;组织并转化为apiserver 能识…