Wednesday, April 29, 2015

Oracle Database 12c Interactive Quick Reference

You may remember days when you had huge Oracle posters on your cubicle wall that listed the various data dictionary views, or the underlying Oracle architecture.  Maybe you still have them.  For the 12c version of the database Oracle provides the Oracle Database 12c: Interactive Quick Reference.
The Quick Reference provides information on:

  • DBA Views
  • Performance Views
  • Architecture Views
  • Database Architecture
  • Multitenant Architecture
  • Background Processes

As part of the Quick Reference there are Architecture .pdfs so if you like having hard copies you can always print them out.

If you're looking for the 11g version you can download it here: 11g Interactive Quick Reference

Monday, April 6, 2015

Which file system to source for adop

One of the big changes for Oracle Applications DBAs in EBS 12.2 is the introduction of online patching.  Instead of using adpatch to apply application patches we now use adop.  In order to allow for online patching Oracle has introduced the dual file system (Run and Patch).  I'm not going to go into a complete explanation of the dual file system in this post, but you can think of it as being two copies of your application file system.  One that is used for your running applications and one that is used to patch against.  When the patching is finished the two file systems switch roles (the patch file system becomes your run file system and vice versa).  The dual file system also brings with it a couple for additional environment variables:
  • $FILE_EDITION (e.g. run)
  • $RUN_BASE (e.g. /u01/R122_EBS/fs1)
  • $PATCH_BASE (e.g. /u01/R122_EBS/fs2)
  • $NE_BASE (e.g. /u01/R122_EBS/fs_ne)
You also have a handy environment file "EBSapps.env" located in the Apps Base directory (e.g. /u01/R122_EBS) that you can use to control which environment is being sourced.  You can pass it an argument of "run" or "patch" to tell it which environment you want to use, or otherwise it will prompt you to choose (for more information see MOS Note: 1545584.1) :
. ./EBSapps.env

  E-Business Suite Environment Information
  RUN File System : /fs1/EBSapps/appl
  PATCH File System : /fs2/EBSapps/appl
  Non-Editioned File System : /fs_ne
  DB Host:  Service/SID:

  E-Business Suite Environment Setting
  - Enter [R/r] for sourcing Run File System Environment file, or
  - Enter [P/p] for sourcing Patch File System Environment file, or
  - Enter anything else to exit

  Would you like to set the E-Business Suite environment [R/P]:R

  Sourcing the RUN File System ...

One common question around the adop utility is which file system should we be sourcing at the various phases of patching (e.g. patch or run).  As it turns out Oracle has made this decision simple for us.  According to the Release 12.2 Oracle E-Business Suite Maintenance Guide it doesn't really matter "The adop utility sets its own environment.  There is therefore no need to source the environment before running it."

Tuesday, August 27, 2013

Metalink outage

Gotta love it when you can't get to My Oracle Support.  Insert your wisecrack about them following MAA...

Monday, February 4, 2013

Second Oracle Exadata Virtual Conference

Hopefully you are already aware, but if not there is an online Exadata "Virtual Conference".  It is a 2 day event 2/6/2013 and 2/7/2013. Both days it is from 10AM - 1PM EST.  Day one is supposed to take you through a day in the life of an Exadata administrator and migration planning activities.  Day two is supposed to talk more about new features and capabilities as well how to optimize you investment in Exadata.  It's all done through Go To Meeting, so you don't have to worry about travel expenses, and best of all it is free.  I attended some of the sessions for the Virtual Conference last year and I found it to be very worthwhile.  Last year they also made recordings of the sessions available after the fact, so you could review them at your leisure.

Day 1 registration:
  • Arup Nanda - Exadata for Oracle DBAs
  • Doug Utzig - Exadata Software Maintenance Best Practices
  • James Steven Czuprynski - Demystifying IORM for Exadata
  • Christopher Douglas Bradham - Lessons Learned: A DoD Exadata Migration
Day 2 registration:
  • Mathew Steinberg - Exadata X3: What's New and Where Are We Going
  • Ananth Ram & Jigar Shah - Exadata in EBS – Techniques for  Proof-of-value  to  Production and Beyond!
  • Satyendra Kumar Pasalapudi - Exadata Evolution from V1 to X3 with Deep Dive into the features
  • Lawrence, Hin Luen, To - MAA Architecture and Operational Best Practices for Oracle Exadata

Check  out the following link for more information:

Wednesday, January 9, 2013

Oracle Virtual Sysadmin Day

In case you're not already aware Oracle is hosting it's First Virtual Sysadmin Day on 1/15/13.  It's a free event (registration is required).  There are 3 separate tracks:
  • Linux
  • Solaris
  • OVM
Here are some of the things that are going to be covered:
  • Create and manage ZFS pools and filesystems, safely update and restore your system using Boot Environments
  • Create and manage a virtualized Oracle Solaris environment using Oracle Solaris Zones and Network Virtualization
  • Install Oracle Linux using RPM and yum repositories; create storage volumes, prepare block devices, work with filesystems
  • Create and mount Btrfs in Oracle Linux, work with block devices and snapshots
  • Plan and deploy a virtualized infrastructure environment with Oracle VM
  • Virtualize and deploy enterprise applications in minutes using Oracle VM Templates
You'll be running the labs on your own machine using Virtualbox, so there is a little bit of pre-work to get prepared.  Overall it seems like a very cool idea, and I'm interested to see how it works.
Here is a link to a Wiki with all the details:
You can register here:

Thursday, September 29, 2011

Different Recovery Catalog settings based on Grid Control user

I was doing some work at a client site configuring RMAN backups through grid control.  I had already done all the needed configuration for my various backup settings and had specified the recovery catalog (or so I thought).  I did a test backup and everything looked good.  Later on I scheduled the backup to run daily.  The next morning I saw that the backup had completed successfully.  Everything seemed to be working as expected until I looked at the log and saw:
"using target database control file instead of recovery catalog"

I was sure I had configured the DB to use a recovery catalog, so I looked at the log for my prior test run.  Sure enough the test run had connected to the recovery catalog.  I realized that the main difference was that when I scheduled the job I had done so as a generic user.  We typically do this for these types of scheduled jobs, so we don't have to worry about a backup not running due to someones account being terminated.  My hypothesis was that Grid Control must keep track of recovery catalog info on a per user basis.  Sure enough when I logged in as the generic user it no longer showed that the database would use the recovery catalog.

This can be further verified with the following query:
SELECT t.target_name, t.target_type, cat.*
  FROM mgmt_targets t,
       mgmt_rcvcat_repos cat
 WHERE t.target_guid = cat.target_guid

Here you can see that there is in fact an em_user field, so the recovery catalog information can vary by Grid Control user.  We are currently using Grid Control, I'm not sure if the behavior is any different on other versions.

Thursday, May 14, 2009

Determining which process has locked a .dll

Working in a windows environment I occasionally run into an issue with a .dll that I'm trying to delete being locked by another process. I see this frequently when trying to remove files from my target system before a clone. There are a couple of ways you can determine which process has the .dll locked. A quick command line way to do it is tasklist /m <.dll in question>.
For instance tasklist /m CORE40.dll.

If the .dll is locked I would see output such as the following:
Image Name PID Modules
========================= ======== ====================
msdtc.exe 1152 CORE40.dll

You can also check out Metalink Note 454040.1 for a script (prepatch.bat) that will identify similar information for you.