Archive

Posts Tagged ‘Oracle’

11.2.0.1.0 on Solaris.Sparc64 and Solaris.X64 released

November 10th, 2009 ricky.zhu No comments

Oracle Database 11.2.0.1.0 for Solaris已经发布,现在起可以从OTN上下载了。距离Linux版本的发布到现在已经快2个多月的时间了,这次率先发布Solaris.Sparc平台,足以显现Oracle对Solaris这个平台的重视程度了。

其实上个月OOW2009上Larry宣布的Oracle Database Machine V2也是基于Solaris.Sparc硬件架构的。

11.2.0.1.0现在可用的平台包括Linux X86,Linux X64 and Solaris.Sparc64。 Solaris.Sparc64的大小在2.3G左右。

下载地址

2009-11-26,Oracle Database 11gR2 (11.2.0.1.0) for Solaris.X64 released。这是在11gR1 (11.1.0.6.0) 之后的又一个重要的release,在11gR1中是不支持Solaris.X64平台的,现在11gR2已经率先在AIX, HPI主流平台之前就发布Solaris.X64版本足以显现Oracle对Solaris平台的重视程度。下载地址

Categories: 数据库 Tags: ,

Metalink即将退休

October 26th, 2009 ricky.zhu 4 comments

如果你最近登录过oracle的技术支持网站metalink并留意观察的话,可能会发现在登录界面的右边,多出了这么一段提示信息:

Classic Metalink Set To Retire
Login and access Doc ID 841061.1 for the latest details

传统的Metalink服务网站终于功成名就了。

随着去年Oracle推出了基于Flash技术的新版客服网站 My Oracle Support之后,就一直在引导和鼓励客户使用新版的metalink客户支持服务系统,而且在安装Oracle数据库软件的时候(10.2.0.4和最近发布的11.2),也有集成的页面可以直接把客户的环境同My Oracle Support进行无缝链接,并通过后台的程序收集相关的信息,方便后期的技术支持。

虽然这个新版的支持网站在推出之初因为速度,使用习惯等等各方面的问题曾经受到DBA的一些诟病,但是相信oracle在这方面也持续做了一些改进,并努力提高用户的体验。尽管如此,估计大家还是需要一段时间的适应的。

这个平台的具体的切换时间是:November 6 – 8, 2009,到时候新版的My Oracle SUpport 将成为Oracle所有产品的唯一在线支持平台。

Categories: 数据库 Tags:

Oracle Database 11gR2 Clusterware之资源

September 15th, 2009 ricky.zhu No comments
.!.

上篇简单介绍了在11.2中新引入的后台进程,今天介绍11.2 CRS中的资源。

相当于11.1和10g,11.2的资源也增加了不少。首先在11.2中资源进行了分类:HAS资源和CRS资源。这里的CRS本身也是属于HAS的资源,在之前11.1中介绍到的nodeapps(包括vip, ons and gsd),listener,asm,rdbms等在11.2中都是属于CRS资源,那么新引入的HAS又包含哪些资源呢?

先简单学习下查看ohasd和crsd资源的命令:

$ crsctl stat res  -init -t
——————————————————————————–
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.asm
      1        ONLINE  ONLINE       staig07                  Started            
ora.crsd
      1        ONLINE  ONLINE       staig07                                      
ora.cssd
      1        ONLINE  ONLINE       staig07                                      
ora.cssdmonitor
      1        ONLINE  ONLINE       staig07                                      
ora.ctssd
      1        ONLINE  ONLINE       staig07                  ACTIVE:0            
ora.diskmon
      1        ONLINE  ONLINE       staig07                                      
ora.drivers.acfs
      1        ONLINE  ONLINE       staig07                                      
ora.evmd
      1        ONLINE  ONLINE       staig07                                      
ora.gipcd
      1        ONLINE  ONLINE       staig07                                      
ora.gpnpd
      1        ONLINE  ONLINE       staig07                                      
ora.mdnsd
      1        ONLINE  ONLINE       staig07                                      
[crsusr@node1 sshsetup]$
 

这里简单说明其中的几个:
ctssd是11.2新增加的时间同步的资源和进程,是对ntp服务的一种增强。
acfs就是外界广为传说的ASM file system对应的资源。
gpnpd就是11.2最重要的feature,也就是即插即用对应的资源。
mdnsd是对应于SCAN和GNS的资源。

相对于与ohasd的资源,crsd的资源就多了去了。下面简单看一下:

 crsctl stat res -t
——————————————————————————–
NAME           TARGET  STATE        SERVER                   STATE_DETAILS      
——————————————————————————–
Local Resources
——————————————————————————–
ora.DATA1.dg
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
ora.DATA2.dg
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
ora.LISTENER.lsnr
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
ora.asm
               ONLINE  ONLINE       staig07                  Started            
               ONLINE  ONLINE       staig10                  Started            
               ONLINE  ONLINE       staig12                  Started            
               ONLINE  ONLINE       staig13                  Started            
ora.eons
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
ora.gsd
               OFFLINE OFFLINE      staig07                                      
               OFFLINE OFFLINE      staig10                                      
               OFFLINE OFFLINE      staig12                                      
               OFFLINE OFFLINE      staig13                                      
ora.net1.network
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
ora.ons
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
ora.registry.acfs
               ONLINE  ONLINE       staig07                                      
               ONLINE  ONLINE       staig10                                      
               ONLINE  ONLINE       staig12                                      
               ONLINE  ONLINE       staig13                                      
——————————————————————————–
Cluster Resources
——————————————————————————–
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       staig10                                      
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       staig12                                      
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       staig07                                      
ora.oc4j
      1        ONLINE  ONLINE       staig13                                      
ora.orcldb.db
      1        ONLINE  ONLINE       staig07                  Open                
      2        ONLINE  ONLINE       staig10                  Open                
      3        ONLINE  ONLINE       staig12                  Open                
      4        ONLINE  ONLINE       staig13                  Open                
ora.scan1.vip
      1        ONLINE  ONLINE       staig10                                      
ora.scan2.vip
      1        ONLINE  ONLINE       staig12                                      
ora.scan3.vip
      1        ONLINE  ONLINE       staig07                                      
ora.staig07.vip
      1        ONLINE  ONLINE       staig07                                      
ora.staig10.vip
      1        ONLINE  ONLINE       staig10                                      
ora.staig12.vip
      1        ONLINE  ONLINE       staig12                                      
ora.staig13.vip
      1        ONLINE  ONLINE       staig13                                      
[crsusr@staig07 sshsetup]$
 

对于CRSD资源,在11.2中也进行了重新分类,包括cluster-wide范围的资源,比如SCAN,scan listener, VIP等等,还有一些是local (node-wide)的资源,比如network(注意,11.2把网络也作为了一种资源),eons,asm,diskgroup(11.2把ASM diskgroup也作为了一种资源)等等。

这些资源之间也有相互的依赖关系,比如DG resource依赖于ASM,VIP依赖于network。这些可以从资源的详细属性看出,列出资源的详细属性,用下面的命令:

 crsctl stat res ora.DATA2.dg -p
NAME=ora.DATA2.dg
TYPE=ora.diskgroup.type
ACL=owner:crsusr:rwx,pgrp:oinstall:rwx,other::r–
ACTION_FAILURE_TEMPLATE=
ACTION_SCRIPT=
AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%
ALIAS_NAME=
AUTO_START=never
CHECK_INTERVAL=300
CHECK_TIMEOUT=600
DEFAULT_TEMPLATE=
DEGREE=1
DESCRIPTION=CRS resource type definition for ASM disk group resource
ENABLED=1
LOAD=1
LOGGING_LEVEL=1
NLS_LANG=
NOT_RESTARTING_TEMPLATE=
OFFLINE_CHECK_INTERVAL=0
PROFILE_CHANGE_TEMPLATE=
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=60
START_DEPENDENCIES=hard(ora.asm) pullup(ora.asm)
START_TIMEOUT=900
STATE_CHANGE_TEMPLATE=
STOP_DEPENDENCIES=hard(intermediate:ora.asm)
STOP_TIMEOUT=180
UPTIME_THRESHOLD=1d
USR_ORA_ENV=
USR_ORA_OPI=false
USR_ORA_STOP_MODE=
VERSION=11.2.0.1.0

[crsusr@staig07 sshsetup]$
 

这里可以看出,DG2有一个hard依赖于asm,并有一个pullup关系。关于start、stop依赖关系以及资源的属性,以后在做介绍。

Categories: 数据库 Tags: ,

Oracle+Sun VS IBM

September 11th, 2009 ricky.zhu 1 comment
.!.

看图,不说话
oracle+sun

再看,不说话

oracle+sun2

战争才刚刚开始…

Categories: 数据库 Tags:

Oracle Database 11gR2 Clusterware之后台进程

September 9th, 2009 ricky.zhu No comments

Oracle Database 11gR2发布已经一周的时间了,相信很多朋友已经抢先体验了一把,在这个release中引入了一些新feature,其中Clusterware更是改名为Grid Infrastructure。Clusterware相对于之前的10gR2 和11gR1在架构上也做了很大的改进和改动,包括引入GPnP (即插即用),SCAN(Simple Client Access Name)等等,本节简单介绍一下Clusterware的进程。

环境是OEL5,先看一下:

[~]$ ps -cafe |grep d.bin  | grep -v grep
root     27807     1 TS   21 Aug27 ?        00:08:18 /u01/app/cluster/crs/bin/ohasd.bin reboot
crsusr   30643     1 TS   24 Aug27 ?        03:41:53 /u01/app/cluster/crs/bin/mdnsd.bin
crsusr   30654     1 TS   21 Aug27 ?        00:00:28 /u01/app/cluster/crs/bin/gipcd.bin
crsusr   30667     1 TS   24 Aug27 ?        00:01:05 /u01/app/cluster/crs/bin/gpnpd.bin
crsusr   30718     1 RR  139 Aug27 ?        01:16:51 /u01/app/cluster/crs/bin/ocssd.bin
root     30950     1 TS   21 Aug27 ?        00:04:32 /u01/app/cluster/crs/bin/octssd.bin
crsusr   31065     1 TS   24 Aug27 ?        00:00:24 /u01/app/cluster/crs/bin/oclskd.bin
root     31084     1 TS   21 Aug27 ?        00:08:22 /u01/app/cluster/crs/bin/crsd.bin reboot
crsusr   31104     1 TS   24 Aug27 ?        00:01:30 /u01/app/cluster/crs/bin/evmd.bin
root     31128     1 TS   24 Aug27 ?        00:00:23 /u01/app/cluster/crs/bin/oclskd.bin
[~]$
 

可以看到,相对之前的release,增加了不少的进程。

熟悉10g和11gR1的朋友就会发现,在11gR2中,之前熟悉的crsd.bin, ocssd.bin和evmd.bin 依然存在,但是新增加了一个ohasd.bin,这是新的入口,在/etc/inittab中也从之前的三项变成了现在的一项:

h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null

其他新引入的比较重要的进程包括gpnpd.bin, mdnsd.bin 和gipcd.bin以及控制时间同步的ctssd.bin,还有两个oclskd.bin进程。

所有的进程都是通过ohasd.bin spawn起来,而后修改spawn id为1,细心的朋友可以已经发现,这里面,ocssd.bin依然是一个RT(realtime mode)进程,这点较之之前的版本并没有变,说明ocssd.bin依然是一个fatal进程,这个process挂了,节点就会发生reboot,这也是需要重点保证的。

除了这些d.bin进程之外,可以看到其他也有一些新进程:

[ ~]$ ps -cafe |grep "u01" | grep -v grep | grep -v d.bin
crsusr   26134     1 TS   23 Aug27 ?        00:01:30 /u01/app/cluster/crs/bin/tnslsnr LISTENER -inherit
root     29493     1 TS   21 Aug27 ?        00:07:55 /u01/app/cluster/crs/bin/orarootagent.bin
crsusr   30627     1 TS   21 Aug27 ?        00:51:52 /u01/app/cluster/crs/bin/oraagent.bin
root     30682     1 RR  139 Aug27 ?        00:04:38 /u01/app/cluster/crs/bin/cssdmonitor
root     30697     1 RR  139 Aug27 ?        00:04:45 /u01/app/cluster/crs/bin/cssdagent
crsusr   30699     1 TS   21 Aug27 ?        00:00:29 /u01/app/cluster/crs/bin/diskmon.bin -d -f
crsusr   31200 31104 TS   24 Aug27 ?        00:00:00 /u01/app/cluster/crs/bin/evmlogger.bin -o /u01/app/cluster/crs/evm/log/evmlogger.info -l /u01/app/cluster/crs/evm/log/evmlogger.log
crsusr   31446     1 TS   21 Aug27 ?        01:10:59 /u01/app/cluster/crs/bin/oraagent.bin
root     31654     1 TS   21 Aug27 ?        02:22:44 /u01/app/cluster/crs/bin/orarootagent.bin
crsusr   31689     1 TS   21 Aug27 ?        00:00:00 /u01/app/cluster/crs/opmn/bin/ons -d
crsusr   31690 31689 TS   22 Aug27 ?        00:00:20 /u01/app/cluster/crs/opmn/bin/ons -d
 

这里面大家看到多了一些agent进程,比如oraagent, orarootagent,cssdagent进程等等,这些agent分别负责各自的resource,并执行一些相关的start/stop/check/clean脚本任务,类似于之前release的action script的作用。cssdagent和cssdmonitor在这里就是负责前面说到的ocssd.bin进程的。

更多的信息请参考Oracle Database 11gR2的文档

download flatliners free

Categories: 数据库 Tags: ,

Oracle Database 11gR2 Released

September 2nd, 2009 ricky.zhu 1 comment

2009年8月31日发布,万众瞩目的Oracle Database 11gR2 (11.2.0.1.0) 发布了.

9月1日,已经可以从OTN下载,下载地址,目前仅仅提供Linux32bit 和64bit的下载包。

其他平台包括Solaris, HP, AIX 和 Windows的测试正在紧锣密鼓的进行,稍后晚些时候会陆续发布。

因为这个版本引入了很多新的feature,包括著名的ACFS,ASM OCR/Voting file 等,(新功能文档

download galaxy quest dvdrip

)所以受关注的程度一直很高,关于11.2的文档,清参考文档连接

如果要从之前的版本升级,11.2提供了多个升级路径,包括9.2.0.8, 10.2.0.2 and 11.1.0.6等等,详细的路径,可以参考

Table 2-1 Upgrade Paths

Current Release Upgrade Path

7.3.3 and lower

7.3.4

8.0.3

8.0.4

8.0.5

8.0.6

8.1.5

8.1.6

8.1.7.4

9.0.1.4

Direct upgrade is not supported. Upgrade to an intermediate Oracle Database release before you can upgrade to the new Oracle Database 11g release, as follows:

vampire

  • 7.3.3 (or lower) -> 7.3.4 -> 9.2.0.8 -> 11.2

  • 8.0.5 (or lower) -> 8.0.6 -> 9.2.0.8 -> 11.2

  • 8.1.7 (or lower) -> 8.1.7.4 -> 10.2.0.4 -> 11.2

  • 9.0.1.3 (or lower) -> 9.0.1.4 -> 10.2.0.4 -> 11.2

When upgrading to an intermediate Oracle Database release, follow the instructions in the intermediate release’s documentation. Then, upgrade the intermediate release database to the new Oracle Database 11g release using the instructions in Chapter 3, “Upgrading to the New Release”.

9.2.0.8

10.1.0.5

10.2.0.2

11.1.0.6

Direct upgrade to the new Oracle Database 11g release is supported from 9.2.0.8 or higher, 10.1.0.5 or higher, 10.2.0.2 or higher, and 11.1.0.6 or higher. Note that Oracle Clusterware release 10.2.0.x must be at release 10.2.0.3 (or higher), before you attempt to upgrade it to Oracle Clusterware 11g. See Upgrading an Oracle Real Application Clusters (Oracle RAC) Database”.

For release 9.2.0.3, you must first upgrade to an intermediate Oracle Database release, as follows:

9.2.0.3 (or lower) -> 9.2.0.8 -> 11.2

To upgrade to the new Oracle Database 11g release, follow the instructions in Chapter 3, “Upgrading to the New Release”.

Categories: 数据库 Tags:

Troubleshoot CRS 10.2.0.4 on EL5 (1)

August 4th, 2009 ricky.zhu 1 comment

昨天浪费了大半天时间升级10.2.0.1 to 10.2.0.4,平台是RHEL5,Kernel信息:
Linux xxx 2.6.18-8.0.0.4.1.el5 #1 SMP Tue Jun 5 23:09:11 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux

考虑到目前可能会有不少同学都要升级10201到10204或者更高的patchset,所以把昨天遇到的问题和troubleshooting的方法总结在这里:

install 10201 clustereare on /u01/app/cluster/crs
then 10201 RAC software on /u01/app/base/product/11g

upgrade 10204 cluster first,结束的时候,提示需要在每个节点按照顺序执行 crsctl stop crs; $CRS_HOME/install/root102.sh

问题就出在这里,有的时候,root102.sh在有些节点可能因为一些原因失败,最常见的就是timeout,这个时候cssd起来了,但是crsd无法正常启动。这个时候的状态是:
已经运行root102.sh的节点已经完成了升级,crs的software版本(crsctl query crs softwareversion)和active版本(crsctl query crs activeversion)都已经是10204了,但是别的节点software version是10204,但是activeversion仍然是10201

失败了以后,要重新在失败的节点上执行root102.sh,不能直接再次运行,需要作一些修改,恢复到运行root102.sh之前的状态,需要作如下修改:
1)从没有运行过root102.sh的节点上,打包 $CRS_HOME/install/patch102目录,并放在$CRS_HOME/install目录下 (运行过root102.sh一次之后,这个目录就不见了,所以为了稳妥起见,在运行最后一个节点的root102.sh之前,把这个目录备份一次,否则你就没地方找去了)
2)修改这个目录的属性为 :o install,注意用 chown -Rf,确保子目录的权限也得到修改
3)改名或者删除CRS_HOME/install目录下生成的prepatch10204目录,make.log和files10204.log,这些都是root102.sh脚本运行的中间产物
4)修改$CRS_HOME/install目录下的文件属性为之前的用户和组。
5)把所有的clusterware相关的进程杀掉,可以用 ps -ef | grep -e d.bin 查看这些进程。
6)再次运行root102.sh

如果用上面的方法运行,依然无法成功的话,那么就把其余节点的crs stack 用crsctl stop crs停止,然后重复上面的步骤,再次运行,直到成功。

因为patchset是没法回退的,所以如果root102.sh一直无法成功的话,最差的办法,就是卸载之前的10201+10204 (both crs and rac),然后重新进行安装,这是我们最不希望看到的,所以按照之前的方法,多尝试几次。就会成功的。如果不幸,在这期间,你的节点重启了,也不要紧,节点回来以后,还是按照这个方法进行。最后升级成功:

[root@xxxxxx install]# pwd
/u01/app/cluster/crs/install
[root@xxxxxx install]# ls -lrt
total 260
-rwxr-xr-x  1 ractest oinstall     0 Feb 23  2005 install.incl
-rwxr-xr-x  1 ractest oinstall    38 Apr 20  2005 install.excl
-rw-rw-r–  1 ractest oinstall  2808 Jul 14  2005 templocal
-rwxr-xr-x  1 ractest oinstall  4408 Apr 20  2006 rootaddnode.sbs
-rwxr-xr-x  1 ractest oinstall  1119 Oct 10  2007 cmdllroot.sh
-rw-rw—-  1 ractest oinstall   651 Aug  3 06:09 paramfile.crs
-rw-rw—-  1 ractest oinstall    42 Aug  3 06:10 cluster.ini
-rw-rw—-  1 ractest oinstall   179 Aug  3 06:10 envVars.properties
-rwxr-xr-x  1 ractest oinstall 17916 Aug  3 06:59 rootupgrade
-rwxr-xr-x  1 ractest oinstall  3642 Aug  3 06:59 rootinstall
-rwxr-xr-x  1 ractest oinstall 12842 Aug  3 06:59 rootdelete.sh
-rwxr-xr-x  1 ractest oinstall  3963 Aug  3 06:59 rootdeletenode.sh
-rwxr-xr-x  1 ractest oinstall  8261 Aug  3 06:59 rootdeinstall.sh
-rwxr-xr-x  1 ractest oinstall 32954 Aug  3 06:59 rootconfig
-rwxr-xr-x  1 ractest oinstall 24798 Aug  3 06:59 root102.sh
-rwxr-xr-x  1 ractest oinstall  5668 Aug  3 06:59 preupdate.sh
-rw-rw-r–  1 ractest oinstall 10019 Aug  3 06:59 rootlocaladd
drwxr-xr-x 32 ractest oinstall  4096 Aug  3 08:54 prepatch10204
-rw-r–r–  1 root    root     67039 Aug  3 08:54 files10204.log
-rw-rw—-  1 ractest oinstall  8025 Aug  3 08:55 make.log
drwxrwx—  2 ractest oinstall  4096 Aug  4 01:47 checkpoints
[root@xxxxxx install]#

 <u style="display:none"></u>  <div style="display:none"><a href="http://kissboom.at.ua/news/2010-01-04-31">показать порно мать сын секс порно</a></div>

Categories: 数据库 Tags: ,

Database Benchmarking

June 17th, 2009 ricky.zhu 4 comments
.!.

前阵子跟kaya

聊天,说到benchmark测试和POC,这些都是实际项目中经常会遇到的概念,我们在研发环境很少会遇到,如果有机会实际参加这样的项目体验一把,也未尝不是一件好事。今天转载一篇Oracle Wiki

上的关于Database Benchmarking download flatliners 的文章,当然跟具体的数据库无关。这篇文章从下面几个方面介绍了数据库基准测试(姑且这么翻译):

什么是数据库基准测试

为什么要做数据库基准测试

业界标准的数据库基准测试(也就是传说中的TPC)

数据库基准测试的开源工具和商业工具

数据库基准测试书籍

原文链接

The following is my intro information for database benchmarking…

Reasons for Benchmarking
Benchmarks are performed for various reasons. However, benchmarks are primarily used:

* To compare different hardware configurations
Benchmarks can be used to compare the relative performance of different hardware running the same application. This is generally used to directly compare hardware configurations between two hardware vendors.

* To compare different database vendor software
By running the same benchmark using different database software on the same machine, one can easily compare between different database vendors. This is generally used to make a price/performance decision between vendors such as Oracle, Microsoft, IBM, etc.

* To compare different database software releases
Similar to the above, one can use different versions of the same vendor’s database software to compare the one they want to use or check for performance regressions due to upgrades (i.e. 10g vs. 11g).

Real World Benchmarks
While there are several industry standard benchmarks, most of the time, they don’t reflect a company’s actual workload. As such, you will often find custom benchmarks being performed. The goals of a real-world benchmark are the same reasons mentioned above.

Industry Standard Database Benchmarks
Industry standard benchmarks are generally used by businesses to compare different hardware and software system performance for purchase-related reasons. While industry standard benchmarks are modelled after real-world workloads, they rarely reflect a company’s real workload. However, it is a quick way to compare the performance of various hardware and software combinations operating in a well-defined scenario. The major industry standard benchmarks are listed below.

Transaction Processing Council (TPC)
The TPC is a non-profit corporation which supports a consortium of hardware and database software vendors devoted to defining transaction processing and database-related benchmarks. The primary goal behind TPC benchmarks is the definition of functional requirements which can be run on any database, regardless of the hardware or operating system. This allows vendors to implement their own benchmark kits in order to satisfy the functional requirements. Similarly, after having publicly submitted proof that a benchmark was conducted according to the specification, end-users have more of an assurance that what they are presented with is a valid, apples-to-apples comparison.

* TPC Benchmark C (TPC-C)
The TPC-C simulates an order-entryenvironment where a population of terminal operators executes transactions against a database. The benchmark is comprised of transactions which include entering and delivering orders, recording payments, checking the status of orders, and monitoring the level of stock at the warehouses. The most frequent transaction consists of entering a new order which, on average, is comprised of ten different items. Each warehouse tries to maintain stock for the 100,000 items in the Company’s catalog and fill orders from that stock. The performance metric reported by TPC-C measures the number of orders that can be fully processed per minute and is expressed in tpm-C. The TPC-C will soon be deprecated in favor of the TPC-E.

* TPC Benchmark E (TPC-E)
The TPC-E benchmark simulates the OLTP workload of a brokerage firm. The focus of the benchmark is the central database that executes transactions related to the firm’s customer accounts. The TPC-E metric is given in transactions per second (tps). It specifically refers to the number of Trade-Result transactions the server can sustain over a period of time.

* TPC Benchmark H (TPC-H)
TheTPC-H is a decision support benchmark which consists of several business-oriented ad-hoc queries and concurrent data modifications. This benchmark illustrates decision support systems that examine large volumes of data, execute queries with a high degree of complexity, and give answers to critical business questions.

The performance metric reported by TPC-H is called the TPC-H Composite Query-per-Hour Performance Metric (QphH@Size), and reflects multiple aspects of the capability of the system to process queries.

Standard Performance Evaluation Corporation (SPEC)
The SPEC is a

* SPEC jAppServer
The TPC-C is

Free and Open Source Benchmark Kits
As the benchmark kits used by various database vendors are proprietary, several open source database benchmark kits have been written to implement not only the industry standard workloads, but others as well.

* Open Source Development Labs Database Test Suite
The OSDL DBT suite is the most comprehensive of all open source benchmark kits. While its benchmark implementations are based on TPC standards, they differ in some areas and are not certified; making a comparison between a certified TPC-C result and OSDL’s implementation of TPC-C (DBT-2) impossible. As the original OSDL DBT suite lacks Oracle support, Oracle has added and released it as part of the Oracle Linux Test kit.

* PolePosition
PolePosition is an open source benchmark test suite to compare database engines and object-relational mapping technology.

* jTPCC
jTPCC is an open source Java implementation of the TPC-C benchmark. While it claims compliance with TPC-C, it is not.

* BenchmarkSQL
BenchmarkSQL is an open source, easy to use JDBC benchmark which closely resembles the TPC-C standard for OLTP; it was originally based on jTPCC.

* Bristlecone
Bristlecone is a simple SELECT+INSERT/UPDATE/DELETE throughput and response-time benchmark written in Java.

* FinTime
FinTime is an open source set of data and queries which reflects the needs of financial analysts who are studying patterns in stock market data, but it should appeal to the designers of any system that has pretensions of handling ordered data well.

* Java TPC-W Implementation
This open-source implementation is based on the TPC-W specification version 1.0.1. It strays from the official benchmark specification in a few minor areas, which are specified in documentation included with the distribution. This version itself lacks Oracle support, but it can be found on the web.

* Swingbench
Swingbench is a free load generator (and benchmarks) designed to stress test an Oracle database (9i,10g,11g).

* OpenLink ODBC Bench
OpenLink ODBC Bench is an open-source ODBC Benchmarking tool providing real-time comparative benchmarking for ODBC Drivers, Database Engines, and Operating Systems combinations. The Benchmarks in this application are loosely based on the TPC-A and TPC-C standard benchmarks, with modifications to specifically test the performance of an ODBC Driver and/or Database Engine in a client/server environment.

* OpenLink JDBC Bench
Similar to OpenLink’s ODBC Bench, this is a JDBC version.

* TPCC-UVa
A free, open-source implementation of the TPC-C Benchmark.

* Hammerora
An open source load generation tool.

Commercial Benchmark Kits
There are several industry standard benchmarks.

* Official Oracle Benchmark Kits
Similar to Microsoft and IBM, the official benchmark kits used by Oracle can only be obtained under certain conditions. For more information, contact your Oracle Consulting/Partner/Support representative.

* Real Application Testing
While many wouldn’t think of Real Application Testing as a traditional benchmark kit, it does perform workload execution primarily for the real world benchmarking case.

* Quest Software’s Benchmark Factory for Databases
Benchmark Factory for Databases is a workload simulation and scalability testing tool that stress tests your environment by simulating users and transactions on the database. You can either replay production workload or use synthetic workload to test the limits of your database.

* SPEC jAppServer Benchmark Kit
This can be acquired directly from SPEC.

Benchmarking-related Books
There are several good books regarding benchmarking. The best I’ve found include the following:

* The Benchmark Handbook: For Database and Transaction Processing Systems (Jim Gray)
A great, albeit outdated book. While several of the benchmarks it discusses have been deprecated, it presents good concepts and background information regarding benchmarking.

* Performance Analysis of Transaction Processing Systems (Wilbur H. Highleyman)
While out of print, this book presents both plain-text and math-heavy concepts of queueing and performance analysis techniques oriented for OLTP.

* Database Benchmarking: Practical Methods for Orac

Categories: 数据库 Tags: ,