oracle、db2实例、数据库等区别
下面两张图可以很清晰的看出大的区别:
oracle: 一个实例对应一个数据库 一个数据库中可以有多个表空间 所以连接用的是实例名 和表空间的用户名
db2:一个实例对应多个数据库 所以连接的时候直接用数据库名字和用户
最近由于工作需要,先后安装使用了oracle、db2、postgresql,由于只做了简单的安装和使用,在这主要说一下我目前了解到的这几个数据库的区别。
先上俩张图(图片转自:http://blog.chinaunix.net/uid-7374279-id-2057574.html):
从上面俩张图可以清楚的看出db2 和 oracle 架构的区别:
1.DB2 每个实例(后台进程与共享内存的组合。数据库在操作系统下某个时刻的状态,外界通过该实例获得数据库链接,例如使用sevicename ,sid 唯一标示该实例)下面可以建立多个数据库;oracle 每个实例只能建立一个。【ps: oracle12c 概念发生了很大变化,本文讨论的均为12c之前版本】
2.DB2 中每个实例对应一个用户(schema=表空间),在该用户下(实例)建立数据库都是在此schema 下。Oracle 数据库实例下可以建立多个用户(schema),在多个用户下分别建立相约的表。
3.oracle数据安装之前需要预先分配设定好安装用户及所属组,db2 数据库可在安装过程中设定用户及用户组。
4.oracle启动,sqlplus /nolog ->connect /as sysdba ->startup数据库(启动实例) ->connect name/password ->表操作。
DB2启动:db2start(启动实例)->db2命令行 ->connect to ###(数据库) ->表操作
总:
DB2: 1实例 - N Database - 1 schema
ORACLE: 1实例 - 1 Database - N schema(user)
涉及到更深层次的区别,可以参考网址:http://blog.chinaunix.net/uid-7374279-id-2057574.html