昨天Roger问小朋友们,谁能说清楚Oracle的版本号,我想起来了,不同版本稍有区别,在Oracle官方文档有详细的解释。
在Oracle 7版本,Oracle版本号包含4部分内容,这个风格(或者说“定义”)一直沿用到Oracle 8i(即,Oracle 8.1.5),这四部分具体解释如下: |
第一部分是“Version Number",也就是产品的大版本号,表示这是一个“新的软件”,较之以前的版本有着重大的功能的变革。
第二部分是“Maintenance Release Number”,即 维护版本,也就是大版本下的普通的维护号,旨在标识不同维护版本之间修复了一些重要bug等等。Oracle 7,8.9这三个版本的维护号都是从0开始的,从Oracle 10g开始,Oracle不再有类似Oracle 10.0这样的正式发布版本(internal测试版还有这样的版本),而是10.1,10.2。。。。。
第三部分是“Patch Release Number”,顾名思义,也就是补丁发布号。
Oracle的产品研发是有计划展开的,因此,通常来说当前一个维护版本中出现一些重大问题,等不到下一个维护版号release,
那么就推出了统一维护版本下的更高patch号的版本,用以修复之前的重大bug。这个版本号在Oracle 7和8中式最常见的。
从Oracle 8i(Oracle 8.1.5)开始,Oracle将第三个数字的含义修改为“Maintenance Release Number”,
也就是说这个数字表示一个维护级别,比如,Oracle 8.1.5, 8.1.6, 8.1.7各自增加了一些新的new feature,
这也突出了那个时候Oracle定位产品和方向的一个研发的特点。。。
第四部分是“Port-Specific Patch Release Number”,即特定补丁号的版本,其含义是针对某些特定重要问题或者bug的修复,也就是在“Patch Release Number”没有release之前的一个特定针对特定问题的补丁号。
从Oracle 8i(“i” 表示internet,那一年internet正蔓延。。。)开始,发行版本号包含5个部分,虽然从这以后的Oracle版本号都是5个部分,但是Oracle 8i的这5个部分跟其余的版本的解释都不相同,我想这跟当时的很多市场定位,IT环境都有关系。
从这一个版本开始,在第1个数字和第2个数字之间,增加了一个数字,表示“New Features Release Number”,自然,Oracle将在这一个版本中大展拳脚,不断充实自己,开发出了很错脍炙人口的大大小小的新功能,比如 Oracle是第一个Java数据库,也是从Oracle 8i这个版本开始,Oracle有了机遇图形化的安装工具,standby 功能可以自动传输归档,oracle的OPS开始具有了Cache Fusion功能,从这个版本开始有了Logmner,Net8具有了更多类似ssh等安全功能,从这一版本开始Oracle有了第一个压缩的功能“index key compress”。。。。。。
因此,这个名称起得当之无愧,寓意着Oracle 8和Oracle 8i确实是两个不同的产品。
从Oracle 8i开始,最后两位数字的含义也发生了变化,即分别是“Generic Patch Set Number”和“Platform Specific Patch Set Number”,但是含义跟以前的4位数字表示的后两位大体一致。 |
从Oracle 9.2开始,版号的5个部分含义再次更正为如下解释,且这5个部分的大体含义至今再无改变,只有第三个数字的含义随着Oracle的市场收购和产品线的定位做了些许更改。
当时Oracle已经开始研发自己的application server产品(例如,大名鼎鼎的Application 11i等等),因此,从Oracle 9i开始,Oracle把这五个数字再次重新定位具体如下:
第1个数字,更名为“Major Database Release Number”,但是依然是代表大版本号,且含义不变
第2个数字,就是把Oracle 8i中第二个数字和第三个数字(“New Features Release Number”和“Maintenance Release Number”)合并为“Database Maintenance Release Number”,含义自然是新特性和重要bug合并的数据库维护号,而事实上,Oracle 从8i开始就逐步统一数据库内部各个组件和选件的版本号,比如PLSQL和DATABASE SEVER的版本号都是8.1.5,而不是以前的各自的版本号。。。
第3个数字,是新增加的“Application Server Release Number”,很明显就是专门为Oracle9i Application Server (Oracle9iAS)增加的版本号
第4个数字,更名为“Component Specific Release Number”,这里多了Component一词,也是因为不再是database了,开始增加了各个领域的产品,但是含义依然是以前的重大bug的修复的中间patch的含义。
第5个数字,没有变化,依然是“Platform Specific Release Number”
顺便说一句,很多朋友不知道Oracle 9开始发布的第一个版本是Oracle 9.0.1而不是9.1,从Oracle 9.0.1之后,推出的9i的主流版本9.2。 |
Oracle 10g和Oracle 9.2的版本号的命名没有大的区别:
从Oracle 11.2开始,随着Oracle产品线的调整,第三个数字再次发生了改变,即从以前的“Application Server Release Numbe”更名为“Fusion Middleware Release Number”,也是是Oracle自2008年收购BEA之后的第一个重要版本,自然是要大融合,O(∩_∩)O哈哈~,其实含义差不多
Oracle收购了BEA之后,放下了自己的iAS,大举推广BEA旗下的更为小巧轻便有前途的Weblogic server(针对java)和Tuxedo(针对C)等全线产品。。。 |
顺便说一句,Oracle database不同部件有各自的版本号,例如:
SVRMGR> SELECT * FROM product_component_version;
PRODUCT VERSION STATUS
-------------------------- ------------------- ------------
CORE 3.4.1.0.0 Production
NLSRTL 3.1.3.0.0 Production
Oracle7 Server 7.2.1.0.0 Beta Release
PL/SQL 2.2.1.0.0 Beta
TNS for SunOS: 2.1.4.0.0 Production
5 rows selected.
SELECT * FROM product_component_version;
PRODUCT VERSION STATUS
--------------------------- --------------------------- ---------------------
CORE 8.1.5.0.0 Production
NLSRTL 3.4.0.0.0 Production
Oracle8i Enterprise Edition 8.1.5.0.0 Production
PL/SQL 8.1.5.0.0 Production
TNS for 32-bit Windows: 8.1.5.0.0 Production
5 rows selected.
COL PRODUCT FORMAT A40
COL VERSION FORMAT A15
COL STATUS FORMAT A15
SELECT * FROM PRODUCT_COMPONENT_VERSION;
PRODUCT VERSION STATUS
---------------------------------------- ----------- -----------
NLSRTL 12.1.0.0.1 Production
Oracle Database 12c Enterprise Edition 12.1.0.0.1 Production
PL/SQL 12.1.0.0.1 Production
... |