Tuesday, January 10, 2017

Output Post Processor java.lang.OutOfMemoryError: GC overhead limit exceeded

If you receive Error like the following while Running XML Publisher/ BI Publisher Reports from Oracle E-Business Suite in OPP Log:
   

Caused by: oracle.xdo.parser.v2.XPathException: Extension function error: Error invoking 'ms_format_number':'java.lang.OutOfMemoryError: GC overhead limit exceeded'


OR 

Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1067)



Then You just need to follow the Plan as Per Oracle:



1. Determine what the heap size per OPP process is currently:

select DEVELOPER_PARAMETERS from FND_CP_SERVICES
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = 'FNDCPOPP');


2. The default should be:
 
J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx512m


3. Increase the Heap Space per Process to 1024: ( 1024 = If you want to increase the Heap Memory to 1GB)  
 
update FND_CP_SERVICES
set DEVELOPER_PARAMETERS =
'J:oracle.apps.fnd.cp.gsf.GSMServiceController:-mx1024m'
where SERVICE_ID = (select MANAGER_TYPE from FND_CONCURRENT_QUEUES
where CONCURRENT_QUEUE_NAME = 'FNDCPOPP');
 
4. Do not forget to bounce the application services.
 
You are done now.

Wednesday, July 3, 2013

Edit Linux fstab in recovery mode

In Linux recovery mode, the root filesystem is readonly, so you can not edit /etc/fstab.
You have to issue this command: mount -o remount,rw /

Tuesday, September 13, 2011

Locked User in EBS R12

Today one of users complaining about failed login. Using user administration I found that the user's status is 'LOCKED'. It was the first time I met this problem. The question was how to unlock the user?
After searching Oracle Support with no result, I opened the FND_USERS table and found that the value for ENCRYPTED_FOUNDATION_PASSWORD and ENCRYPTED_USER_PASSWORD for locked users are INVALID.
So I changed the password from the applications and then LOCKED status disappeared.

Monday, April 11, 2011

ORA-06512: at "SYS.DBMS_SNAPSHOT_UTL", line 960

When creating materialized view, do not query directly from database link.
Below query will be failed:
CREATE MATERIALIZED VIEW "ABC"
TABLESPACE "XYZ"
PCTFREE
10 MAXTRANS 255 STORAGE ( INITIAL 64K BUFFER_POOL DEFAULT)
NOLOGGING
PARALLEL (DEGREE 4) CACHE USING NO INDEX
REFRESH
FORCE START WITH to_date('04-11-2011 11:58:35','MM-dd-yyyy hh24:mi:ss') NEXT sysdate + 1/24 AS select * from abc@dblink
You can create a view first and select from the view, or:

CREATE MATERIALIZED VIEW "ABC"
TABLESPACE "XYZ"
PCTFREE
10 MAXTRANS 255 STORAGE ( INITIAL 64K BUFFER_POOL DEFAULT)
NOLOGGING
PARALLEL (DEGREE 4) CACHE USING NO INDEX
REFRESH
FORCE START WITH to_date('04-11-2011 11:58:35','MM-dd-yyyy hh24:mi:ss') NEXT sysdate + 1/24 AS select * from (select * from abc@dblink)

Wednesday, March 2, 2011

Rupam Verma' Blog: Negative Values For Tablespace

If you see some negative value on Enterprise Manager Grid Control 11g or on Database Console 11g while listing datafiles for a tablespace then this is your answer:

Rupam Verma' Blog: Negative Values For Tablespace: "9548105"

Thursday, August 19, 2010

Oracle VM: ha_check_cpu_compatibility

When you create Oracle VM server pool, it's required that all the servers in the pool have the same type and family of CPUs. Beginning in Oracle VM Server 2.2.1 (or Oracle VM Server 2.2.0 with upgraded agent ovs-agent-2.3-38), Oracle VM agent will enforce the pre-check by default when you create a server pool or add a new server to an existing server pool. The pre-check includes the server version, agent version, CPU compatibility, storage repositories, NFS, OCFS2 configuration, and so on. It is to ensure successful setup of the server pool and OCFS2 cluster integrity.
This also applies to repository initialization.
Still there might be use cases where you want to set up the testing environment where different type of servers may be formed into the server pool. For example, the testing environment may be to verify network or storage configuration of multi-node server pool, but it's not required to perform live migration or HA.

Warning: Oracle VM 2.2 requires all processors in a given pool to be of the same type. The bypass procedure provided below is available for test and experimental environments,and is not recommended or supported by Oracle.

Solution

Here we provide the steps to manually bypass certain pre-check function. The steps are provided to facilitate testing only, should not be used in any production environment:

1. Log into the Server Pool Master and verify that you are running ovs-agent-2.3-38 or later.
# rpm -q ovs-agent
ovs-agent-2.3-38

2. Edit the file /opt/ovs-agent-2.3/OVSSiteCluster.py and locate the following lines:
rs.append(("ha_check_oracle_vm_version", ha_check_oracle_vm_version(hosts)))
rs.append(("ha_check_agent_version", ha_check_agent_version(hosts)))
rs.append(("ha_check_cpu_compatibility", ha_check_cpu_compatibility(hosts)))
rs.append(("ha_check_hostname_ip", ha_check_hostname_ip(hosts)))
rs.append(("ha_check_storage_repos", ha_check_storage_repos(hosts, ha_enable)))
rs.append(("ha_check_ocfs2_config", ha_check_ocfs2_config(hosts)))
3. Comment out the specific line to bypass the pre-check. For example, to bypass the CPU compatibility check change the line as below:
# rs.append(("ha_check_cpu_compatibility", ha_check_cpu_compatibility(hosts)))
4. Restart the agent
# service ovs-agent restart
OVSAgentServer shutdown...
OVSAgentServer stopped.
OVSAgentServer is now starting...
OVSAgentServer started.

if you need to restart without having to shut down running VM's, do:
# service ovs-agent restart --disable-nowayout
5. This procedure will need to be executed on any pool server that might become a master via HA. After completing it, you will be able to add a server node that had previously failed with the ha_check_cpu_compatibility error.

Friday, August 6, 2010

Oracle VM ha_check_cpu_compability

If you received this error related to ha_check_compability on Oracle VM and you are using ovs-agent-2.3-38 or later, then you should edit /opt/ovs-agent-2.3/OVSSiteCluster.py and comment this line
rs.append(("ha_check_cpu_compatibility", ha_check_cpu_compatibility(hosts)))

Thursday, July 8, 2010

Oracle sid and Linux pid

Sometimes we found Oracle process that has been running too long using top command on Linux. We know it has PID. But how to know the SID of the process?
Here is the script:

select
substr(a.spid,1,9) pid,
substr(b.sid,1,5) sid,
substr(b.serial#,1,5) ser#,
substr(b.machine,1,6) box,
substr(b.username,1,10) username,
substr(b.osuser,1,8) os_user,
substr(b.program,1,30) program
from
v$session b,
v$process a
where
b.paddr = a.addr
and type='USER'
order by spid;

Wednesday, May 26, 2010

Select all data when parameter is null

Sometimes we need to display data based on report parameter and sometimes when user does not input anything, the default action is to display all data.
There are three ways we can use on WHERE clause on SQL:
where column_name = nvl(:parameter, column_name)
or
where column_name like nvl(:parameter, '%')
or
where (column_name = :parameter or :parameter is null)

Friday, May 21, 2010

Identify long running session and kill it

Sometimes you can find an Oracle database session that has been running for very long time. You can find it with this query:
select s.username,s.sid,s.serial#,s.last_call_et/60 mins_running,q.sql_text from v$session s 
join v$sqltext_with_newlines q
on s
.sql_address = q.address
where status='ACTIVE'
and type <>'BACKGROUND'
and last_call_et> 60
order
by sid,serial#,q.piece
Then you can kill it with (change sid and serial# using result from query above):
ALTER SYSTEM KILL SESSION 'sid,serial#';

Wednesday, May 19, 2010

Delete old archivelog

To delete old archivelog, use rman and login.
use this command:
change archivelog until time 'sysdate-x' delete;

Change x with number of days (1,2,3...).

Tuesday, April 13, 2010

adoafmctl.sh: exiting with status 152

Unable to start oafm using adstrtal.sh. Running adoafmctl.sh ends with timeout.

You are running adoafmctl.sh version 120.6.12000000.3
Starting OPMN managed OAFM OC4J instance ...
adoafmctl.sh: exiting with status 152

Solution:

Clear the TLD cache:

- stop all middle tier services

- Delete/backup files this file:

$COMMON_TOP/_TldCache

- start all middle tier services


Tuesday, February 16, 2010

Database link error

I cloned my database to another machine and when I tried to use Oracle database link, this error came out:
ORA-01017: invalid username/password; logon denied ORA-02063: preceding line from %s
I checked the connection using sqlplus, worked. Using connection description on sqlplus, also worked fine. I even recreated the database link, but still failed.
Then I cloned again to another machine, tested the database link, worked.
What was the difference between the two machine? It was the host name settings. The first one that failed had its host name only accessible locally. The second one had its host name registered on DNS server. So the database server I tried to access using database link could resolve host name of the second machine, but not of the first one.
Then I added the host name of first machine to DNS server, tested the database link, worked.