Sunday, July 29, 2007

Learn Oracle - Part 1: Getting Started

Probably the most popular question I am asked is something along the lines of, "I just graduated college and want to learn Oracle. How can I do that?" Sometimes, it may be, "I have worked as a functional on an Oracle Applications implementation and want to learn technical." The question that some times frightens me is, "I heard I can make a lot of money with Oracle. I want to be a DBA or developer, which ever makes more money."

Ok. So I am going to make the assumption since you are reading this that you want to learn Oracle. This series will get you started. First, let's cover your motivations.

  • You want to be rich and/or famous - Become an actor, football player or rapper.
  • You have a technical background and want to expand into Oracle and/or databases in general - Excellent! This article is for you.
  • You have a business background or are a relative computer newbie and want to learn Oracle - Excellent! This article is for you.
Step 1

Get thee to OTN! The Oracle Technology Network is mandatory for anyone wanting to learn about Oracle. You are required to complete a registration to access many areas but it is completely free and it well worth the cost. As a beginner, you will be expected to spend a lot of time at OTN.

Step 2

Get familiar with some forums:

Step 3

Find the email lists. I don't recommend that you subscribe to every list to start and I especially don't recommend that you start posting. Subscribe to a couple of lists, filter them to a folder in your email software and spend some time each day just reading them. You will pick up information by osmosis, learn how to ask questions (and how not to), and get familiar with the names of people who regularly post good information.
  • ODTUG Mail Lists - Fairly good selection of lists
  • ITToolbox Groups - Ok Forums but not my favorite
  • Oracle News Groups - Look for high volume groups. Maintain a thick skin if you plan to post. Remember that people can be jerks and it usually has to do with their issues and not with you. Comp.database.oracle.server and comp.database.oracle.misc are the two usenet groups I read most often.
Now you know where to get the documentation and where you can find information. In the next entry in this series, I will cover some blogs that I consider exceptional and we will finally get to the software side of Oracle.

LewisC


Saturday, July 28, 2007

Interview with Oracle's President, Charle Phillips

InformationWeek has a good interview with Charles Phillips where he discusses Oracle's competition. Charles Phillips has been in the background at Oracle for a long time but in the last few years has really been the driving force. I think he is largely responsible for the current acquisition strategy that Oracle is following.

Some good Q&A from the interview (some of these are not the entire quote, read the article fore the entire quote):

InformationWeek: Oracle can't possibly replace the majority of SAP ERP deployments since companies have gone through so much time and expense putting them in place. So what exactly is Oracle's endgame in business software?

Phillips: In other cases, we simply surround SAP's general ledger with best-of-breed functionality in areas where SAP is weak. A very common scenario is the SAP GL surrounded by Siebel CRM, PeopleSoft HR, G-Log for transportation management, Hyperion for consolidation of those GLs, and Demantra for demand planning -- all sitting on Oracle Fusion middleware and the Oracle Grid. Many SAP customers also use Agile and Siebel CRM On Demand.

InformationWeek: Some CIOs complain communication breaks down after an Oracle acquisition. How would you convince them Oracle's strategy is in their long-term interests?

Phillips: Most of our customers see the same sales rep post-acquisition because we simply fold in a specialized salesforce and tell them to keep doing what they've been doing. We've had very little turnover in the field as a result, and we've become the employer of choice in software. We maintain the continuity so we don't break relationships. The results over three years suggest we're connecting well with customers, very well. As time has gone on, customers are not only understanding what we're doing but encouraging us. They continue to suggest acquisition ideas for us, and I routinely get calls the day of acquisition congratulating us [for] helping them to further simplify their architecture. So opinions have changed.

I particularly like this answer:

InformationWeek: As a top Wall Street analyst, what would have scared you most about Oracle's acquisition binge?

Phillips: The stock is up 41% over the last 12 months. That usually assuages fears on Wall Street.

No Q&A about open source competitors which what I was hoping for. Still this is a good read. Check out the entire article: Q&A: Oracle's President Charles Phillips

Thursday, July 26, 2007

The Oracle Cost Based Optimizer: A Webinar

Earlier today, I attended a webinar by Hotsos. The webinar, titled Cost Based Optimizer: 1 of 2, was a basic introduction to the Cost Based Optimizer (CBO) in Oracle and the 10053 trace file. The CBO optimizes SQL queries and that optimization can be seen in a 10053 trace. It was not, what I would call, an advanced webinar but was done with plenty of examples and was very accessible for new comers to performance tuning. The webinar was given by Hotsos employee, Mahesh Vallanpati.

Because the webinar was filled with plenty of examples, it doesn't lend itself to a blog post. I'm pretty sure they said an archive of the webinar would be available on the Hotsos site. I did take some notes though so here are a few things that do lend themselves to a blog post. If any of this is wrong, it is probably a typo on my part.

The CBO is a complex, mathematical based optimizer. The CBO was introduced in Oracle 8, was improved in 9 and replaced the RBO completely in 10. While the CBO is driven by statistics many things affect it:


  • Database Parameters

  • Database Statistics

  • CPU and I/O Stats

  • DB Schema Configuration

  • Stored Outlines

  • The SQL Code Itself

  • The Oracle Query Cost Model (based on DB version)

Statistical data points collected by the CBO include (you can get this from the columns in stats data dictionary views):

  • Table Statistics


    • Number of rows

    • Number of blocks below the high water mark

    • Empty blocks

    • Average free space

    • Row length
  • Column Statistics


    • Distinct Values (very important)

    • Density

    • Low Value

    • High Value

    • Histogram values if they exist



    Note: If you use a default date rather than null, make sure your date is not way off base as that may skew the optimizer

  • Index Statistics


    • Clustering

    • Depth of index

    • Leaf blocks

    • Distinct Values (very important)

    • Other averages



  • System Statistics


    • Average Block Read sizes (multiblock and singleblock)

    • CPU Speed

    • I/O Speed

    • Table Statistics

    • Table Statistics




Note: The frequency and % of stats collected should not be a drag on the system. You need to evaluate just what % makes the most sense as well as how frequently you need to collect them.

Less logical I/O is not always better. In the session, Mahesh went over an example where, due to the dbfile_multi_block_read_count setting of 16, a full table scan with a LIO of 722 was actually chosen by the optimizer in lieu of an index scan with a LIO of 166. That means that in a full table scan, Oracle was reading 16 blocks at a time. By reading that much data at once, Oracle was actually getting more data faster than it would have by reading the index sequentially. Had the parameter been set at 8k, the index might have had better performance. Very nice detail.

One good tip that Mahesh provided is: The first step of your statistics gathering should be to backup your old stats. That way you can recover if something goes wrong.

Finally, Mahesh talked about a hint that I did not know existed, the CARDINALITY hint. Using the cardinality hint in a dev or test environment, you can test scalability when the amount of data in your tables grows. The hint tells Oracle that you have a different number of rows than you really have. You can run explain plans with various values and see how that impacts your plan.

Tuesday, July 24, 2007

Oracle Creates Asian R&D Center

Oracle is linking development and solution centers in Asia Pacific and Japan to build a new R&D center. This center will develop local and global solutions. The center will incorporate people from Beijing, Gurgaon, Seoul, Shenzhen Singapore, Tokyo and other Asia pacific locations.

"This new collaboration will significantly enhance our Asia Pacific innovation development process and ultimately benefit our customers and partners in this region," said Kevin Walsh, chief technology officer,Oracle Asia Pacific & Japan. "With all sides of the globe participating and contributing to technology solutions, our customers will gain access to some of the most cutting-edge IT projects in the world. Customers and partners will also be able to collaborate with Oracle's vast R&D network to apply new thinking in the way software can be used to stimulate global growth and innovation in any industry or country."

Oracle recently reported that it spent 2.2 billion dollars on R&D in 2007. That's up 17% from 2006.

Another Oracle Exec Leaves, This Time for Open Source

Don Klaiss, Senior VP of Applications at Oracle has left to to be CEO of Compiere. Compiere is the largest, and, I think, oldest, open source ERP provider. Compiere was an early adopter of Oracle as a backend for its open source database.

Klaiss says, "After 15 years with Oracle, I decided to move on. Building and running such a large applications business had been challenging and exciting, but as the industry matured and began to consolidate, I felt there was a lack of innovation happening in traditional enterprise software."

"Why? The mid-market ERP segment was not well served – and it needed to be. On the high end, Oracle and SAP offer a variety of products. But these products are complex, bloated with features, and too expensive for most mid-size companies."

I first played with Compiere back in 2000 or so when I worked at another, closed source, ERP software company. I looked at it to see if we could adopt anything. We were using Orale Forms at the time so there was nothing there we could use. I still thought it was a pretty nice piece of software though and tried to get my management to look at it. No go.

Paul Hamerman, an analyst with Forrester Research, says, "The company is starting to become recognized among our clients. We don't get a lot of inquiries about open-source alternatives. But I think it is starting to get legitimatized."

Klaiss has brought in former Oracle and SAP employees for key posts and is changing the way it interacts with the world. Klaiss himself is blogging (or at least being very open with his opinion) in "In Search of an Open Source Business Model".

Monday, July 23, 2007

Oracle buys Bharosa

Oracle® Buys Online Identity Theft and Fraud Detection Leader Bharosa

Bharosa, Inc., is a leading provider of software that helps combat online identity theft and fraud. This should tie in nicely with Oracle's Identity software.

According to the article:

With more than 25 million users, Bharosa's real-time fraud detection and multifactor online authentication security solutions for the enterprise, combined with Oracle's established web single sign-on and web-based authorization solutions, will result in a differentiated solution that protects investments by extending internal web Single Sign-On (SSO) solutions to external users. It also creates a highly secure, low impact security solution that protects users from common, often costly, threats.
"Companies need new mechanisms that complement their existing security solutions so that they can better protect themselves from insider threats and misuse from privileged users," said Jon Fisher, CEO, Bharosa. "At Bharosa, we're thrilled to bring our market-leading solutions to the world's largest enterprise software company."