Wednesday, February 26, 2014

ASM communication error & ORA-21561 : OID generation failed

I have faced an issue which had following db alert log snippet,

WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM


Firstly I thougt that it was ASM crash issue or anything about ASM instance.I was not able to connect ASM instance with sqlplus / as sysasm and there was no entry in ASM alert log related with this issue,and also ASM pmon process was alive.

But "sqlplus system/<PASS>" gave me the following error,

ORA-21561 : OID generation failed


According to Metalink and Google search , the problem was likely client hosts file."/ect/hosts" file had machine fully qualified  hostname and shortname. But i have realized that for some reason machine hostname has been changed :) 

After changing to true name of host , trouble has gone.

Friday, February 21, 2014

Create Expense Report - Unexpected Error java.lang.NullPointerException

A client declared error which occured when create Expense Report button pressed with following detail,

Exception Details.  
 oracle.apps.fnd.framework.OAException: java.lang.NullPointerException
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912)
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:886)
at oracle.apps.fnd.framework.OAException.wrapperInvocationTargetException(OAException.java:1009)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:211)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:133)
at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:797)
at oracle.apps.ap.oie.entry.header.webui.HeaderKffCO.renderKeyFlexfield(HeaderKffCO.java:81)
at oracle.apps.ap.oie.entry.header.webui.HeaderKffCO.processRequest(HeaderKffCO.java:41)
....

## Detail 0 ##
java.lang.NullPointerException
at oracle.apps.ap.oie.entry.accounting.server.ExpenseAllocationsAMImpl.getFlexStructureCode(ExpenseAllocationsAMImpl.java:412)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:190)
at oracle.apps.fnd.framework.server.OAUtility.invokeMethod(OAUtility.java:133)
at oracle.apps.fnd.framework.server.OAApplicationModuleImpl.invokeMethod(OAApplicationModuleImpl.java:797)
at oracle.apps.ap.oie.entry.header.webui.HeaderKffCO.renderKeyFlexfield(HeaderKffCO.java:81)
at oracle.apps.ap.oie.entry.header.webui.HeaderKffCO.processRequest(HeaderKffCO.java:41)
....


Metalink doc 1244614.1 gives detail about this error.In doc , improper setting of security attributes can cause this issue. Normally securing attributes which are ICX_HR_PERSON_ID and TO_PERSON_ID should have per_all_people_f.person_id value for related employee.In this case i have encountered that these values were different from original value.

For solution,

1.From Security--> User-->Define query user.
2.Remove employee name from Person field
3.Save
4.Add employee name to Person field back
5.Save
6.Re-query user.
7.Observe that ICX_HR_PERSON_ID and TO_PERSON_ID attributes should have employee_id of user

Source : Metalink Doc.Id 1244614.1 

Wednesday, February 19, 2014

REP-0004,REP-0069 and REP-57054 errors while APXAPRVL program running

I would like to give brief information about REP-57054 , REP-0069, REP-0004 error which occur while invoice validation  -  APXAPRVL concurrent program working .

Error:
REP-0004: Warning: Unable to open user preference file.
REP-0069: Internal error
REP-57054: In-process job terminated:Terminated with error:


Cause of  reports.log file under $APPLCSF/$APPLLOG reached 2GB size limit is the reason of this error.

For solution,

1.Stop concurrent managers
2.Truncate "reports.log" file
3.Restart concurrent managers
4.Observe the results after submitting related concurrent program

I have taken this solution from metalink . But i did not stop managers . Directly truncate reports.log by ">" command has solved my problem.

Monday, February 10, 2014

Oracle Discoverer 11g host name change issues

I had to clone server which contains Oracle Discoverer 11g for a test purpose.Host name change process was done by examining the Rittman following document 

http://www.rittmanmead.com/2010/12/oracle-bi-ee-11g-managing-host-name-changes/


Successfull change process provided Admin Server and Managed server to run without any problem.
But 2 problems have been seemed ,

1.Port Number In Weblogiccluster Parameter Specified In Httpd.Conf Is Not An Integer Less Than 65535


Of course hostname change is not an easy process on 11g Discoverer which has a lot of components.Although changing hostname in related all files , some others can be missed. This problem occured from same manner.

In ORACLE_INSTANCE/config/OHSComponent/ohs-comp-name/moduleconf/module_disco.conf


<Location /discoverer tag contains WeblogicCluster address maps to disco server name and related port.It must be changed to new hostname

2.Discoverer Components Application URL


From Weblogic Enterprise Manager discoverer components have Application URL mapping to old hostname.Following directory contains configuration.xml stores Discoverer settings.

DOMAIN_HOME/config/fmwconfig/servers/WLS_DISCO/applications/discoverer_discoverer_version/configuration/

Head of configuration.xml related applicaton url can bee seen to change.

Wednesday, February 5, 2014

Simple DNS Configuration for Oracle RAC

While installing RAC on virtualBox guests (linux), related docs declare that SCAN addresses should not be defined in the hosts file.Beacuse of round-robin resolution cannot be simulated using a local host file ,The Single Client Access Name (SCAN) should be defined in the DNS  and round-robin between one of 3 addresses , which are on the same subnet as the public and virtual IPs.


I am using virtualbox for testing purposes on various guests, and sometimes DNS server is needed.Not to struggle with complex DNS configuration , Dnsmasq  is the best solution.Following steps are used to install,configure,start Dnsmasq service.

On seperate linux guest , Dnsmasq  is installed from yum 

# yum install dnsmasq 

Start Dnsmasq  service 

# service dnsmasq  start

To start Dnsmasq  service automatically on reboot 

# chkconfig dnsmasq on

Dnsmasq  will use entries of the "/etc/hosts" to resolve.

"/etc/hosts" file contains following entries on the server running Dnsmasq  service provide acting live DNS server by resolving these entries.

192.168.0.91 testracclusterscan.localdomain testracclusterscan
192.168.0.92 testracclusterscan.localdomain testracclusterscan

192.168.0.93 testracclusterscan.localdomain testracclusterscan

192.168.0.71 node1.localdomain node1


192.168.0.72 node2.localdomain node2

Guests which will use DNS server for name resolution , need to have "/etc/resolve.conf" file configured DNS server

nameserver 192.168.0.10
search localdomain

Detail information about SCAN:
http://www.oracle.com/technetwork/database/clustering/overview/scan-129069.pdf

source : http://www.oracle-base.com/articles/linux/dnsmasq-for-simple-dns-configurations.php