Chinaunix首页 | 论坛 | 博客
  • 博客访问: 219517
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 735
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-25 13:37
个人简介

对我认真的人,我会加倍珍惜

文章分类

全部博文(70)

文章存档

2016年(1)

2015年(15)

2014年(54)

分类: Oracle

2014-11-21 11:32:46

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

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

Oracle XML Database                                          10.2.0.4.0

Oracle Text                                                  10.2.0.4.0

Oracle Expression Filter                                     10.2.0.4.0

Oracle Rules Manager                                         10.2.0.4.0

Oracle Workspace Manager                                     10.2.0.4.3

Oracle Data Mining                                           10.2.0.4.0

Oracle Database Catalog Views                                10.2.0.4.0

Oracle Database Packages and Types                           10.2.0.4.0

JServer JAVA Virtual Machine                                 10.2.0.4.0

Oracle XDK                                                   10.2.0.4.0

Oracle Database Java Packages                                10.2.0.4.0

OLAP Analytic Workspace                                      10.2.0.4.0

Oracle OLAP API                                              10.2.0.4.0

Platform-Specific Release Number

第五位阿拉伯数字代表了平台相关发行版本号。通常意义上该位数字受到另一种补丁

(

不是

Patch set)

的影响。在

10g

以后

Oracle

引入了在某个特定的补丁集的基础上发行的补丁集的更新

(PSU-patch set update)

,用中文说起

来十分拗口;通过

PSU

的发行,

Oracle

可以针对某个特定的补丁集版本上发生的

Bug

集中性地修复,例如

10.2.0.4

是一个

10g

使用十分广泛的版本,如果在

10.2.0.4

上发现了

Bug

那么就可以将

fix

并到

PSU

中。一般

来说

PSU

会每

1

4

7

10

月份

release

,最

的一

PSU

释放

是在

2011

4

,包含了

10.2.0.4

的第

8

PSU

也就是

10.2.0.4.8

Oracle

会为某个大版本上的

final release

制作

PSU

补丁,目前在

10g

上保

PSU

的版本是

10.2.0.4

10.2.0.5

,而对于

10.2.0.3

PSU

支持

。可以通过查询

registry$history

表了解数据库

(DB ,not Database Software)

PSU

信息

:

SQL> desc registry$history;

 

Name                                      Null?    Type

 

----------------------------------------- -------- ----------------------------

 

ACTION_TIME                                        TIMESTAMP(6)

 

ACTION                                             VARCHAR2(30)

 

NAMESPACE                                          VARCHAR2(30)

 

VERSION                                            VARCHAR2(30)

 

ID                                                 NUMBER

 

COMMENTS                                           VARCHAR2(255)

 

BUNDLE_SERIES                                      VARCHAR2(30)

SQL> select * from registry$history;

ACTION_TIME---------------------------------------------------------------------------

ACTION                         NAMESPACE

------------------------------ ------------------------------

VERSION                                ID

------------------------------ ----------

COMMENTS

--------------------------------------------------------------------------------

BUNDLE_SERIES

------------------------------

17-MAY-11 10.42.32.533510 PM

APPLY                          SERVER

10.2.0.4                                4

PSU 10.2.0.4.4

PSU

以上可以

到示例数据库打过

PSU 10.2.0.4.4

,还可以通过

opatch lsinventory

找出

数据库软件

(Database 

Software,not DB)

打过的

Patch Number,

一般包含大量

Bug

修复的

Interim patches

可能是

PSU(

也可能是

CPU)

Patch 9352164

PSU 10.2.0.4.4

我们还可以通过查询

V$VERSION

来了解当前数据库软件

(

意是

Database Software

,而不是

DB)

的版本,该视

图中还包含

PL/SQL

擎和

TNS

协议

的版本

SQL> startup nomount;

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi

PL/SQL Release 10.2.0.4.0 - Production

CORE    10.2.0.4.0      Production

TNS for Linux: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

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