Tag Archives: oracle

Mysql class

So although I’ve  been working as an Oracle Apps DBA for over a decade, I’m spending the next 10 Tuesday evenings going to a beginner class for mysql.  You can find the class syllabus at http://geekaustin.org/news/2010/05/15/geekaustin-mysql-certification-class-starts-tuesday-may-18th

With Oracle’s acquisition on Sun earlier this year, Oracle now has greater influence on the path of mysql (yes, yes, it’s open source and like Java it isn’t *owned* by Oracle, but let’s face it, when you are the company providing much of the developer resources, you can influence the product direction).  Although my main job responsibilities are running all of my client Oracle systems, I also am a Redhat Certified Engineer (RHCE) and provide whatever linux services are necessary.  Lots of products don’t need the robustness of products like Oracle and MySQL, being free as-in-beer, is a good choice.  So I’m off to class.

Last night was the first class.  I’d say about 50 people showed up and class covered topics like client vs. server vs. host and how to do basics like importing a mysql database, doing a mysqldump, and “root”ing your MySQL dbs if/when you forget the passwords.  There was also discussion on the various clauses of a SELECT statement.  Overall, a well taught and fun couple of hours.  I look forward to the next class.

The goal of the class is to prepare the students to take and pass the Certified MySQL Associate certification offered at http://www.mysql.com/certification/candguide.html#t21  .  I’m not sure if I’m going to go for that certification or for the more appropriate for me ( Certified MySQL 5.1 Database Administrator (CMDBA 5.1)) certification which will require quite a bit of extra studying on my own.  Have to see how my free time pans out over the next couple of months.  I do wonder if the MySQL exams will be re-written to be like the other Oracle exams now that Oracle owns Sun.

For those who want to study on their own, supposedly everything for the exams can be found in the book titled “MySQL 5.0 Certification Study Guide” .  It’s available on amazon and also online at Safari Books.  For those curious, it’s quite readable on an iphone.

I press Help for help… and get a 404?

A quick heads up to other Oracle Applications DBAs out there who apply the quarterly security (CPU) patches from Oracle to their Apps 11i instances – the patches break the online help for the end users.  Luckily, Oracle has released a patch for this (yay!) but they haven’t updated the CPU documents (which have a section just for that – Section 5, Document Modification History) nor have they re-released the patches or notified people who downloaded the patches – things easy to do and things that would make customers better value Oracle Support.

Failures like this by Oracle to get their documentation in sync drive DBAs and clients crazy and makes customers question why they pay 20% a year for Oracle Support.

For those looking to fix the issue, check out My Oracle Support document ID 1080465.1  .  It’ll tell you you need patch 9506302.

This was an issue caused by the OCT 09 CPU patches and was also in the JAN 10 CPU patches.  You can check for yourself that Oracle didn’t update the documents – Note IDs are 880170.1 and 985520.1 respectively.

Oracle Support on VMware – your Cisco switches and DELL servers aren’t certified with Oracle

So I came across this article last week on Oracle VM and how companies are trying it and how it’s, and I’m quoting here “not half bad”

If I ever come out with my own Enterprise level software and have a couple of public releases under my belt and the best thing I can get in the press is “not half bad”, shoot me.  Seriously.  That’s embarrassing.  Even if you do offer it for free.

So let’s look past the headline and see what the article has to say, shall we?

First sentence “Oracle’s continued refusal to support its applications virtualized on something other than the Oracle VM hypervisor has forced the hands of some users, pushing them to try the Xen-based virtualization offering.”

It’s this sort of FUD (Fear, Uncertainty, Doubt) spreading that’s one of the things I dislike about our industry.  Let me be completely clear ORACLE FULLY SUPPORTS ITS APPLICATIONS VIRTUALIZED ON SOMETHING OTHER THAN ORACLE VM HYPERVISOR.  Don’t believe me?  Check out Metalink My Oracle Support note 249212.1 – Support Position for Oracle Products Running on VMWare Virtualized Environments. Here’s the first paragraph

Oracle has not certified any of its products on VMware virtualized
environments. Oracle Support will assist customers running Oracle products
on VMware in the following manner: Oracle will only provide
support for issues that either are known to occur on the native OS, or
can be demonstrated not to be as a result of running on VMware.

Did you know your Cisco switches aren’t certified by OracleYour DELL servers aren’t certified by Oracle either.

Very very rarely does Oracle certify another vendor’s hardware products.  Certify != support.  Oracle support’s your installation of Oracle productions on VMware just fine.  They take the very reasonable point of view that they’ll help you until they come to believe the issue is VMware at which point they’ll refer you to VMware support.  Seems completely rational to me.

I’ve been an Oracle Apps DBA running Oracle products under VMware for about 4 years.  I have never had Oracle not help me because I run many of my environments under VMware. I’ve spoken with numerous other Oracle DBAs running Oracle products under VMware.  None of us have ever had an issue where Oracle wouldn’t support our environments because we were running under VMware.

I’ll address the rest of the article in another blog post shortly, but seeing this FUD still slung about makes me too annoyed to write coherently.

The easy (ok, easier) way to installing Oracle

From searching the web, it’s apparent that even installing Oracle on Linux can be a challenge for many people.  Sure, there’s OFA (Oracle Flexible Architecture), best practices, mount points, file system types and all the lot.  You can always find a way to make things a little bit better or more complex.

I want to start off with something a little more basic.  I want to talk about the basic Oracle install.

The general steps are to create a software owner (such as the user oracle) and a owner group (dba is pretty common) and, in the case of 11g, possibly things like ASM owner groups.  Then you’ve got the actual runInstaller where you choose the disk locations, software components, etc.  Part of what the Oracle installer does is to verify your system requirements:

  • are you on a supported OS?
  • do you have the required software packages (rpms)?
  • do you have enough swap?
  • do you have shared memory correctly configured?

Oracle has made things easier with configuring all this stuff over the years, but there’s always room for improvement.

To help verify you have all the requisite software packages, Oracle publishes a special rpm called oracle-validated .  This RPM will verify you have all the pre-requisite RPMs you need to install Oracle and will set the shared memory configured correctly.  You can find the latest versions of this rpm at

  • Redhat (RHEL), Centos, Oracle (OEL) Linux 4 at http://oss.oracle.com/el4/oracle-validated/
  • Redhat (RHEL), Centos, Oracle (OEL) Linux 5 at http://oss.oracle.com/el5/oracle-validated/

(Note that in the case of RHEL 4, you need to use rpm -ivh filename.rpm  instead of yum install filename.rpm like shown below)

Just choose the version you need and you can download and install it from the command line.

wget http://oss.oracle.com/el5/oracle-validated/oracle-validated-1.0.0-18.el5.x86_64.rpm

yum install oracle-validated-1.0.0-18.el5.x86_64.rpm

These days pretty much all new installs of Oracle for enterprise use are being done with Oracle 11gR2 (11.2.0.1) on RHEL 5 (5.4) 64-bit.  Which would be the RPM I’ve listed above.  The thing is, if you check, that RPM came out in March of 2009.  It’s now been a year.  The RPM works great for 11gR1 (11.1.0.6 / 11.1.0.7) installations but misses some things needed for 11gR2.  11gR2 was released in October of 2009.  I’ve asked in the support forums and have been told Oracle is still working on an updated version for 11gR2, Oracle’s flagship product.   To me it seems you’d get the helper rpm released around the same time as the database to help speed adoption and reduce support calls, but whatever.  Heck, why not even provide the rpm with the Oracle database software itself? Maybe it has to do with the GPL and distributing software.  Who knows.

Now, in the dark days before OEL or RHEL 5, any rpms that were missing needed to be installed by hand.  With OEL/RHEL5, you now have yum which will automatically analyze and offer to install any necessary dependencies.  If you utilize a subscription such as Oracle’s ULN (Unbreakable Linux Network) or RHN (Redhat Network) you can grab all these RPMs as needed right from the source and get the latest version.  If you don’t have a subscription, or due to security you can’t allow the database server to get to the internet, you can create your own local repository.  I’ll cover setting up a local repository in another post.

So at this point you’ve gotten oracle-validated rpm installed and hence all your RPM pre-reqs installed.  What about your shared memory (shmmax, etc) parameters configured?  Oracle makes this easy too.  Once you have the rpm installed, issue the following as root:

cd /etc/sysconfig/oracle-validated
./oracle-validated-verify

This goes out and makes many of the changes necessary for Oracle to run.   You can review what was run and changed by issuing:

more /var/log/oracle-validated/results/orakernel.log

Unfortunately, there are a few more parameters you’ll need to add that the rpm misses or gets wrong due to changing best practices from Oracle.

vi /etc/sysctl.conf
change net.core.rmem_default = 262144 to
net.core.rmem_default = 4194304
sysctl -p
vi /etc/pam.d/login
add if missing
session  required   /lib/security/pam_limits.so
session  required   pam_limits.so

At this point you’re ready to start the Oracle software installer and you should be good to go.

To summarize, for a vanilla RHEL 5 box to install 11gR1, here’s the steps you need to perform after installing the OS:

useradd oracle
groupadd dba
usermod -G dba oracle

cd /tmp
wget http://oss.oracle.com/el5/oracle-validated/oracle-validated-1.0.0-18.el5.x86_64.rpm
yum install oracle-validated-1.0.0-18.el5.x86_64.rpm –nogpgcheck

cd /etc/sysconfig/oracle-validated
./oracle-validated-verify
more /var/log/oracle-validated/results/orakernel.log
more orakernel.log

vi /etc/sysctl.conf
change net.core.rmem_default = 262144 to
net.core.rmem_default = 4194304
sysctl -p
vi /etc/pam.d/login
add if missing
session  required   /lib/security/pam_limits.so
session  required   pam_limits.so

Have fun!