Showing posts from 2013

Oracle Database 12c Direct NFS

Oracle direct NFS or dNFS introduced in Oracle 11gR2 allows the NFS operations to be moved to the database layer instead of operating system kernel. After installing Oracle RAC it appears the direct NFS is enabled by default.
You can check the alert log to verify that the direct NFS ODM library has been loaded. Messages similar to the following will be displayed.

Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 3.0

Direct NFS may use several configuration files to determine the mount points on which it is used.

If oranfstab is not configured then it will check the currently mounted filesystems from /etc/mtab and if the mount options are correct it will use dNFS for database I/O.
For example:
cat /etc/mtab | grep oraclelinuxtest
filer1:/vol/volnds001_oraclelinuxtest_db/nds001 /u03/oradata nfs rw,bg,hard,nointr,tcp,nfsvers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,addr= 0 0

Upgrading EM12c Agents using EMCLI

Note to self on how to upgrade EM Agents using EMCLI

Find upgradeable agents:
$ emcli get_upgradable_agents
Upgradable Agents

Agent Installed Version Version After Upgrade Platform Oracle Home
----- ----------------- --------------------- -------- -----------
oradba10t:3872 IBM AIX on POWER Systems (64-bit) /u02/oracle/agent12c/core/
oradba11t:3872 IBM AIX on POWER Systems (64-bit) /u02/oracle/agent12c/core/

$ vi /tmp/oradba_agents.txt
$ cat /tmp/oradba_agents.txt
oradba11t:3872Upgrade agents using an input file 
$ emcli upgrade_agents -input_file="agents_file:/tmp/oradba_agents.txt" -j…

Configure and De-configure OMS with SLB

My OEM environment consists of two management servers (OMS) for high availability (level 3 HA). We also have a SLB configured for the OMSs but they haven't been configured with the SLB virtual hostname. I know, this sounds very confusing but there's a difference. Essentially they act as individual OMSs since agents can only upload to one OMS and console is pointed to a single OMS. The load balancer is a F5 BIG-IP and all the configuration setting were done for using OEM. This whitepaper clearly describes how to do this.  
After upgrading my OEM environment from to I decided to reconfigure the OMSs to use the SLB virtual hostname. Reconfiguring the SLB involves securing the OMSs with the virtual hostname of the SLB. [oracle@oms1[]-/u01/Oracle/Middleware/oms/bin >./emctl secure oms -host -secure_port 4899 -slb_port 4889 -slb_console_port 443
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporati…

Oracle OpenWorld 2013 Schedule

The annual Oracle OpenWorld global technology conference being held in San Francisco, CA is almost upon us. It kicks off September 22 with user group symposiums and runs until September 26. I was lucky enough to be chosen as speaker again this year. I say lucky because I believe there are much better speakers with more interesting topics that should've been accepted over mine. Whatever the reason, I'm happy and I'm looking forward to meeting up with old friends and networking with some of the best technologists and speakers in the world.
I will be participating in quite a few activities - mostly on Sunday. Here a few sessions that I'm scheduled to either present or be a panelist in.

Session ID: UGF9774
Session Title: Oracle RAC SIG Meeting: Expert Panel
Venue / Room: Moscone West - 3004
Date and Time: 9/22/13, 15:30 - 16:30

Session ID: UGF9794
Session Title: Managing Oracle Enterprise Manager Cloud Control 12c with Oracle Clusterware
Venue / Room: Moscone West - 3005

Oracle Enterprise Manager Cloud Control 12c and Database As A Service (DBaaS)

The information technology industry has been a tremendous growth in Cloud delivery models for IT services in the past couple of years. More recently, the PaaS service model including Database-as-as-Service (DBaaS) has been gaining traction rapidly. Amazon's RDS public DBaaaS service supports Oracle, MySQL and SQL Server and enable rapid development lifecycles by giving end-users the ability to provision databases on demand in a very short period.
Security and control are two drawbacks seen in public cloud environments. How can this be overcome while delivering the same level of rapid provisioning, elasticity and multi-tenancy for databases? Oracle Enterprise Manager Cloud Control 12c provides a complete lifecycle management framework for databases - from provisioning to patching. The Database Cloud plug-in enables DBaaS for users on premise without the drawbacks of public clouds. If developers want copies of schemas then the Schema-as-a-Service sub-model can enable them to self-pr…

EM12c Partition Maintenance and Stats

In previous versions of Oracle Enterprise Manager you would call the EMD_MAINTENANCE package to execute certain maintenance tasks such as partition maintenance and statistics gathering.

In OEM12c these procedures are replaced by:

The daily_maintenance procedure actually calls gc_interval_partitions and gathers stats on Saturday. Not quite sure why that was hardcoded but I guess they figured that monitoring was least likely to be impacted on that day. If the OEM DBMS jobs are down you can also submit them by logging in the to the repository database as SYSMAN and execute the package:


Note that these procedures are automatically run through scheduled jobs once the job_queueue_ processes parameter is set to a value greater than 0.

Oracle Enterprise Manager Cloud Control 12c Shared Agent Install

This post is mostly a reminder to myself on how to install an EM12c shared agent. I found the documentation somewhat lacking, so I hope this will help someone else attempting to perform a shared agent installation. With a shared agent installation, a master agent is installed on a shared filesystem such as NFS and a shared agent is "installed" on remote hosts. The remote hosts should have read-only access to the share. The documentation lists the following pre-requisites for the mount options on the remote host. mount -t nfs -o ro :
For example, run the following command:
mount -t nfs -o ro /scratch/sharedAgent Since I use a NAS for serving NFS shares in my environment I replaced the master_agent_host_name with the name of the filer and the exported volume.

The shared agent will have its agent instance located on a local file system which contains configuration and host-specific information. When deploying an agent on NFS, the default location of…

Installing Oracle EM 12c Agents with EMCLI

Oracle Enterprise Manager Cloud Control 12c introduced several ways to deploy agents to hosts. The Oracle Management Agents are responsible for gathering metrics from targets such as database instances, listeners and the host themselves and sending them to the Oracle Management repository and Server for further processing. It also interacts with targets by executing commands sent via the OMS Console and the EM Command Line Interface (EMCLI).

EM12c release 1 introduced four ways of deploying Management Agents Add Target Host Wizard - Agents are mass deployed using the Management Console.AgentPull - Silent install script to automatically download and deploy agents on remote targets using a response file.agentDeploy - Silent install script to deploy agents using a response file after manually downloading a compressed package of the agent using EMCLI and transferring it to remote targets.RPM - Use a .rpm package to deploy to targets that support it (Linux x86-64).  Starting with EM12c rele…

Oracle Enterprise Manager Cloud Control 12c Release 3 Upgrade

The third release of Oracle Enterprise Manager Cloud Control is now available. It includes numerous enhancements such as updated user interface, improved EMCLI with scripting options, Administration Group enhancements, OMS Disaster improvements among others. For the complete list see the New Features page.
For users still running on pre-12c or, it is a highly recommended upgrade. If you are running EM you may see some benefits of upgrading but I personally wouldn't rush off unless there were some compelling features/fixes that would be of benefit. That said, if you do decide on going full speed with the new release, here is a step-by-step document on how I upgraded a POC environment with a single OMS and repository on the same server from with PSU3 to
The official Oracle documentation lists the detailed steps for the upgrade here.

The pre-requisite steps needed for the upgrade are listed below:

0. Allocate additional space (14GB on Linux x86-64…

Kscope 13 Review

Last week I attended my very first Kscope event in New Orleans. Kscope is an annual ODTUG event originally geared towards Oracle database development but has expanded to include other areas such ADF, Essbase, EPM, BI etc.
I was accepted as a speaker to present in the "The Developer's Toolbox" category where I presented on "SQL Developer for DBAs".

Honestly, I had high expectations going to Kscope. I remember seeing tweets from users on last year's conference and felt a bit left out based on the buzz from some of the attendees. Fortunately, the conference lived up to the expectations. It was well organized and the events flowed without a hitch. It wasn't  as crowded as other user conferences I've attended such as OpenWorld or Collaborate - which is a good thing. The smaller size makes it more intimate and easier for attendees to network with each other. I met up with colleagues from past events as well as met new ones within my social media network.

Collaborate 13 - Denver

The 20th anniversary of the Collaborate IOUG Forum will be held this year in Denver Colorado from April 7 to 11. This will be my second year attending and presenting at Collaborate. I am really looking forward to networking with peers and friends - especially those in my social media community who I interact with on a daily basis.
This year I will be particularly busy with presenting two sessions and doing hosting duties for a couple of RAC SIG sessions. You can catch me at one of the sessions below.

Date Start Time End Time Session ID Session Details Product Line Track 4/8/13 3:45 PM 4:45 PM 539 RAC Experts Panel Oracle Database, Real Application Clusters Database 4/9/13 10:45 AM 11:45 AM 154 Oracle Database Appliance Customer Panel Oracle Database, Real Application Clusters Engineered Systems 4/9/13 4:30 PM 5:30 PM 326 Configuring Oracle Enterprise Manager Cloud Control 12c for High Availability Oracle Enterprise Manager Cloud Computing,Manageability 4/10/13 3:00 PM 4:00 PM 864 Upgrading f…

Getting NFS to play nice with ASM

Recently I was running some tests in my lab environment consisting of two Oracle databases on separate RHEL 6.2 VMs. The databases were configured in a Data Guard configuration and used ASM as storage. However, I ran into an issue where my standby database was becoming out of sync with the primary database because the standby was out of disk space. At the time I couldn't request additional storage for my standby (that's what happens when you work at 1:00 am while everyone works normal hours) and I needed to complete my testing. The standby server had some NFS mounted shares that had plenty of space however. This is where social interaction is of benefit because I can recall having several discussions with fellow colleagues on twitter about choosing to use NFS as ASM devices and under what conditions one would choose such a route. Yury also wrote up a blog post about it.

This seemed like a good opportunity to test it out. Only this time I will be mixing ASM block devic…

Oracle Enterprise Manager PSU 1

Thanks to @BrianPardy for tweeting the availability of the first patch set update for Oracle Enterprise Manager Brian also blogged about it.
The PSU Readme lists quite a number of bugs fixed in the PSU. Surprisingly the application of the patch is quite easy.

I applied it to my lab environment without any issues. Just to test for real application on test and production servers.

Download the patch 14840279  from My Oracle Support to your OMS server.Extract the zip fileMake sure opatch is in your PATH.

[oracle@oem3 14840279]$ which opatch
/usr/bin/which: no opatch in (/u01/app/oracle/Middleware/oms/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin)
[oracle@oem3 14840279]$ export PATH=$OMS_HOME/OPatch:$PATH
[oracle@oem3 14840279]$ which opatch
/u01/app/oracle/Middleware/oms/OPatch/opatch Set your ORACLE_HOME environment variable to your OMS Home.[oracle@oem3 14840279]$ echo $ORACLE_HOME
[oracle@oem3 14840279]$ export O…