怎样从Oracle迁移到DB2

系统结构概述

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


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



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


若要在命令行接口中引用给定的 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 实例中可以同时存在多个数据库,并且可以并发地使用这些数据库。

详情请看附件:

附件:

附件图标怎样从Oracle迁移到DB2.rar (1.14 MB)

参与3

0同行回答

“答”则兼济天下,请您为题主分忧!
bjlwt2000bjlwt2000IT支持天阳宏业
好的。。。显示全部
好的。。。收起
金融其它 · 2009-09-22
浏览541
好的。。。至此显示全部
好的。。。至此收起
2009-09-17
浏览602

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2009-07-20
  • 关注会员:0 人
  • 问题浏览:4885
  • 最近回答:2009-09-22
  • X社区推广