Picking up Oracle development skills

  • Sam Peascod (2/11/2009)


    Brilliant, thanks Gints! That's exactly what I'm after!

    Sam

    Wow. That page is wildly wrong in many cases. It's written by an Oracle User group, and really doesn't know all SQL Servers capabilities, and is wrong about some.

    Take with a grain of salt. It's a good list of oracle capabilities, but it whiffs on SQL equivalents.

  • jgrubb (2/12/2009)

    Wow. That page is wildly wrong in many cases. It's written by an Oracle User group, and really doesn't know all SQL Servers capabilities, and is wrong about some.

    Take with a grain of salt. It's a good list of oracle capabilities, but it whiffs on SQL equivalents.

    It would be nice if you could list at least some of these "many wrong cases". I suspect this might be possible, yes, because it really was written by more Oracle oiented person. But in fact I've never seen any comparison completely fair for both involved sides

  • gints.plivna (2/12/2009)


    jgrubb (2/12/2009)

    Wow. That page is wildly wrong in many cases. It's written by an Oracle User group, and really doesn't know all SQL Servers capabilities, and is wrong about some.

    Take with a grain of salt. It's a good list of oracle capabilities, but it whiffs on SQL equivalents.

    It would be nice if you could list at least some of these "many wrong cases". I suspect this might be possible, yes, because it really was written by more Oracle oiented person. But in fact I've never seen any comparison completely fair for both involved sides

    How about SQL 2k8 doesn't support table compression? Nvarchar limited to 8K? 0 XML handling functions? Too many to go on about.;

  • [font="Verdana"]

    Okay, I could spend more time on this and reference Books Online, but I'm just going to give it a quick once over and list anything I have queries about.

    Are extents always 64k? I thought this could be changed (not that I have ever tried to do so.)

    Tempfile in Oracle is kinda equivalent to tempdb. Kinda.

    Default tablespace in Oracle is kinda equivalent to [PRIMARY].

    RAC: you can do similar sorts of things with federated servers.

    SQL*Loader: bcp/SSIS. bcp is less capable than SQL*Loader, SSIS is far more capable.

    Oracle Clusters: this is some stuff that's been hanging around in Oracle since at least version 6. I don't know of anyone who uses them. They just make life very complicated. It's a way of merging the storage of overlapping tables. When disc space was a premium, it made sense. These days, use data compression.

    Validate/NoValidate: I think there's a SQL Server equivalent to this when you create a constraint to get it to check the data?

    REF: why do we need to create hierarchical data stores in a relational database? Grrr. Anyway, you could possibly do some of this with a SQLVariant.

    Dimension: Oracle has a chunk of data warehousing stuff built into the RDBMS. For SQL Server, you need to step outside into Analysis Services to get the equivalent.

    Parameters: OUTPUT parameters in SQL Server are the equvalent to IN OUT in Oracle.

    By default, indexes in both Oracle and SQL Server are B*Tree. You don't actually specify "B*Tree" in Oracle.

    Compressed Indexes: is this available in SQL 2008? I know data compression is.

    They haven't shown anything for SQL Server's INCLUDE() as part of an index.

    Nothing about XML indexes (which I believe you can do on both platforms.)

    For Reverse, they are referring to Oracle's reverse key indexes, where it reverses the order of the bytes in the key before storing them. This reduces index hot-spots and contention in high TP scenarios. Mostly useful for non-clustered indexes. Oracle and SQL Server have very different space allocation mechanisms, so this really isn't as much of an issue with SQL Server.

    Libraries: there's still (I believe) the concept of a library (DLL) within SQL Server, as distinct from an assembly. Not that I would recommend using them!

    AUTHID: I believe this has some similarity to execute as.

    Check constraints are deprecated in SQL Server? Who knew!

    Identity vs Sequence: oh yes, we could have some arguments over this one! Having used both, I prefer identity. It's easy enough to build a table to duplicate Sequences if you really need them.

    Public Synonyms: this just creates a synonym in the "public" schema. In SQL Server, just create your synonym then grant rights to public.

    Compressed Table: some new stuff with SQL 2008 here (the article IS comparing to SQL 2005).

    Function Based Index: it says the equivalent in SQL Server is Computed Column, but that's not quite right. You need to create an index over the computed column to get the same effect.

    External Table: I'd say OPENROWSET() is an equivalent.

    Global Temporary Table (on commit delete rows): #table is mostly equivalent.

    Global Temporary Table (on commit preserve rows): ##table is mostly equivalent.

    XML Table: in SQL Server, equivalent would be a table with an XML column.

    PCTUSED, PCTFREE, INITRANS, MAXTRANS: heh. Hangovers from an older Oracle. Not even Oracle uses these (much) any more.

    Types: Oracle types are far more capable than SQL Server types, unless you are willing to step outside and into .net assembly-based types. In which case, you can have all of the equivalents to Oracle's types.

    Varray, a table variable is similar.

    SQL Server has ! ? Who knew...

    Date operators: er, dateadd(), datediff()? They're not operators, they are functions. You can use + and - with dates too (if you specifically want operators).

    Should I keep going?

    [/font]

  • Please stop. The differences are legion. The page in question was written from an Oracle perception of SQL 2k8, and not an informed one. Usually, comparisons of DB platforms are done by people with a bias, intentional or not. This is not a surprise. DB's are now such beasts very few would ever get past the surface of more than one. I've been one of those, and bear the scars.

    As I said earlier, the details of the differences are too much for this forum. The biggest thing to remember is that for capability, there isn't a huge difference, and that it is more perception than reality.

    When it comes to migrating between the platforms, tables can be translated, and the CRUD statements are fairly similar. Just need to map various functions for aggregates and such. Complex SQL is a different story

    When you get into code (PL/SQL vs Transact SQL), there's little that's portable. Completely different approach.

  • jgrubb (2/12/2009)


    Please stop. The differences are legion. The page in question was written from an Oracle perception of SQL 2k8, and not an informed one.

    [font="Verdana"]Actually, it's comparing to SQL Server 2005, not SQL Server 2008. But yes, I agree.[/font]

  • Bruce W Cassidy (2/12/2009)


    jgrubb (2/12/2009)


    Please stop. The differences are legion. The page in question was written from an Oracle perception of SQL 2k8, and not an informed one.

    [font="Verdana"]Actually, it's comparing to SQL Server 2005, not SQL Server 2008. But yes, I agree.[/font]

    That's a little ambiguous. The page is titled "Oracle vs. SQL Server

    Version 11.1 vs. 2008"

    I'll admit the article is a little more correct for 2005, than 2008, but you can call that a typo. I don't.

    The other bit that bugs me about the article is the snarkiness about differences. Most of the differences between the are looked at as an SQL Server "problem", rather than a difference in method or focus that might be of similar utility or superior to Oracle. BTW, to validate the due diligence put into this, the related page (Link at the bottom) for Sybase is nearly identical with a few label changes. Including claiming Sybase only runs on Windows.

    Ignore (both) these comparison pages as tainted, incomplete, biased, incorrect, or malicious, depending on your feeling.

  • I agree because both SEQUENCE and IDENTITY are defined by ANSI SQL Oracle and Microsoft choose to implement one and not the other. Here is a better comparison it is a an Oracle to SQL Server migration guide provided by Microsoft. The version of SQL Server is 2000 and Oracle8i/9i.

    http://technet.microsoft.com/en-us/library/bb497070.aspx

    http://technet.microsoft.com/en-us/library/cc917627.aspx

    You can download the book free.

    http://www.microsoft.com/downloads/details.aspx?FamilyId=B4E57B5E-2CFC-49AE-A184-5705ACF8591F&displaylang=en

    Kind regards,
    Gift Peddie

Viewing 8 posts - 16 through 22 (of 22 total)

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