• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > 利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

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

匿名通过本文主要向大家介绍了利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows等相关知识,希望本文的分享对您有所帮助
</div>

简介

我们谈到了如何利用 MS SQL Server 2000 方面的技能学习 DB2。您对 Oracle 背景知识的熟悉程度更超过 SQL Server 吗?如果是这样,那么请继续阅读。在本文中,我们将展示如何使用您现有的 Oracle 10g 知识来快速掌握 DB2 9 方面的技能。

在 2006 年 7 月 28 日,IBM 发布了 DB2 9 for Linux, UNIX, and Windows,这是一种真正的混合型数据服务器,可满足当今苛刻的业务需求。 DB2 9 是当今惟一采用 pureXML™ 技术的数据服务器,这种技术允许以原生的形式存储 XML,也就是说,以分层格式存储 XML。 DB2 9 的其他特性包括行压缩、基于标签的访问控制(label based access control,LBAC)安全性以及自调优内存管理器(Self-tuning Memory Manager,STMM)等自治特性。本文首先对 DB2 与 Oracle 作一个比较,然后着重介绍 DB2 9 中的新特性。

注意:在本文后面的内容中,我们将使用术语 “Oracle” 来表示 Oracle 10g Release 2,而用 “DB2” 表示 DB2 9 for Linux, UNIX, and Windows。

系统结构概述

首先,我们需要理解 Oracle 使用的架构,并理解它与 DB2 的不同之处。图 1 展示了 Oracle 的系统结构。将该图与 图 2 进行比较,后者显示了 DB2 的系统结构。在阅读本文的时候,为便于理解,可以参照这两个图。

图 1. Oracle on Linux, UNIX, and Windows Version 10.2 的系统结构

利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

图 2. DB2 on Linux, UNIX, and Windows 系统结构

利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

实例

在 Oracle 和 DB2 中,实例 的概念是类似的。在这两者之中,实例都是指后台进程与共享内存的组合。两者之间的主要差别在于,在 Oracle 中每个实例只能有一个数据库,而在 DB2 中多个数据库可以共享一个实例。

在 Oracle 中,由于数据库与实例是一对一的关系,因此用 CREATE DATABASE 命令创建一个数据库的同时便隐式地创建了一个实例。或者,为了在计算机上创建一个 Oracle 实例,也可以使用 Database Configuration Assistant,或者使用 ORADIM 实用程序,后者是 Oracle 9i 通过 NEW 选项提供的。另外还必须提供某些信息,包括系统标识符(System Identifier,SID)或一个服务名称、实例密码、最大用户数、启动模式等等。类似地,为了删除实例,可以使用 ORADIM 实用程序加 DELETE 选项。这里需要提供 SID 或服务名称。除非在安装过程中创建一个新的数据库,否则在以 fresh 方式安装 Oracle 的时候,不会创建缺省的实例。

在 DB2 中,当在 Windows 平台上安装了该产品之后,便缺省地创建了一个实例 "DB2"。在 Linux 和 UNIX 中,缺省的实例名称为 "db2inst1"。若要在同一台计算机上创建另一个实例,只需执行命令 db2icrt <instance name>。

图 3 展示了缺省的 DB2 实例 “DB2”(在 Windows 中)和从 DB2 Control Center GUI 中用 db2icrt 命令创建的另外两个实例。

图 3. 显示 DB2 实例的 DB2 Control Center GUI

利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

若要在命令行接口中引用给定的 DB2 实例,可以使用环境变量 DB2INSTANCE。通过这个变量,可以指定当前活动实例,所有命令将应用到此实例。例如,如果 DB2INSTANCE 被设置为 PROD,然后您执行了命令 create database MYDB1,将创建一个与实例 PROD 关联的数据库。如果要在实例 DB2 上创建该数据库,那么必须首先将 DB2INSTANCE 变量的值改为 DB2。这类似于 ORACLE_SID (System Identifier),当用户想要在不同实例之间进行切换时,也是使用 ORACLE_SID。

还有一种标识要使用的实例的简单方法,那就是使用 DB2 Control Center GUI,如 图 3 所示。要在该工具中看到对应于新实例的条目,需要通过右击 Instances 并选择 Add 来将该实例添加到此工具中。要删除 DB2 中的一个实例,可以执行命令 db2idrop <instance name>。

总之,在 Oracle 中,可以使用 Database Configuration Assistant 来创建、修改、启动、停止和删除实例,而在 DB2 中则可以使用 Control Center GUI 做同样的事情。而且,Oracle 实例与数据库只能是一对一的关系,而在 DB2 中却不是这样。一个 DB2 实例中可以同时存在多个数据库,并且可以并发地使用这些数据库。

数据库

在 Oracle 中,可以用 CREATE DATABASE 命令手动创建数据库,也可以用 Database Configuration Assistant 创建数据库。手动创建数据库时,在执行 CREATE DATABASE 命令之前,需要执行一系列的步骤,包括设置 OS 变量,准备参数文件,以及创建密码文件。

元数据信息在 Data Dictionary 中存储和管理,由基本表和相应的视图组成。基本表是在数据库创建过程中自动创建的,而视图则是通过运行 catalog.sql 和 catproc.sql 脚本构造的。

因此,Oracle 数据库可看作包含 3 种类型的文件的一个集合:

数据文件(Data File):包含实际的数据,数据库的物理实现。(类似于 DB2 中的容器。)

重做文件(Redo File):相当于 DB2 中的事务日志(Transaction Log)。

控制文件(Control File):包含用于维护和验证数据库完整性的信息。

在 DB2 中,一个实例可以包含多个数据库,如 图 2 所示。每个数据库都是一个封闭的、真正独立的单元。每个数据库有其自己的编目表空间、临时表空间和用户表空间,这些表空间是在创建数据库时缺省创建的。DB2 包含一个称为系统数据库目录(system database directory) 的二进制文件,其中包含可从 DB2 机器上连接的所有数据库的条目。这个目录保存在实例级。

当创建一个实例时,缺省情况下不会创建数据库,您需要使用 create database 命令显式地创建一个数据库。此外还可以用 Control Center 创建数据库,如 图 4 和 图 5 所示。

图 4. 使用 Control Center GUI 创建 DB2 数据库

利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

图 5. 使用 Control Center GUI 创建 DB2 数据库(续)

利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

在 图 5 中,您也可以看看单击 Show Command 时会出现什么情况。所有的 DB2 Control Center GUI 屏幕都会显示实际上在后台执行的 SQL 语句或命令。这些命 令可以保存在一个脚本中,以便在以后执行,或者也可以将它们复制到 Command Line Processor(CLP)或 Command Center GUI 工具中,在这些工具中执行。这些工具分别相当于 Oracle 的 SQL*Plus 和 iSQL *Plus。

可以使用 'DROP DATABASE' 命令或者在 DB2 Control Center GUI 中删除一个 DB2 数据库。而在 Oracle 中却不是使用这样的命令。数据库的删除是通过删除所有相关数据文件来完成的。

同一个实例中的数据库通常不会相互进行交互。然而,如果应用程序需要与多个数据库交互,那么通过启用联邦(federation) 支持可以满足这一需求。

容器、表空间、缓冲池和页

在 Oracle 中,在物理上数据是存储在被称作数据文件(Data File)的文件中的。这类似于 DB2 的容器(container),DB2 的容器也是数据实际存储的地方。每个 Oracle 数据库包含一个名为 SYSTEM 的表空间,这是在创建数据库时由 Oracle 自动创建的。其他用于用户数据、临时数据和索引数据的表空间则需要在创建数据库之后另行创建,并且在使用这些表空间之前,还需要为之指定一个用户。

在 DB2 中,表空间 是逻辑对象,作为逻辑表和物理容器之间的一层。当创建一个表空间时,可以将它与一个特定的缓冲池(数据库缓存)关联起来,并关联到特定的容器。这为性能管理带来了灵活性。例如,如果有一个 "hot" 表,那么可以在一个单独的表空间中定义它,而这个表空间又与一个独立的缓冲池相关联。这有助于确保此表中的数据连续地缓存在内存中。

在 DB2 中,使用 CREATE DATABASE 命令及其缺省值创建数据库时,同时也会自动创建三个缺省的表空间。表 1 描述了缺省的 DB2 表空间:

表 1. 用缺省值创建数据库时,缺省创建的 DB2 表空间

表空间名称 描述
SYSCATSPACE包含元数据的编目表空间
TEMPSPACE1用于执行连接和排序等操作的系统临时表空间。这个表空间的名称可以更改
USERSPACE1这个表空间是可选的,如果在创建表的时候没有显式地指定表空间,那么可以用这个表空间来存储用户表

在 DB2 中,由于数据库是独立的单元,因此表空间不能跨数据库共享。由于表

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

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

  • 利用 Oracle 10g 技能学习 DB2 9.1 for Linux, UNIX and Windows

相关文章

  • 2017-06-28DB2 Express-C:数据库开发者的免费利器
  • 2017-06-28DB2 9.7: 在 DB2 9.7 中使用 PL/SQL 匿名块
  • 2017-06-28DB2 9.7 轮换诊断日志和管理通知日志
  • 2017-06-28信息议程与“信息随需应变”
  • 2017-06-28在系统和应用程序WPAR中实现DB2的安装和配置
  • 2017-06-28DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第2部分
  • 2017-06-28基于IBM I服务器的DB2自动优化工具
  • 2017-06-28为什么修改机器名后DB2实例会无法启动
  • 2017-06-28使用DB2look实用程序重新创建优化器访问计划(6)
  • 2017-06-28在 DB2 Database Partitioning Feature 环境中选择分区键

文章分类

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

最近更新的内容

    • 结合使用 CICS 和 DB2 pureXML
    • DB2中创建一个汉字拼音首字母的SQL函数
    • db2 和 postgresql 研发的异同
    • 详细讲解IBM DB2数据库无限活动日志策略
    • DB2 仓库管理器 7.2 概述
    • DB2 pureScale 新特性 -- Member Restart
    • DB2的高可用性和灾难恢复概述
    • DB2 9.5的数据库内存保护
    • 使用DB2配置向导配置参数
    • DB2 Express-C:数据库开发者的免费利器

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

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