TIP 110# : GoldenGate DDL replication

I have to setup a DDL replication for a customer and as usual I use include to filter schema which I want to be replicated as below :

Interesting enough, I see that GoldenGate does not capture DDL although the filter should work fine. The following is reported in GoldenGate log with my surprise :
Oracle GoldenGate Capture for Oracle, ext_test.prm:  DDL operation excluded [not included by any filter]
, optype [CREATE], objtype [TABLE], objowner [SCHEMA1], objname [TAB]
The same situation does occur using different DDL options such as MAPPED. Further investigation revealed that it is a bug which is reported in Doc ID 1475618.1 and the workaround is not to use " for schema, in other words, the following works with no issue :
 DDL &
So no " for DDL options when you setup DDL for GoldenGate. Hope this simple tips helps.

TIP 109# : Linux OS requirement for Oracle DB installation

Since the most issues with software installation or relinking problem on database installation are created due to missing OS requirements, Oracle published a master notes for OS requirement for various Linux version :
This should come handy for any DB installations.
Enjoy reading !

TIP 108# : Become Golden DBA for GoldenGate environment (Basic)

Become Golden DBA for GoldenGate environment is delivered in OOW2013 and more topics around this will come which include but not limited to the following :
  • Golden DBA for 2 way GoldenGate replication
  • Golden DBA and troubleshooting GoldenGate
  • Golden DBA and advanced configuration on GoldenGate
  • Golden DBA and Tuning GoldenGate
For those of you who joined the session or would like to follow up, pdf version of the session is available on https://github.com/shervsh/Presentation/ and it will be available on OOW. 
Please drop me a line if you are interested in upcoming sessions or you would like to have ppt version.
Thanks everyone for joining the session, I will post answers to various questions in upcoming posts.

TIP 107# : Virtualization on Oracle Database Appliance (ODA)

 As you know, Early this year Oracle started supporting virtualization on Oracle Database Appliance which enhances the functionality of ODA. One of the main usage of this virtualization is to utilize ODA for Weblogic as well as database.
I had a chance to test various Weblogic offerings on ODA and I thought to share my findings with readers, hopefully it helps readers with planning and architecting the environment using ODA and virtualization. Basically, the two main versions which can be run on ODA V1 and ODA X3-2 and support virtualization are ODA Version 2.5 and ODA version 2.6. The following shows my findings on Weblogic install for each version:
ODA 2.5
  • Oracle Weblogic template on ODA is available on e-delivery for Weblogic 10.3.6 and 12c
  • Oracle Weblogic template includes Weblogic configurator which is a new tool (specific to ODA) to automate installation of Weblogic on ODA similar to what OAM does for database.
  • Weblogic configurator only installs Weblogic in cluster mode, having non-cluster weblogic is not supported with the configurator.
  • Weblogic configurator installs OTD (Oracle Traffic Director) and as of now, there is no way to skip it during installation. However after installation, it can be shutdown if it is not needed.
  • Minimum installation with Weblogic configurator includes two Weblogic cluster nodes which installs 6VMs in total (1 VM for Weblogic admin,2 VMs (one per compute node) for Weblogic managed server, 1 VM for OTD admin, 2 VMs (one per compute node) for OTD)
  • Weblogic configurator also creates a database for internal work on ODA_BASE.
  • Weblogic configurator installs all components as root due to a bug.
  • Since 6VMs are the possible minimum configuration and each VM should have at least 2VCPU, there will be total of 12VCPU (6Cores) for minimum installation 
ODA 2.6
  • No Weblogic template on ODA is released for 2.6
  • No Weblogic configurator for automation of Weblogic is released
  • As of now, creation readhat Linux and installing Weblogic manually would be the only approach in this release
Bottom line: 

Although it is recommended to utilize automation on ODA to ensure ODA stays with Oracle standard template and to have less impact on future changes such as patching and upgrade, however Oracle Weblogic configurator looks not to be mature enough to be utilized. First of all, to use it, you end up to stay with 2.5 (not with the latest ODA release ) plus the configurator in 2.5 is buggy (installation of weblogic as root) and it has several shortcomings which are listed above as well as not much flexible. I recommend to wait (if you can) as Weblogic configurator should be out soon or use manual process for Weblogic with the risk that in long run, you may not be able to utilize patch bundle (if Oracle includes weblogic in ODA bundle) or any further automation which may be planned for Weblogic. Also consider that installation of OTD does add complexity to weblogic licensing on ODA.

At the end, I found FAQ pdf file on otn website helpful.


 If you have any questions or you want to see more on this topic, please drop me a line

TIP 106# : Quick tips on Cloning Oracle

As Oracle clone is one of the quickest way to create new software binaries with all the patches from a source database and it comes handy specially when Oracle software installation media is not available. In this post, I am trying to remind myself and readers some tips about Oracle clone which worth to know:

  • Cloning is not cross platform
  • Clone usually is done in 2 phases - prepare_clone.pl in source and clone.pl in target
  • Clone does take care of inventory and relink so further patches can be applied on the new cloned home
  • For Oracle database and CRS, prepare_clone.pl is not required
  • ORACLE_HOME and ORACLE_HOME_NAME should be specified when clone.pl is run, in 11g, ORACLE_BASE should be specified also
  • If Oracle inventory is not in default location, before running clone.pl, edit cs.properties and add -ignoreSysPrereqs -invPtrLoc <oraInst_path>/oraInst.loc
  • Make sure to run root.sh after clone.pl is completed
  • You may need to create oraInst.loc file manually on target if the file does not exists, to do so, just create a file in default location with inventory_loc=<oraInventory_path>
  • The alternative of running clone.pl is to use runInstaller for cloning, the format would be like this : ./runInstaller -clone -silent -ignorePreReq ORACLE_HOME="" ORACLE_HOME_NAME="" ORACLE_BASE="" (in Windows it would be setup.exe)
  • If the server has more than one perl installed, it is recommended to set PERL5LIB
  • If clone is done on target server which has inventory and the cloned ORACLE_HOME has already been used at somepoint, first ORACLE_HOME needs to be de-attached using this command : ./runInstaller -detachHome ORACLE_HOME= This is why it is recommended to clone in brand new directory to avoid any issue.
  • Clone log in target is created in $ORACLE_HOME/clone/logs
Enjoy cloning!

TIP 105# : ACFS and bugs

In Oracle Grid Infrastructure 11g Release 2, Oracle extends the capability of ASM by introducing the ASM
Cluster Filesystem, or ACFS. In other words, Oracle ASM 11g Release 2 has capability to the manage all data, including Oracle database files, Oracle Clusterware files and non-structured, general-purpose data such as log files and text files. This sounds amazing, however in my last experience with ACFS on 112034 on Linux 64bit, I found pretty nasty bugs which I think worth sharing.
Bug Workaround Bug No
Copy( cp) Performance On ACFS  Do not use ls while cp is running 
Wait for 11204
ls -l' and 'find' Commands Slow on ACFS No workaround - Wait for 11204 10418517