1. 了解 Oracle 数据库的版
本号
by Maclean.liu
liu.maclean@gmail.com
www.oracledatabase12g.com
2. About Me
l Email:liu.maclean@gmail.com
l Blog:www.oracledatabase12g.com
l Oracle Certified Database Administrator Master 10g
and 11g
l Over 6 years experience with Oracle DBA technology
l Over 7 years experience with Linux technology
l Member Independent Oracle Users Group
l Member All China Users Group
l Presents for advanced Oracle topics: RAC,
DataGuard, Performance Tuning and Oracle Internal.
3. Oracle 数据库的发行版本号(release number)一般由五位数字组成,那么这些数字分别代表什么含义呢?
Major Database Release Number
第一位阿拉伯数字是我们最常提到的一个大版本标识,它代表了数据库主要发行版本号;譬如我们说的 10g 不管
是 R1 还是 R2,其版本号的第一位总是 10;不同 Major release Number 之间预示着存在功能上的巨大差别,例
如在 11g 中加入了许多 10g 上永远不会有的新特性。新的 major release number 表明这是崭新一代的产品。
Database Maintenance Release Number
第二位阿拉伯数字代表数据库维护版本发行号,也就是我们常说的 R1 或者 R2。已有的 Maintenance Release
Number 包括:8.1(比较特殊)、9.1、9.2、10.1、10.2 和 11.1、11.2。从 9i 开始每一个大版本都有 2 个 release,
一般来说 R1 总是显得不那么稳定(至少 11g 之前是这样),通过在 R1 中引入大量特性后发行并根据用户实际使用
情况不断修正 Bug,到 R2 发行时 R1 中引入的新特性已经日渐成熟,当然按照 Oracle 的风格在 R2 中还会引入部
分特性,一些特性甚至可能是颠覆性的(例如 10.2.0.2 中引入 mutex 保护的 Cursor pin)。另外值得一提的是 R1 极
不稳定这个铁律似乎在 11g 中被打破了,11gR1 的使用率非常之高,这是 9.1 或 10.1 所不能想象的。
Application Server Release Number
第三位阿拉伯数字代表了 Oracle Application Server (OracleAS)的发行版本号;对于 Oracle database 软件而言
这一位总是为 0
4. Component-Specific Release Number
第四位阿拉伯数字代表了某个组件的发行版本号。这里说的组件是指我们在使用 DBCA 创建数据库是选择安装的
Component,例如 Oracle OLAP、Label Security 等(如果是手动创建数据库,那么必然运行了安装组件的脚本,
一般位于$ORACLE_HOME/rdbms/admin 目录下)取决于数据库上所打过的 Component Patch set 补丁集或
interim release 临时版本,同一个数据库中不同组件可能存在不同的组件版本号。实际使用中该组件发行版本号
一般被我们用来指代数据库软件或者某个数据库所打过的 Patch set 补丁集,Patch set 补丁集一般都是些大家伙
(1-2GB 不稀奇)。在给数据库软件打上 Patch set 后我们需要给已经存在的数据库升级组件版本,通俗地说是给数
据库升级数据字典,这样数据库内的组件版本一般是一致的,如我将一个 10.2.0.1 的数据库升级到 10.2.0.4,那
么这个数据库里的组件版本也会是 10.2.0.4(不排除说你为某个组件打了特殊的 Patch 后造成这个组件的版本独树
一帜,当然这很少见,也不推荐)。我们可以通过查询 DBA_SERVER_REGISTRY 视图来了解数据库中的组件版
本情况:
desc dba_server_registry;
Name Null? Type
----------------------------------------- -------- ----------------------------
COMP_ID NOT NULL VARCHAR2(30)
COMP_NAME VARCHAR2(255)
VERSION VARCHAR2(30)
STATUS VARCHAR2(11)
MODIFIED VARCHAR2(20)
CONTROL NOT NULL VARCHAR2(30)
SCHEMA NOT NULL VARCHAR2(30)
PROCEDURE VARCHAR2(61)
STARTUP VARCHAR2(8)
PARENT_ID VARCHAR2(30)
OTHER_SCHEMAS VARCHAR2(4000)
col comp_name for a60
select comp_name,version from dba_server_registry
COMP_NAME VERSION
------------------------------------------------------------
------------------------------
Spatial 10.2.0.4.0
Oracle interMedia 10.2.0.4.0
OLAP Catalog 10.2.0.4.0
Oracle Enterprise Manager 10.2.0.4.0