Oracle has a clever concurrency model and better sequence generation features than SQL server. PL / SQL is a richer programming language than Microsofts T-SQL equivalent - although both are extendable using COM or dynamically linked libraries, aswell as command line evocation. Oracle's major fault is that it comes with a complex and expensive licensing model, and to use it properly you'll need some good UNIX - RISC harware and the expertese to manage it all - so it incurrs quite high costs. SQL server conversly can run in Windows 2000 / NT and is easy to administer, tune etc etc. It also generally costs 5-6 times less to set up than the equivalent Oracle system. SQL server does have faults, mostly to do with the way it locks whole tables - rather than rows. If you wish to use SQl server make sure its SQL server 2000 - its feature rich and is about equivalent to Oracle 7.3. SQL server 7 is relatively primitive. SQL server also has some nice freebie add-ons - such as its built in OLAP server, data mining tools and English query NLP query generator - cute. It also integrates very well with NT domain security - so you'll only need 1 password system (always a pain in an environment with Oracle on UNIX and clients on NT). The equivalent tools for Oracle generally have to be purchased separately as add-ons at extra cost. Performance wise they are both very fast - and much of the differences can be accounted for by good database design and implementation, and the use of appropriate hardware. An especially nice feature of SQL server is that you can make a 'mini-me' runtime version (called MSDE) with free 5-user liense - as a back end to any applicatons you wish to distribute - a bit like a supercharged access database. So I would choose Oracle on projects where you have enough skilled manpower.