• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > DB2 9 数据库管理(731 考试)认证指南,第 2 部分: 数据放置

DB2 9 数据库管理(731 考试)认证指南,第 2 部分: 数据放置

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了db2数据库,db2数据库下载,db2创建数据库,db2连接数据库命令,db2删除数据库等相关知识,希望本文的分享对您有所帮助
</div>

创建数据库

数据库目录

对于数据库管理器的每个实例,都有一个系统数据库目录(system database directory)文件,在该文件中,每个被编目到这个实例的数据库都对应着一个条目。当发出 create database 命令时,便自动对数据库进行编目,也可以通过 catalog database 命令来编目数据库。

在定义了数据库的每个驱动器或路径中,都有一个本地数据库目录(local database directory)文件。在这个文件中,对于可从这个位置访问的每个数据库,都有一个条目。

创建数据库

当创建一个数据库时,会执行以下任务:

设置数据库所需的所有系统编目表

为数据库恢复日志分配空间

创建数据库配置文件和默认的值集

将数据库实用程序绑定到数据库

create database 命令

为创建一个数据库,可使用命令:create database

您可以选择指定以下信息:

存储路径

用于编目分区的数据库分区号

用于创建数据库的驱动器或路径

代码集和国家

排序序列

默认的盘区大小

是否应该自动配置数据库

CATALOG、TEMPORARY 和 USERSPACE1 表空间的表空间定义

默认的数据库

create database 命令创建三 个默认的表空间:

SYSCATSPACE 用于系统编目表。SYSCATSPACE 不能被删除。 TEMPSPACE1 用于系统创建的临时表。当创建了另一个临时表空间时,可删除 TEMPSPACE1 表空间。 USERSPACE1 用于用户创建对象的默认表空间。当创建了另一个用户创建的表空间时,可删除 USERSPACE1 表空间。

系统编目表

对于每个数据库,都会创建和维护一组系统编目表。这些表包含关于数据库对象(例如表、视图、索引和包)的定义的信息和关于用户所拥有的对这些对象的访问权限类型的安全信息。这些表存储在 SYSCATSPACE 表空间中。

目录结构

取决于操作系统,create database 命令允许指定用于在其中创建数据库的驱动器或目录。

如果没有指定驱动器或目录,那么数据库就创建在 DFTDBPATH 实例(数据库管理器)配置参数所指定的路径中。

如果没有指定驱动器或目录,并且 DFTDBPATH 实例级配置参数也没有设定,那么数据库就创建在执行 create database 命令时所在的驱动器或目录上。

create database 命令创建一系列的子目录。第一个子目录按被创建数据库所在实例的实例所有者来命名。在这个子目录下,DB2 创建一个目录,以表明该数据库被创建在哪个数据库分区上。

对于非分区数据库,该目录为 NODE0000。对于分区数据库,该目录将被命名为 NODExxxx,其中 xxxx 是一个四位数的数据库实例的分区号,这个分区号在 db2nodes.cfg 文件中指定。例如,如果分区号为 43,那么该目录就是 NODE0043。

在 Windows 中,实例并没有真正的实例所有者,所以这里将使用实例的名称(例如 DB2)代替实例所有者的 ID。

由于在同一个驱动器或目录中可以创建不止一个数据库,因此每个数据库必须有其惟一的子目录。在 NODExxxx 目录下,对于在该驱动器或目录中创建的每个数据库,都有一个 SQLxxxxx 目录。例如,假设有两个数据库 DBASM 和 SAMPLE,它们都是在 Windows 上的 C: 盘中创建的。那么就会有以下两个目录:SQL00001 和 SQL00002。

要确定数据库被创建在哪个目录中,可以输入命令 list database directory on C:。该命令将产生如下所示的输出:

DB2 9 数据库管理(731 考试)认证指南,第 2 部分: 数据放置

在上面的例子中,数据库 SAMPLE 被创建在 NODExxxx 目录下的 SQL00001 目录中,而数据库 DBASM 则被创建在 SQL00002 目录中。

默认情况下:

系统编目表空间(SYSCATSPACE)将使用目录 SQLT0000.0。

系统临时表空间(TEMPSPACE1)将使用目录 SQLT0001.0。

默认用户表空间(USERSPACE1)将使用目录 SQLT0002.0。

Linux/UNIX 示例 create database 命令

要在目录(文件系统)/database 中创建一个数据库,可使用以下命令:

create database sample on /database

如果该命令是在名为 dbinst 的实例中执行,并且该实例处在定义了数据库分区 0 的服务器上,那么将创建以下目录结构:

/database/dbinst/NODE0000/sqldbdir

/database/dbinst/NODE0000/SQL00001

示例 Windows create database 命令

要在 D: 盘上创建一个数据库,可使用以下命令:

create database sample on D:

如果该命令是在名为 dbinst 的实例中执行,并且该实例处在定义了数据库分区 0 的服务器上,那么将创建以下目录结构:

D:dbinstNODE0000sqldbdir

D:dbinstNODE0000SQL00001

创建 DMS 类型的 USERSPACE1 表空间

为了使用两个文件容器创建一个数据库,并将 USERSPACE1 表空间定义为数据库管理的表空间(DMS),可使用以下命令:

在 Linux 或 UNIX 上:

create database sample2 user table space managed by database
      using(file '/dbfiles/cont0' 5000, file '/dbfiles/cont1' 5000)

在 Windows 上:

create database sample2 user table space managed by database
      using(file 'c:dbfilescont0' 5000, file 'c:dbfilescont1' 5000)

用用户定义的容器创建 TEMPSPACE1 表空间

为了创建一个数据库,并使 TEMPSPACE1 表空间使用两个 SMS 容器(见 SMS 表空间), 可使用以下命令:

在 Linux 或 UNIX 上:

create database sample3 temporary tablespace managed by system
      using('/dbfiles/cont0', '/dbfiles/cont1')

在 Windows 上:

create database sample3 temporary tablespace managed by system
      using('c:dbfilescont0', 'c:dbfilescont1')

改变数据库的排序序列

命令(在 Linux 和 UNIX 中):

create database SAMPLE on /mydbs collate using identity

或者,在 Windows 上:

create database SAMPLE on D: collate using identity

创建一个数据库,并逐字节地比较字符串,因为排序序列已经被设为 identity。

自动存储

什么是自动存储?

自动存储(automatic storage)是 DB2 V9 中的新特性,它允许为一个数据库指定一个或多个存储路径。当您创建表空间时,DB2 自动将表空间放在指定的存储路径上。在创建数据库时,可以为之启用或配置自动存储,命令如下:

db2 create database db_name automatic storage yes
db2 create database db_name on db_path1, db_path2

还可以使用 add storage 参数为设置了自动存储的数据库添加附加的存储路径,方法如下:

db2 alter database db_name add storage on db_path3

使用自动存储

一旦为数据库设置了自动存储,就可以使用这种机制来创建表空间。为数据库设置了自动存储后,您可以有多种方法来利用自动存储。您可以在数据库中创建一个表空间(在连接到数据库之后),如下所示:

db2 create tablespace ts_name

或者,您可以创建一个表空间,并指定它的初始大小和增长特征,如下所示:

db2 create tablespace ts_name
  initialsize 10M
  increasesize 10M
  maxsize 100M

在这个例子中,表空间初始大小为 10MB,当表空间接近大小限制时,DB2 每次自动将表空间扩大 10MB,直到表空间达到 100MB 的最大值。

如果数据库没有设置自动存储,那么,如果您创建一个表空间并指定它的存储,则仍然可以为之使用自动存储:

 db2 create tablespace ts_name
  managed by automatic storage

使用模式

什么是模式?

模式(schema)是用于在数据库中创建的数据库对象的一个高级限定符。它是数据库对象,例如表、视图、索引或触发器的一个集合。它提供了数据库对象的一个逻辑分类。

除了将数据组织到表中外,将表和其他相关对象组织在一起同样能带来好处。为此,可以使用 create schema 命令来定义一个模式。关于模式的信息存储在您所连接的数据库的系统编目表中。当创建其他对象时,可以将它们放在这个模式中。

系统模式

对于每个数据库,都会创建一组系统模式,并将它们放在 SYSCATSPACE 表空间中:

SYSIBM 基本系统编目。不建议直接访问它。 SYSCAT 这种模式上的 SELECT 权限被授给 PUBLIC。只读编目视图。建议通过它来获得编目信息。 SYSSTAT 可更新编目视图 —— 会影响优化器。 SYSFUN 用户定义函数。

DB2 中如何使用模式?

使用模式来完全限定一个表或其他对象名,如下所示:

schemaname.tablename

您可以有多个具有相同名称、不同模式名称的表。因而,表 user1.staff 与表 user2.staff 是不同的。因此,您可以使用模式在 DB2 数据库中创建逻辑数据库。

为创建一个模式,可使用 create schema 命令。

谁可以使用模式?

当您可以创建一个模式时,就可以使用 authorization 关键字指定模式的所有者;否则,执行 create schema 语句的授权 ID 将成为模式的

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接 .
  • DB2比较常用与实用sql语句总结
  • DB2 常用命令小结
  • DB2 常用命令速查(备忘)
  • 创建一个空的IBM DB2 ECO数据库的方法
  • DB2编程序技巧(1)
  • DB2大事记
  • DB2中的数据移动(一)
  • DB2 9(Viper)快速入门
  • IBM DB2 Connect简介(1)

相关文章

  • 2017-06-28用于监控DB2实例和数据库的新的DB2 UDB工具
  • 2017-06-28DBA必须具备跨平台管理不同RDBMS的能力
  • 2017-06-28如何降低DB2的管理表空间的高水位标记
  • 2017-06-28Windows平台下DB2 Express-C的安装
  • 2017-06-28DB2 最佳实践: 部署 IBM DB2 产品,第 1 部分:部署规划、安装方法及响应文件创建
  • 2017-06-28利用优化概要文件进行 SQL 调优
  • 2017-06-28访问 IBM 数据库服务器的新方式 —— 构建 Web 服务
  • 2017-06-28DB2中创建一个汉字拼音首字母的SQL函数
  • 2017-06-28IBM DB2 Express-C 9.5.2中激动人心的新特性
  • 2017-06-28使用DB2look实用程序重新创建优化器访问计划(3)

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • db2 和 postgresql 研发的异同
    • 如何在DB2中更新执行计划
    • 在 Windows 中用 GCC 编译 DB2 UDB 存储过程
    • DB2 9:XML数据和关系数据相互转化
    • DB2编程序技巧 (一)
    • 开发基于 DB2 Everyplace 产品的快递解决方案
    • 为 DB2 XML 数据开发 Java 应用程序
    • DB2的表数据加密
    • 内容管理:未雨绸缪的内容管理
    • DB2中有关日期和时间的函数及应用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有