An internal operation has failed: Failed to start the component

Error creating ASComponent oid1.
An internal operation has failed: Failed to start the component
See logs for more details 

While configuring domain for IDM, I faced an issue during the configuration progress for creating/starting OID or OVD.
Log messages:

[2012-02-26T18:15:18.281+05:30] [as] [NOTIFICATION] [] [] [tid: 12] [ecid: 0000ItNNVoS2zGYVLqZR8A1DPZ_5000003,0] Start of create component
[2012-02-26T18:15:18.312+05:30] [as] [NOTIFICATION] [] [] [tid: 12] [ecid: 0000ItNNVoS2zGYVLqZR8A1DPZ_5000003,0] Action for the oid1 is START
[2012-02-26T18:15:18.312+05:30] [as] [NOTIFICATION] [] [] [tid: 12] [ecid: 0000ItNNVoS2zGYVLqZR8A1DPZ_5000003,0] Trying to start the component oid1
[2012-02-26T18:15:18.687+05:30] [as] [WARNING] [] [] [tid: 12] [ecid: 0000ItNNVoS2zGYVLqZR8A1DPZ_5000003,0] Failed to start component oid1[[ HTTP status code = 400 : No processes or applications match the specified configuration.

The password for cn=orcladmin remained locked and OID installation cleared failed configuration in file system but not from database repository (ODS schema in database).

Dropped the ODS schema (and ODSSM if exists) using RCU 32-bit.

set linux 32bash

I also deleted(or, rename) the AS instance home directory $MW_HOME/asinst_1 and  two more directories, domains and applications under $MW_HOME/user_projects directory for the failed domain.

Reconfigured the IDM domain using $MW_HOME/Oracle_IDM1/bin/ and created schema(ODS and ODSSM) during IDM domain configuration itself.

I had no issues during the configuration phase and the domain was configured without an issue.

Exception in thread “main” java.lang.UnsatisfiedLinkError: /u01/app/oracle/rcuHome/jdk/jre/lib/i386/xawt/ cannot open shared object file: No such file or directory

Error message while invoking Oracle RCU 32-bit.

Operating System: RHEL 5.5 64-bit

[oracle@mpoojari bin]$ ./rcu
Exception in thread "main" java.lang.UnsatisfiedLinkError: /u01/app/oracle/rcuHome/jdk/jre/lib/i386/xawt/ cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(
        at java.lang.ClassLoader.loadLibrary(
        at java.lang.Runtime.load0(
        at java.lang.System.load(
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(
        at java.lang.ClassLoader.loadLibrary(
        at java.lang.Runtime.loadLibrary0(
        at java.lang.System.loadLibrary(
        at Method)
        at java.awt.Toolkit.loadLibraries(
        at java.awt.Toolkit.<clinit>(
        at com.jgoodies.looks.LookUtils.isLowResolution(
        at com.jgoodies.looks.LookUtils.<clinit>(
        at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(
        at oracle.sysman.assistants.rcu.ui.InteractiveRCUModel.<init>(
        at oracle.sysman.assistants.rcu.Rcu.execute(
        at oracle.sysman.assistants.rcu.Rcu.main(

Checked RPMs to make sure was installed.

[oracle@mpoojari ~]$ rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep libXtst

The error was due to a missing package libXtst-1.0.1-3.1.i386.rpm.

[root@mpoojari cdrom]# find . -name libXtst*
[root@mpoojari cdrom]# rpm -ivh ./iso/Server/libXtst-1.0.1-3.1.i386.rpm
warning: ./iso/Server/libXtst-1.0.1-3.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
   1:libXtst                ########################################### [100%]
[root@mpoojari cdrom]# exit
[oracle@mpoojari bin]$ rpm -qa --qf "%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n" | grep libXtst

Now I can invoke RCU without an issue.


Cannot load ICU resource bundle ‘ggMessage’, error code 2 – No such file or directory

Cannot load ICU resource bundle ‘ggMessage’, error code 2 – No such file or directory

Platform : RHEL 5.5 x86_64
Oracle Goldengate
Database: Oracle Database 11gR2 64-bit

[oracle@prod ~]$ pwd

PATH variable contain path to Goldengate software installation directory


[oracle@prod gg]$ ggsci
[oracle@prod gg]$ cd
[oracle@prod ~]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version OGGCORE_11.
Linux, x64, 64bit (optimized), Oracle 11g on Oct  4 2011 23:49:46

Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.

GGSCI ( 1> DBLOGIN USERID gg_owner, PASSWORD gg_owner
Cannot load ICU resource bundle 'ggMessage', error code 2 - No such file or directory
Cannot load ICU resource bundle 'ggMessage', error code 2 - No such file or directory

GGSCI ( 2> exit

Check the read permission on the file ggMessage.dat to the OS user.

[oracle@mpoojari gg]$ ls -l ggMessage.dat
-rw-r--r-- 1 oracle oinstall 475120 Oct  5 07:23 ggMessage.dat

The permission may also be caused by NFS configuration.

If it is IBM AIX 6.1 mounted with a network storage, the mounting option cio may also cause this error. Remove cio from the NFS mounting options.

As the ggsci Interpreter is looking ggMessage.dat file under your current directory, you need to cd to the install directory and then invoke ggsci,

[oracle@prod ~]$ cd $GG_HOME/
[oracle@prod gg]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version OGGCORE_11.
Linux, x64, 64bit (optimized), Oracle 11g on Oct  4 2011 23:49:46

Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.

GGSCI ( 1> DBLOGIN USERID gg_owner, PASSWORD gg_owner
Successfully logged into database.

Creating soft link(ggMessage.dat) in your present working directory to $GG_HOME/ggMessage.dat may also help in this case.

Installing missing RPMs for Oracle Database 11gR2

Using Oracle VM VirtualBox Manager v4.1.8
Operating System: RHEL 5.5 OS and Oracle Database 11gR2 software.

How to install the missing packages during the database or software install?

I configured a yum local repository to be able to access a DVD ISO via HTTP on Red Hat Enterprise Linux. Open a new session as root user and do the following:

root@mpoojari ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

Create Repository

As pre-requites, you need yum and createrepo packages on the server on which the repository will be configured.

  1. Copy Red Hat Enterprise Linux 5/6 DVD ISO on to the server (or put the CD/DVD)
  2. Create the following directories under /media (not mandatory, you can create your own desired directory structure) and mount it.
[root@mpoojari ~]# ls -ltr /u03
total 3558632
drwx------ 2 root   root      16384 Feb 14 12:28 lost+found
-rw-r--r-- 1 root   root 3640459264 Feb 14 15:26 Enterprise-R5-U5-Server-x86_64-dvd.iso
[root@mpoojari ~]# mkdir -p /media/RHEL5/cdrom/iso
[root@mpoojari ~]# mount -o loop /u03/Enterprise-R5-U5-Server-x86_64-dvd.iso /media/RHEL5/cdrom/iso
[root@mpoojari ~]# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             6.8G  2.0G  4.5G  31% /
/dev/sda7              11G  4.8G  5.4G  48% /u03
/dev/sda3             9.7G  151M  9.1G   2% /u02
/dev/sda2              20G  173M   19G   1% /u02
/dev/sda1              99M   12M   83M  13% /boot
shmfs                 1.5G     0  1.5G   0% /dev/shm
/u03/Enterprise-R5-U5-Server-x86_64-dvd.iso 3.4G  3.4G     0 100% /media/RHEL5/cdrom/iso

[root@mpoojari ~]# cd /media/RHEL5/cdrom/
[root@mpoojari cdrom]# createrepo .
3060/3187 - iso/Server/xorg-x11-server-Xvnc-source-1.1.1-
Saving Primary metadata
Saving file lists metadata
Saving other metadata

Create a file /etc/yum.repos.d/file.repo which should have the contents as mentioned below :

[root@mpoojari ~]# cat /etc/yum.repos.d/file.repo
name=RHEL repository

Installing and Verifying Packages

  1. Query the operating system to determine if the packages are already
    [root@mpoojari cdrom]# rpm -qa | grep compat-libstdc++-33-3.2.3

    You can also search without the grep argument to see an explicit message about the file:

    [root@mpoojari cdrom]# rpm -q compat-libstdc++-33-3.2.3

    The operating system returns the following message:

    package compat-libstdc++-33-3.2.3 is not installed
  2. Find all related packages on the operating system media to get the fully qualified locations.Earlier we the operating system media has been mounted at /media/RHEL5/cdrom.
    [root@mpoojari cdrom]# find /media/RHEL5/cdrom/ -name compat-libstdc++-33-3.2.3*
  3. Install the missing package:
     [root@mpoojari cdrom]# rpm -ivh rpm -ivh /media/RHEL5/cdrom/iso/Server/compat-libstdc++-33-3.2.3-61.i386.rpm \
  4. Optional: Alternative method to find and install packages in one command: Use the following command to find packages and to install all packages that are found.Find the packages as described in the earlier step to verify that the following command installs only the packages that you intend to install.
    find /media/RHEL5/cdrom -name compat-libstdc++-33-3.2.3-* | xargs rpm -ivh

    This single command installs both packages.

  5. Alternative command to update existing packages: Use the following command to find and install missing packages or to find and update existing packages:
    find /media/RHEL5/cdrom -name compat-libstdc++-33-3.2.3-* | xargs rpm -Uvh

    This single command installs a package when the package is not installed. This command updates a package to a newer version when the package is installed.

If you see “error: Failed dependencies:” see for the dependencies and install them (this could be a recursive operation).

The demonstration above is based on rpm command while you can use yum command to achieve the same.

Test this on non-production before trying it on Production systems.

How to check if Oracle Physical Standby is in sync with Primary

How To Check Whether Physical Standby is in Sync with the Primary or Not?

 Check for the redo applied and recieved

 Execute the below query on the Primary database
SQL> SELECT THREAD# “Thread”,SEQUENCE# “Last Sequence Generated” FROM V$ARCHIVED

    Thread Last Sequence Generated
———- ———————–
         1                      21
         1                      21

Execute the belowquery on the Standby database 
SQL> SELECT ARCH.THREAD# “Thread”, ARCH.SEQUENCE# “Last Sequence Received”, APPL
.SEQUENCE# “Last Sequence Applied”, (ARCH.SEQUENCE# – APPL.SEQUENCE#) “Differenc

    Thread Last Sequence Received Last Sequence Applied Difference
———- ———————- ——————— ———-
         1                     21                    21          0

Compare value of “Last Sequence Generated” in query executed on Primary with “Last Sequence Received” in query executed on Standby for all threads.
If both values are same than this means that standby has received the last sequence generated on primary.
If both values are not same then there are some archives missing on standby, Hence standby is not in sync with the primary.

Check for GAP

On physical standby,execute the below SQL. If it does not returns any row and output is “no row selected” than this means there is no archive gap on standby.


no rows selected

MO Operating Unit

Multiple Organizations (Multi-Org)

In Oracle Applications R12, Multiple Organizations Access Control (MOAC) has made significant enhancements to the Release 11i Multiple Organizations architecture. If your company has implemented a Shared Services operating model, Multi-Org Access Control allows you to process business transactions more efficiently. You can access, process, and report on data across multiple operating units from a single responsibility without compromising data security or system performance.

Multi-Org Security Profile

The Multi-Org Security Profile allows you to access, process, and report on data for an unlimited number of operating units from a single applications responsibility. To take advantage of Multi-Org Access Control, you should set the following profile options:

  • MO: Security Profile: Assign your Security Profile to this profile option for each application responsibility to allow that responsibility to access multiple operating units.
  • MO: Default Operating Unit: If the MO: Security Profile is set, then you can assign a default operating unit for defaulting purposes.

The Release 11i MO: Operating Unit profile option setting is preserved, and applies if MO: Security Profile is not set.

Enhanced Cross-organization Reporting

Cross-organization reporting has been enhanced to be more consistent with the new Multi-Org Access Control. You can run reports across multiple operating units that belong to a user’s security profile that share the same ledger. You can also run reports for any operating unit that belongs to a user’s security profile.

Setting Up Operating Units

Setting up operating units is more streamlined with the integration with Accounting Setup Manager, a new feature in General Ledger that centralizes the setup and maintenance of common financial components, such as legal entities, operating units, and ledgers within an accounting setup.

All Release 11i HR Organizations classified as Operating Units are preserved during the upgrade. If operating units are assigned to a set of books, they are associated to a primary ledger in an accounting setup. You can now view all operating units assigned to an upgraded primary ledger using Accounting Setup Manager.

Redo Log resizing

If you want resize the redo log file, you should drop the current log file.

 First you should switch the log file using this command



When an online redo log member is dropped from the database, the operating system file is not deleted from disk. Rather, the control files of the associated database are updated to drop the member from the database structure. After dropping an online redo log file, make sure that the drop completed successfully, and then use the appropriate operating system command to delete the dropped online redo log file.

 To drop a member of an active group, you must first force a log switch.

 You cannot drop an active redo log group.

SQL> alter database drop logfile group 1;

SQL> alter system switch logfile;

By doing consecutive logfile switches (or sometimes more than twice) the next available log file group becomes active. At this stage you will be able to drop the group which was previously active.

Use the command line rm command or platform specific delete command to delete the redo log file at the OS level.

SQL> !rm /redo1/romford/redo01a_romford.log /redo2/romford/redo01b_romford.log

Add a new log file group 1 with desired size

SQL> ALTER DATABASE ADD LOGFILE GROUP 1 (‘/redo1/romford/redo01a_romford.log’,’/redo2/romford/redo01b_romford.log’) size 100M;

Query v$log and v$logfile views to check the active log file group and its members.