Oracle

  • http://www.car-accidents.com/pics/carphotos/911_2_1-8-01.jpg

    In a recent Database Weekly editorial, I put in a blog entry from Tony Rogerson about Oracle's documentation for my weekly pick. I was putting it in there as a humorous, let's pick on Oracle, entry thought Tony was a little more serious about a poorly designed interface to their topics. If you haven't seen it, check it out and form your own opinion.

    However I had an Oracle DBA respond that I'd somewhat detracted from my editorials with an uninformed poke at Oracle documentation that he found "documentation comprehensive, well written and well organised". He also mentioned that many Oracle DBAs consider the product more advanced than SQL Server, "crucially in the data warehouse in respect of partitioning and bitmap indexes."

    No great surprise there. I've definitely met some Oracle DBAs and sales people that think they live in the ivory tower and we're the peasants.

    Oracle is a great product and works well, and I'll admit that I'm not a experienced Oracle DBA, nor can I give you a well informed or credible view of their product. I'm a SQL Server DBA and I can only to basic comparisons with Oracle. And maybe humorous ones 🙂

    But I can laugh at myself. So in the spirit of "MICROSOFT SHOULD MAKE CARS":

    Who's wants to take a shot at SQL Server?

    I'm looking for a few guest editorials or even articles that take some shots at SQL Server. Give us something that's absurd, strange, or doesn't make sense. Make it funny or not so funny. I'll try to publish a few of them, but they have to have clean language and make sense. Any rants that just run off at the mouth with venom will get filed circularly.

    I'd especially like to see something from an Oracle DBA or someone with experience there (or DB2). Feel free to let us know what you think is wrong with SQL Server. And if you've got a shorter note, drop it below and give us all a chuckle on this Friday.

  • I have used Oracle 8i, 9i, & 10g and you cannot compare Oracle documentation to SQL Server, ask me for a SQL Server book and I tell you the BOL.  You need a book to use Oracle if you are an Admin and your employer did not pay for the DBA version of Toad or Embarcadero but for development in .NET there is no difference between using Oracle and SQL Server because Oracle have spent enough money you can create single table Datagridview pages without one line of code.  And the most expensive Visual Studio 2005 called Team Suites integrate better with Oracle than SQL Server for both Asp.net development and Reporting Services.  The reason Quest knows more about Oracle errors than Oracle because Quest bought a site like SQL Server Central for Oracle and shut down the site.

     

    Kind regards,
    Gift Peddie

  • I have been working with MSSQL and Oracle for several years. To be fear each product have their own strengs. Is true taht MSSQL have better organization of the documentation than oracle. Oracle is more complex product and is supported in several plataforms includiing windows. From a point of view of a developer or dba few points can make the diference.

    1)- read consistency.

    2)- locking mechanism.

    3)- trasaction procesing.

    4)- Disaster recovery.

    5)- Scalavility.

     Questions for DBAs.

    In MSSQL: Are able to run query in a point of  time before as actual ponint of time in the database?

    In Oracle: Is a PC Tech able to Install, configure and tune a database?

     

     

     

     

  • I haven't used Oracle since 8i (if I remember correctly) but here are two things that I loved about Oracle and really miss in SQL Server:

    1) BEFORE triggers: SQL Server has INSTEAD OF and AFTER, which are both fine, but quite often you want to do something BEFORE the event either without altering the event itself or with access to the inserted and deleted magic tables.  In SQL Server you need to do an INSTEAD OF trigger and do a "INSERT INTO table SELECT * FROM inserted", which is kind of a cheesy way of accomplishing the goal.

    2) Programmatic interface: without arguing about whether or not business logic should be in the database, it is hard to avoid stored procedures altogether and Oracle's PL/SQL packages really can't be beat.  They allow for: grouping similar functions together, polymorphism (same proc name but with different input parameters to do different things), and allow for constants (genious!).

    Don't get me wrong, I really do enjoy SQL Server and 2000 was a great improvement over 7, and 2005 is a great improvement over 2000.  However, it would still be great to have at least these two features (and a few others) in SQL Server (someday before I stop working )

    SQL#https://SQLsharp.com/ ( SQLCLR library ofover 340 Functions and Procedures)
    Sql Quantum Lifthttps://SqlQuantumLift.com/ ( company )
    Sql Quantum Leaphttps://SqlQuantumLeap.com/ ( blog )
    Info sitesCollations     •     Module Signing     •     SQLCLR

  • I have recently been forced to start working with Oracle after having run an SQL Server for over 10 years.

    What I've concluded so far is that they are both great products that will do the job, but their handling requires different thinking.

    SQL Server is, as almost all Microsoft products, quite easy to learn. I am not by profession a DBA. I got to work with SQL Server because I was the Project Manager for a CRM implementation and found that reporting directly from SQL Server was far easier than using the reporting functions the CRM application provided. That's how I got to learn SQL and you get to learn a lot about the server environment once you get confronted with problems, errors and advanced user requirements. I have always found the right solutions in the MS documentation or in SQL Server discussion groups. Obviously, that's how I ended up here.

    Oracle seems to me like an environment for control freaks and people who really studied to be IT professionals. On first glance, it provides an immense amount of options to configure and control the environment that you have to manage, far more so than SQL Server. I think SQL Server offers the same options, but MS tends to preconfigure things a little more so you don't have to worry about them until tweaking is absolutely required. In Oracle, you start tweaking before you even have a running system.

    As I "grew up" with MS documentation, I've come to find and understand their information quite easily. Oracle on the other hand to me is like documentation from a different planet. I don't blame the people who wrote it though, but I blame myself for being something like an advanced amateur DBA being able to use "easy" products like MS's and not a real IT professional being able to understand the Oracle tech-speak.

    At the moment, I'm building a reporting warehouse (you can't really call it a datawarehouse because there's no cubes and stuff in it) in Oracle 10g. I've had to buy a couple of books to study Oracle and I have the help of an extremely experienced DBA. It's fun learning new things and it's good for my curriculum. Business wise, I think my boss should have let me go on and develop it in SQL Server. I would have been ready by now instead of having to plough around for a few more months. The only thing I REALLY like about Oracle are the Materialized Views which can reduce the load from frequently querying complex views a lot.

    To stay with the car theme, MS SQL Server to me is like a VW Golf : pretty straightforward, easy to handle, plenty of speed, it will get you anywhere you want and it has a long running-life. Oracle would be something of an M1 Abrams: extremely powerfull, but hard to handle and it takes a lot of training to get it to do what you want. But once you master it, what power at your hands....

  • Steve,

    As the original "Oracle DBA" referred to (data warehouse hired hand actually), I feel the point of my rant has got somewhat lost. Sorry if I did not make myself clear.

    I did not set out to vaunt Oracle over SQL Server, on the contrary, my point was that it's sad that human beings divide into camps and seem to feel we have to shoot the other "camp" down in order to feel good about ourselves. I think the response has tended to prove my point, but perhaps only to me.

    The bit you quoted about Oracle's merits in the area of partitioning and bitmap indexes was not to lord it over SQL Server partisans but to remind them not to lord it over Oracle types.

    In my e-mail I made a couple of points about the documentation story that I feel have got lost, so let me expand. At the end of the day the test of ergonomics is surely what works for you. Oracle provides a number of documentation options, of which the PDF documentation set works well for me, being well organised IMO and highly searchable. I speak as one who relies heavily on documentation because I've had zero Oracle training and certainly don't fit Grasshopper's criteria. If Oracle also provides some bad (or misunderstood?) options, why should the company be judged as though that's all they offer? It seemed to me that Tony was off beam comparing the Web version of the Oracle Master Index manual to BOL, that doesn't seem like apples with apples to me, but hey, I'm only a working slug with no time to spend in that ivory tower you mentioned.

    I appreciate your invitation to submit a SQL Server bashing editorial. If at some point I do submit a guest editorial it will certainly not be to bash SQL Server. That would be entirely against my point, and besides there are many things I like about the product, dammit. "Give credit where it's due" is my theme.

    Finally, to those who pan Oracle, heed this warning: I came from a SQL Server background and starting out hating Oracle (until I found the PDF documentation BTW). Through experience I came to respect and at times even love the product. And I learnt something about camp dwelling. You never know, something similar could happen to you!

    Regards,

    Don

  • I came across this a while back, but given the topic its worth a read if you havent already (and maybe even if you have)...

    10 Things I Hate About SQL Server

    Make sure you have a look at the comments aswell.


    ... at least thats what I've heard?

    "In faith there is enough light for those who want to believe, and enough shadows for those that don't"

  • I worked writing scripts for both these database platforms (and Sybase, and Postgres...) for years.  I lost most of my hair designing procedure based applications where the backend could be MSSQL 6.5 or Oracle 7.3.  Over the years Microsoft has definitely been playing catch up, and would strike me as only being ever so slightly behind in mostly niche technology (especially now that 2008 has table input variables).

    Before triggers would be really nice.  But then again, I like the fact that Microsoft allows you to reference modified tables during trigger runtime (unlike Oracle with it's mutating table errors).  I'm a big boy and can make my own decisions, if I want to reference the table let me.

    What really does get my goat about T-SQL is REPLACE.  It's the smallest thing, but man it's annoying.  Why do I have to have "IF EXISTS blah blah blah..." 15000 times whenever I pen a script.  I mean even Postgres has REPLACE implemented(admittedly, very poorly).

    That's been bothering me for years, so thanks for letting me vent.

  • One thing DB2 has that I would like to see in SQL Server is a multi-column IN.  But given the choice I prefer the ability to use the T-SQL UPDATE... FROM syntax.

     

    btw... SQL Server _does_ have a REPLACE function: http://msdn2.microsoft.com/en-us/library/ms186862.aspx

     

  • I have now worked with SQL Server for about 6 months.   I worked with Sybase for about a year (developer, not DBA) but I was a very knowledgeable DBA with Oracle before that.  I think I started using Oracle around 1996.  (Release 7).  I took some classes in 10g, and installed it but have not really used it much. 

    Oracle has a slew of things you can do to customize it to your needs.  The options and configuration styles are unending.  Which is why in general most people say it performs poorly to SQL Server.  Most people try to set it up and run it without knowing what they are doing.  It works like dog droppings out of the box.  SQL server on the other hand it pretty good in that respect.  However, if things don't work with SQL Server, your options are fairly limited.  (In my short time working with it however, I haven't had the need to investigate those options). 

    Partitioning is simply superior in Oracle. No comparison there.  Indexing options are a little better in Oracle. 

    T-SQL is FAR SUPERIOR to PL/SQL.  Except in one area... DATE/Time functions are MUCH MUCH Better in Oracle. 

    To summarize:

    Oracle caters to the DBA, SQL Server to the developer.  I think the biggest negative to SQL Server is it's limited choice of platforms.  Your stuck with windows.  That limits your options for BIG systems. (much more in the past than now).   

    However where SQL Server shines (believe it or not) is in it's optimizer.  I have come across VERY FEW situations where I have had issues with bad plans being chosen (given all the normal proper maintenence is being done). 

    With Oracle, I would say that nearly 1 in 200 SQL Statements required VERY SPECIAL handling (hints and such) to ensure that it worked properly.

    If you asked me to choose which system a new application should be developed in?  I would say:  Unless there is NO WAY to use SQL Server, choose it.

  • Triggers are obsolete for most development needs because the RDBMS vendors created triggers to enforce business rules before pure object modeling. Now you just grab a conference room and model objects so you can separate business rule, DAL(data access layer) and relational model. Polymorphism in Oracle that is a joke ANSI SQL member and Oracle Vice President Jim Melton told Software Development magazine objects in the database was a mistake, one of the reasons 8i is technically not supported for the Oracle .NET provider you need 9i client to use it. He said the object people refused to do the algebra so performance and scalability was below acceptable levels. Oracle Number data type is so primitive it goes  back to the early days of RDBMS and can grow to a heart stopping 20 bytes. RDBMS is Oracle main product if it is not evolving it will be bad for business. When SQL Server 2008 comes with time interval arithmetic and a clean multi byte Nvarchar I think both products are equal one is easy to use the other can keep you awake at night if your employer is too cheap to pay for a MetaLink account and I have seen fortune 500 companies running many Oracle without MetaLink accounts.

    Kind regards,
    Gift Peddie

  • I'll throw in a comment on this.  I have worked with SQL Server since SQL 6.5 and also worked several versions of Oracle for about 4 years.  With SQL 2005, MS has really overtaken Oracle in nearly every respect.  In most cases, the performance is pretty comparable with Oracle edging out SQL a bit.  My experience has been that stability is still a bit better with Oracle on UNIX.  On the other hand, when you look at SQL Server, Analysis Services, Reporting Services, and Integration Services as a package, it is a fantastic deal.  There are third party products that you can get for Oracle, but nothing so closely integrated with the product and certainly little that comes with the database engine license.

    When you add to that the inclusion of Proclarity in the MS BI suite, getting licenses for Office, Sharepoint, and SQL Server gives you a very complete OLTP and BI solution from a single vendor that also makes the Operating system.  That is really hard to compete with for anyone.  I appreciate specialization and the argument that the MS suite does many things less-than-perfectly, but for the total cost of ownership, it is becoming very hard to justify using anything else these days.

  • Hi,

    About Documentation : I've been practising both as a developper, and DBA for a few years (8i-10g, SQL2000-2005)

    Oracle documentation is made of many "Books" (1000+ pages, freely downloadable on OTN in pdf format) rather than "Books on line" which are organized in short independant articles.

    I am not sure about which is best. Both are very consistent considering concepts, terminology, aso.

    Oracle books are turned into more "reference books", drilling into what is globally introduced in "Concepts" book.

    With SQL Server, people ad-libbed "DBAs" often do things, and hit F1 when they have a problem. Which is great in terms of initial investment.

    Oracle DBA's usually have to read and train a bit before.

    Only 2-3 Oracle books are requiered for usual developers, (like "SQL Reference", "App Developer's Guide" and "PL/SQL Guide").

    And a bit more for DBA's (like Installation, Administrator's guide, Backup and Recovery, Reference, replication, performance tuning...)

    Most of these books provide real exhaustive explanation about system internals, which is rare with BOL.

    My global opinion is that Oracle -9i- is still a few years ahead SQLServer 2005.

    Huge improvements have been made on SQL2005 to keep up with Oracle (as if they were asked by angry ex-Oracle DBAs), like snapshot isolation level, DB mirrorng, sqlcmd, schemas, synonyms, exception handling, online rebuild, oneline/partial restore... but keep 3-5 years behind.

    Oracle becomes necessary if you are very demanding on concurrency, or datawarehousing.

    If not, use SQL Server Suite, which is now really reliable. Its price is worth it.

    About our concern (what I don't like with MSSQL, and has not been already mentioned here :

    - I think we still can't reorganise a table if it doesn't have a cluster index.

    - I don't understand why collations include all these criterias, rather than specifying [charset, sort and comparison] rules separately.

    Most of the 1000+ collations proposed by SQL Server are redundant because og this

  • SQL Server REPLACE string function is something different from "CREATE OR REPLACE PROCEDURE" syntax which was mentioned before.

  • I work with both Oracle and SQL Server. I started using Oracle 7 in 1997 and it did not even had a GUI interface. I had to use SQL*PLus to compile to procedure. I used notepad to write the PL/SQL. At that time you could only use Oracle Form to build the GUI page. Thank God there was this guy invent TOAD. I was surprised after all these years Oracle never came up with the GUI interface. Also it still had a time to work with flat file. I need to use SQL loader to load the file.

    However SQL Server came with query analyzer and enterprise manager which allows developers to learn SQL Server T-SQL much faster. The BOL was very helpful. Also the developers could learn a lot of DBA skills much faster.

    I remembered in my old company, there were three SQL Server DBAs to take care of 180 SQL Server database, and there were three Oracle DBAs to take care of one Oracle database !!!!!

Viewing 15 posts - 1 through 15 (of 36 total)

You must be logged in to reply to this topic. Login to reply