`

DB2个人总结

    博客分类:
  • Db2
阅读更多

DB2身份验证

在数据库管理程序配置(DBM CFG)文件中使用 AUTHENTICATION 参数设置身份验证, DBM CFG 文件是一个实例级配置文件。因此,AUTHENTICATION 参数影响这个实例中的所有数据库。参数修改完毕需要重新启动实例。

get dbm cfg

Server Connection Authentication (SRVCON_AUTH) = KERBEROS

Database manager authentication (AUTHENTICATION) = SERVER_ENCRYPT 类型 描述

---------------------

SERVER                    身份验证在服务器上进行。
SERVER_ENCRYPT    身份验证在服务器上进行。密码在客户机上进行加密,然后再发送到服务器。
CLIENT                     身份验证在客户机上进行(例外情况见 处理不可信的客户机)。

 

DB2授权

在 DB2 可用的 5 种权限中,SYSADM、SYSCTRL 和 SYSMAINT 是实例级权限,这些权限只能分配给组;

可以通过 DBM CFG 文件分配这些权限,不能通过grant语句来授权。

针对特定数据库的 DBADM 和 LOAD 权限可以分配给用户或用户组。可以使用 GRANT 命令显式地分配这些权限。 

----------------------

SYSADM权限:

DB2 中的 SYSADM 权限就像是 UNIX 上的根权限,可以使用这个实例、数据库、对象的任何DB2命令,只允许 SYSADM 用户更新 DBM CFG 文件。SYSADM 权限由 DBM CFG 文件中的 SYSADM_GROUP 参数控制。在 Windows 上,在创建实例时,这个参数设置为 Administrator(但是,如果发出命令 db2 get dbm cfg,它看起来是空的)。在 UNIX 上,它设置为创建这个实例的用户的主组。

SYSCTRL权限:

拥有 SYSCTRL 权限的用户可以在实例中执行所有管理和维护命令。但是,与 SYSADM 用户不同,他们不能访问数据库中的任何数据,除非他们被授予了访问数据所需的特权。SYSCTRL 用户可以对实例中的任何数据库执行的命令示例如下:
 db2start/db2stop
 db2 create/drop database
 db2 create/drop tablespace
 db2 backup/restore/rollforward database
 db2 runstats(针对任何表)
 db2 update db cfg for database dbname

SYSMAINT权限:

拥有 SYSMAINT 权限的用户可以发出的命令是拥有 SYSCTRL 权限的用户可以发出的命令的子集。SYSMAINT 用户只能执行与维护相关的任务,比如:
 db2start/db2stop
 db2 backup/restore/rollforward database
 db2 runstats(针对任何表)
 db2 update db cfg for database dbname
注意,拥有 SYSMAINT 权限的用户不能创建或删除数据库或表空间。他们也不能访问数据库中的任何数据,除非他们被显式地授予访问数据所需的特权。

DBADM 权限:

数据库级权限,而不是实例级权限。DBADM 用户对一个数据库有几乎完全的控制能力。DBADM 用户不能执行某些维护或管理任务,比如:
 drop database
 drop/create tablespace
 backup/restore database
 update db cfg for database db name
但是,他们可以执行以下任务:
 db2 create/drop table
 db2 grant/revoke(任何特权)
 db2 runstats(任何表)
DBADM 用户还被自动地授予对数据库对象及其内容的所有特权。因为 DBADM 权限是一个数据库级权限,所以它可以被分配给用户和用户组。以下命令演示授予 DBADM 权限的不同方法。 db2 grant DBADM on database „ 用grant语句向用户授权

 

 

DB2体系结构

数据库包含许多物理对象和逻辑对象:
-------------------------------

 表、视图、索引、模式
 锁、触发器、存储过程、包
 缓冲池、日志文件、表空间

 

数据库存储模型

--------------------------------

             DB

     partition groups

       Tablespaces

        Containers

 

表空间的区分:

-----------------------------------

系统管理的空间(System-Managed Space,SMS):在这里,由操作系统的文件系统管理器分配和管理空间。在 DB2 9 之前,如果不带任何参数创建数据库或表空间,就会导致所有表空间作为 SMS 对象创建。

数据库管理的空间(Database-Managed Space,DMS):在这里,由数据库管理程序控制存储空间。这种表空间本质上是一种特殊用途的文件系统实现,可以最好地满足数据库管理程序的需要。
DMS 的自动存储(Automatic Storage With DMS):自动存储实际上不是一种单独的表空间类型,而是一种处理 DMS 存储的不同方式。

 

数据库的创建:

DB2默认表空间:

------------------------------------

在创建数据库时,DB2 会创建许多文件,包括日志文件、配置信息、历史文件和三个表空间。这些表空间是:
SYSCATSPACE:这是保存 DB2 系统编目的地方,系统编目跟踪与 DB2 对象相关联的所有元数据。
TEMPSPACE1:DB2 用来放置中间结果的临时工作区域。
USERSPACE1:默认情况下存放所有用户对象(表、索引)的地方。

 

DB2穿件创建数据库实例:

-------------------------------------------------

( 1) CREATE DATABASE MY1STDB

( 2) DFT_EXTENT_SZ 4

 ( 3) CATALOG TABLESPACE MANAGED BY DATABASE USING

( 4) (FILE 'C:\CAT\CATALOG.DAT' 2000, FILE 'D:\CAT\CATALOG.DAT' 2000)

( 5) EXTENTSIZE 8

( 6) PREFETCHSIZE 16

( 7) TEMPORARY TABLESPACE MANAGED BY SYSTEM USING

( 8) ('C:\TEMPTS','D:\TEMPTS')

 ( 9) USER TABLESPACE MANAGED BY DATABASE USING

(10) (FILE 'C:\TS\USERTS.DAT' 121)

 (11) EXTENTSIZE 24 (12) PREFETCHSIZE 48

--------------------------------------

我们来详细地看看每一行:
1. CREATE DATABASE:这个语句定义要创建的数据库的名称。
2. DFT_EXTENT_SZ 4:这个参数告诉 DB2 默认的区段大小是 4 个页面,除非在其他地方显式地声明。
3. CATALOG TABLEPSACE MANAGED BY DATABASE USING:DB2 编目空间将由数据库管理。

4. FILE 'C:\....':表空间的位置将跨两个文件,每个文件有 2,000 个页面的空间。
5. EXTENTSIZE 8:EXTENTSIZE 是 8 个页面。
6. PREFETCHSIZE 16:在查询处理期间,同时读取 16 个页面。
7. TEMPORARY TABLESPACE MANAGED BY SYSTEM USING:DB2 使用的临时空间将由操作系统处理。
8. 'C:\TEMPTS' ...:临时空间将跨两个文件,文件的大小在 DB2 执行期间自动地调整。
9. USER TABLESPACE MANAGED BY DATABASE USING:用户空间(放置真正的表的地方)将由 DB2 直接管理。
10. FILE 'C:\TS\...':这个空间只有一个容器,它由 121 个页面组成。
11. EXTENTSIZE 24:USER 表空间的 EXTENTSIZE 是 24 个页面。
12. PREFETCHSIZE 48:查询将同时预获取 48 个页面。

表空间由区段(extent)组成,也就是说区段是表空间的容器的一个空间单元;区段又由页面组成;表数据都放置在页面上(除了 LOB 和 long varchar 之外)。

 

 

约束性:

主表和附表的关系,可以指定四个规则:RESTRICT、NO ACTION、CASCADE 和 SET NULL。
 如果指定了 RESTRICT 或 NO ACTION,那么 DB2 不允许删除父行。必须首先删除从属表中的行才能删除父表中的行。这条规则是默认设置。
 如果指定了 CASCADE,那么从父表中删除行时还会自动地删除所有从属表中的从属行。
 果指定了 SET NULL,那么从父表中删除父行时从属行中的外键值被设置为空(如果可以为空的话)

 

视图:
CREATE VIEW NONFICTIONBOOKS AS SELECT * FROM BOOKS WHERE BOOKTYPE = 'N' WITH CHECK OPTION 这个视图限制用户只能看到BOOKTYPE=’N’的书;

另外,它还防止用户插入 BOOKTYPE 列的值不为 N 的行,并防止把现有行中 BOOKTYPE 列的值更新为 N 以外的值。例如,下列语句将不再允许使用: INSERT INTO NONFICTIONBOOKS VALUES (...,'F'); UPDATE NONFICTIONBOOKS SET BOOKTYPE = 'F' WHERE BOOKID = 111


索引:
CREATE INDEX idx_policyno ON iacmain (policyno) 在默认情况下,索引按升序创建。

CREATE INDEX policyno1 ON iacmain (policyno DESC, companycode ASC)

 双向索引 CREATE INDEX policyno2 ON iacmain (paidpremium) ALLOW REVERSE SCANS

当查询时,索引会自动引入

 

 

 

 

分享到:
评论

相关推荐

    db2 connect 个人版快速入门

    ### DB2 Connect 个人版快速入门 #### 一、DB2 Connect 个人版简介 DB2 Connect 是由 IBM 开发的一款高性能的数据库连接工具,它主要用于实现非 IBM i 平台(如 Windows、Linux 等)上的应用程序与运行在 IBM i ...

    db2培训总结

    ### DB2培训总结知识点 #### 一、DB2概述 **DB2**是IBM公司研发的一款关系型数据库管理系统,以其卓越的性能、可伸缩性和跨平台兼容性著称。适用于从大型机环境到个人电脑的多种操作系统,包括OS/2、Windows等,...

    db2 个人独家整理

    DB2的数据同步经验总结; db2教程-DB2 CLP 命令的快速参考; db2教程-DB2 性能监控; db2教程-DB2常用傻瓜问题1000问; db2教程-db2数据库的备份和恢复; db2教程-DB2优化; db2教程-DB2中的限制; db2教程-我用DB2这些年; ...

    db2学习笔记(个人总结)

    在IT行业中,数据库管理系统是核心组成部分之一,而DB2作为IBM公司推出的高性能关系型数据库,被广泛应用于企业级系统。本笔记将聚焦于DB2的学习,同时对比分析Oracle和MySQL两种流行数据库的分页实现,旨在帮助读者...

    db2数据库优化技巧,个人总结版

    ### DB2数据库优化技巧 #### 一、监视开关的重要性(第十条) 监视开关是了解数据库性能状况的关键。通过开启监视开关,我们可以收集到各种性能相关的数据,这对于诊断问题至关重要。命令`db2 "update monitor ...

    个人总结DB2常用命令指南

    根据给定的文件信息,以下是对DB2常用命令的一些详细说明和相关知识点: ### 创建DB2实例 在DB2环境中创建实例是初始化数据库环境的重要步骤之一。实例是DB2数据库服务器的一个实例化版本,用于管理数据库文件和...

    IBM 的 DB2个人版快速入门

    根据提供的标题、描述以及部分内容,我们可以总结出关于“IBM 的 DB2个人版快速入门”的相关知识点。 ### 一、DB2个人版概述 IBM DB2是一款高性能的关系型数据库管理系统(RDBMS),由国际商业机器公司(IBM)开发...

    DB2 日常维护汇总

    本篇文章将总结 DB2 的日常维护知识点,包括 DB2 产品的级别、连接到 DB2 数据库的产品、DB2 支持的通讯协议、DB2 客户端产品、数据库安装、DB2 提供的关系扩展器、安装目录结构等。 DB2 产品的级别 DB2 产品有...

    DB2重点解析 第1章db2概述

    DB2产品家族包括多个组件,如DB2纯Scale Edition用于大数据分析,DB2 Express-C提供免费版本供小型企业或个人使用,还有DB2 Advanced Enterprise Server Edition,适用于大型企业关键任务应用。此外,还有DB2 ...

    DB2数据库基础学习

    - **DB2 Express-C**:免费版,适用于中小型企业或个人开发者。 - **DB2 Enterprise Server Edition (ESE)**:企业级数据库服务器,支持大规模数据处理和高并发访问。 - **DB2 Workgroup Server Edition (WSE)**...

    DB2数据库基础与应用开发

    ### DB2数据库基础与应用开发知识点详解 ...掌握DB2不仅能提高个人的技术水平,还能为企业带来更高的业务效益。通过参加官方培训和获得认证,可以更好地理解和运用DB2的各种功能,从而在实际工作中发挥出最大的效能。

    DB2很不错的学习资料

    - `DB2常用SQL技巧及函数.txt` 和 `DB2常用标量函数.txt` 则专门针对SQL使用技巧和常用的标量函数进行了总结,有助于提升日常数据库操作的效率。 通过这些学习资料,你可以系统地学习和掌握DB2的基础知识、SQL语法...

    DB2的几本学习书名

    根据提供的文件信息,这里将为大家总结并推荐几本学习IBM DB2数据库的书籍。这些书籍在互联网上可以找到相应的电子版资源,对于想要深入学习DB2数据库管理与应用的读者来说,是非常有价值的参考资料。 ### 1. 《DB2...

    DB2通用数据库精简版入门

    DB2通用数据库精简版是IBM推出的一款轻量级数据库管理系统,主要面向中小型企业或个人开发者,提供了一种高效、安全且经济的方式来存储和管理数据。本教程将带你逐步走进DB2的世界,从安装配置到实际操作,全面掌握...

    DB2实用工具QC(Quest Central for DB2 v5.0 注册码)

    - **适用对象**:适用于需要管理DB2数据库的企业和个人。 - **功能增强**:相比早期版本,v5.0在用户界面、性能监控等方面进行了优化,增加了更多的自动化脚本支持,提高了工作效率。 ### 二、注册码的重要性及使用...

    SQL数据操作语句大全

    SQL数据操作语句大全 oracle、sql server 、db2 个人总结很好很全面

    db2安装文档

    特别需要注意的是,本文档将重点介绍Express-C版本的安装流程,这一版本主要面向个人学习使用。 #### 二、系统准备 在进行DB2安装之前,确保已经正确设置Linux环境。本文档中使用的Linux版本为CentOS 6.2。此外,...

    Oracle to DB2 Conversion Guide for Linux, UNIX, and Windows

    ### Oracle到DB2转换指南:Linux、UNIX及Windows平台下的迁移知识详解 #### 一、引言 在《Oracle to DB2 Conversion Guide for ...希望本文能为正在进行或计划进行Oracle到DB2转换的企业和个人提供有价值的参考。

Global site tag (gtag.js) - Google Analytics