Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1074257
  • 博文数量: 1647
  • 博客积分: 80000
  • 博客等级: 元帅
  • 技术积分: 9980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 15:15
文章分类

全部博文(1647)

文章存档

2011年(1)

2008年(1646)

我的朋友

分类:

2008-10-28 17:46:34

Suita Gupta (suitag@my.ibm.com), 技术顾问, IBM Malaysia
Allan Tham (thamawh@my.ibm.com), 售前服务专家,ASEAN Techline, IBM
Raul F. Chong (rfchong@ca.ibm.com), DB2 UDB 专家, IBM

    简介

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

    在 2006 年 7 月 28 日,IBM 发布了 DB2 9 for Linux, UNIX, and ,这是一种真正的混合型数据,可满足当今苛刻的业务需求。 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 .

系统结构概述

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


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

图 2. DB2 on Linux, UNIX, and Windows 系统结构
图 2. DB2 on 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 .

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

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

    若要在命令行接口中引用给定的 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 .

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

 

[1]           ...

【责编:Peng】

--------------------next---------------------

阅读(705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~