Posts Tagged ‘APPS DBA’

Oracle EBS Find Where Debug Is On

May 15th, 2018, posted in Oracle Queries
Share

Oracle EBS Find Where Debug Is On

If you have Debug is on at Site level then it will Impact the performance of the Instance, here is the script which will help you to quickly check your EBS Instance if ‘Debug’ is on (all level) of the EBS.

 

set linesize 160
col USER_PROFILE_OPTION_NAME for a30
col CONTEXT for a30
col VALUE for a30
col NAME for a30
 
SELECT po.profile_option_name "NAME",
po.USER_PROFILE_OPTION_NAME,
decode(to_char(pov.level_id),
'10001', 'SITE',
'10002', 'APP',
'10003', 'RESP',
'10005', 'SERVER',
'10006', 'ORG',
'10004', 'USER', '???') "LEV",
decode(to_char(pov.level_id),
'10001', '',
'10002', app.application_short_name,
'10003', rsp.responsibility_key,
'10005', svr.node_name,
'10006', org.name,
'10004', usr.user_name,
'???') "CONTEXT",
pov.profile_option_value "VALUE"
FROM FND_PROFILE_OPTIONS_VL po,
FND_PROFILE_OPTION_VALUES pov,
fnd_user usr,
fnd_application app,
fnd_responsibility rsp,
fnd_nodes svr,
hr_operating_units org
WHERE po.user_profile_option_name like '%Debug%'
AND pov.profile_option_value='Y'
AND pov.application_id = po.application_id
AND pov.profile_option_id = po.profile_option_id
AND usr.user_id (+) = pov.level_value
AND rsp.application_id (+) = pov.level_value_application_id
AND rsp.responsibility_id (+) = pov.level_value
AND app.application_id (+) = pov.level_value
AND svr.node_id (+) = pov.level_value
AND org.organization_id (+) = pov.level_value;

Sample ouptut:

 

NAME                           USER_PROFILE_OPTION_NAME       LEV      CONTEXT                        VALUE
---------------------------    ----------------------------   ------   ---------------------------    ---------------
AFLOG_ENABLED                  FND: Debug Log Enabled         USER     SA-USER1                       Y
FND_CONC_ALLOW_DEBUG           Concurrent: Allow Debugging    RESP     XXXX_CE_SUP_MY-MYR-GE          Y
PRINT_DEBUG                    FA: Print Debug                USER     SA-USER2                       Y
PO_SET_DEBUG_WORKFLOW_ON       PO: Set Debug Workflow ON      USER     SA-USER3                       Y
PA_DEBUG_MODE                  PA: Debug Mode                 USER     SA-USER4                       Y
SO_DEBUG                       OE: Debug                      SITE                                    Y
MSC_JAVA_DEBUG                 MSC: Enable Java Debug         SITE                                    Y
 
7 rows selected.
Share

ORA-01450: maximum key length (6398) exceeded

May 13th, 2018, posted in Oracle Queries
Share

ORA-01450: maximum key length (6398) exceeded,ORA 01450,Ora error,ORA 01450 errors,Oracle ERP,Oracle ,ERP,Oracle ERP Application,Oracle Application,Oracle DBA,Oracle Forms,racle Apps,Apps DBA,ERP Application,Repository Creation Utility - Warning | ORA-01450: maximum key length (6398) exceed,Repository Creation Utility Warning,ORA-01450: maximum key length (6398) exceed,Warning ORA-01450: maximum key length (6398) exceed,

Cause 

the errors seen above are encountered because the NLS_LENGTH_SEMANTICS initialisation parameter has been set to CHAR. This is not a supported setting for this parameter in an Oracle Fusion Middle ware installation. This is documented in the Release Notes for each platform.

Solution 

To remove the ORA-01450 errors when creating the MDS and SOAINFRA components ensure that the requirement for NLS_LENGTH_SEMANTICS=BYTE is met.

To check the current setting of NLS_LENGTH_SEMANTICS, login to the target database as SYSDBA and issue the following command:

SQL> show parameter NLS_LENGTH_SEMANTICS

NAME                     TYPE        VALUE
———————— ———– ——-
nls_length_semantics     string      CHAR

SQL> alter system set nls_length_semantics=BYTE;

System altered.

SQL> show parameter NLS_LENGTH_SEMANTICS

NAME                     TYPE        VALUE
———————— ———– ——-
nls_length_semantics     string      BYTE

After resetting the parameter you should restart your database for the change to take effect.

Share

Find Concurrent Manager Jobs By Query

May 6th, 2018, posted in Oracle Queries
Share

Query :

 

select sess.sid,
 sess.sql_hash_value,
 oracle_process_id OS_PROCESS_ID,
 fusr.description user_name ,
 fcp.user_concurrent_program_name progName,
 to_char(actual_Start_date,'DD-MON-YYYY HH24:MI:SS') StartDate,
 request_id RequestId,
 (sysdate - actual_start_date)*24*60 ETime_in_Mins
from apps.fnd_concurrent_requests fcr,
 apps.fnd_concurrent_programs_tl fcp,
 apps.fnd_user fusr,
 v$session sess
where fcp.concurrent_program_id = fcr.concurrent_program_id
 and fcr.program_application_id = fcp.application_id
 and fcp.language = 'US'
 and fcr.phase_code = 'R'
 and fcr.status_code = 'R'
 and fcr.requested_by = fusr.user_id
 and fcr.oracle_session_id = sess.audsid (+)
-- and p.addr = sess.paddr
 order by 6 DESC
Share

TNS-01155: Incorrectly specified SID_LIST_LISTENER parameter in LISTENER.ORA

April 10th, 2018, posted in Linux OS, Oracle, Windows
Share

TNS-01155: Incorrectly specified SID_LIST_LISTENER parameter in LISTENER.ORA,TNS-01155,Incorrectly specified SID_LIST_LISTENER parameter,LISTENER.ORA,LISTENER ORA,errors,Oracle ERP,Oracle ,ERP,Oracle ERP Application,Oracle Application,Oracle DBA,Oracle Forms,Oracle Apps,Apps DBA,ERP Application



Issue : While starting the listener we got the below error.


linux01(oracle:orcl1)/home/oracle: lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 15-SEP-2015 03:43:02

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Starting /opt/oracle/product/11.2.0.4.RAC/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.4.0 - Production
System parameter file is /opt/oracle/product/11.2.0.4.RAC/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/linux01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
TNS-01155: Incorrectly specified SID_LIST_LISTENER parameter in LISTENER.ORA
 NL-00303: syntax error in NV string

Listener failed to start. See the error message(s) above...



Solution: 

In the listener.ora file there were blank lines under the section SID_LIST_LISTENER. We removed the blank line entries and brought up the listener. (please note that this may be one of the scenarios)

Erroneous listener.ora file excerpts below:

SID_LIST_LISTENER =
 (SID_LIST =
 (SID_DESC =
 (GLOBAL_DBNAME = ORCL1)
 (ORACLE_HOME = /opt/oracle/product/11.2.0.4.RAC)
 (SID_NAME = ORCL1)
 )
 <<<<< blank line
 (SID_DESC =
 (GLOBAL_DBNAME = ORCL2)
 (ORACLE_HOME = /opt/oracle/product/11.2.0.4.RAC)
 (SID_NAME = ORCL2)
 )
 <<<<< blank line
)
Share

Fixing the ORA-27102: out of memory Error in Oracle on Solaris 10

April 8th, 2018, posted in Oracle Queries, Solaris
Share

Symptom:

As part of a database tuning effort you increase the SGA/PGA sizes; and Oracle greets with anORA-27102: out of memoryerror message. The system had enough free memory to serve the needs of Oracle.

SQL> startup
ORA-27102: out of memory
SVR4 Error: 22: Invalid argument

Diagnosis

$ oerr ORA 27102
27102, 00000, "out of memory"
// \*Cause: Out of memory
// \*Action: Consult the trace file for details

 

Not so helpful. Let’s look the alert log for some clues.

 

% tail -2 alert.log
WARNING: EINVAL creating segment of size 0x000000028a006000
fix shm parameters in /etc/system or equivalent

 

Oracle is trying to create a 10G shared memory segment (depends on SGA/PGA sizes), but operating system (Solaris in this example) responded with an invalid argument (EINVAL) error message. There is a little hint about setting shm parameters in/etc/system.

Prior to Solaris 10,shmsys:shminfo_shmmaxparameter has to be set in/etc/systemwith maximum memory segment value that can be created. 8M is the default value on Solaris 9 and prior versions; where as 1/4th of the physical memory is the default on Solaris 10 and later. On a Solaris 10 (or later) system, it can be verified as shown below:

 

% prtconf | grep Mem
Memory size: 32760 Megabytes
% id -p
uid=59008(oracle) gid=10001(dba) projid=3(default)
% prctl -n project.max-shm-memory -i project 3
project: 3: default
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
project.max-shm-memory
        privileged      7.84GB      -   deny                                 -
        system          16.0EB    max   deny                                 -

 

Now it is clear that the system is using the default value of 8G in this scenario, where as the application (Oracle) is trying to create a memory segment (10G) larger than 8G. Hence the failure.

So, the solution is to configure the system with a value large enough for the shared segment being created, so Oracle succeeds in starting up the database instance.

On Solaris 9 and prior releases, it can be done by adding the following line to/etc/system, followed by a reboot for the system to pick up the new value.

set shminfo_shmmax = 0x000000028a006000Howevershminfo_shmmaxparameter was obsoleted with the release of Solaris 10; and Sun doesn’t recommend setting this parameter in/etc/systemeven though it works as expected.

On Solaris 10 and later, this value can be changed dynamically on a per project basis with the help of resource control facilities . This is how we do it on Solaris 10 and later:

 

% prctl -n project.max-shm-memory -r -v 10G -i project 3
% prctl -n project.max-shm-memory -i project 3
project: 3: default
NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
project.max-shm-memory
        privileged      10.0GB      -   deny                                 -
        system          16.0EB    max   deny                                 -

 

Note that changes made with theprctlcommand on a running system are temporary, and will be lost when the system is rebooted. To make the changes permanent, create a project withprojaddcommand and associate it with the user account as shown below:

 

% projadd -p 3  -c 'eBS benchmark' -U oracle -G dba  -K 'project.max-shm-memory=(privileged,10G,deny)' OASB
% usermod -K project=OASB oracle

 

Finally make sure the project is created withprojects -lorcat /etc/projectcommands.

 

% projects -l
...
...
OASB
        projid : 3
        comment: "eBS benchmark"
        users  : oracle
        groups : dba
        attribs: project.max-shm-memory=(privileged,10737418240,deny)
% cat /etc/project
...
...
OASB:3:eBS benchmark:oracle:dba:project.max-shm-memory=(privileged,10737418240,deny)

 

With these changes, Oracle would start the database up normally.

 

SQL> startup
ORACLE instance started.
Total System Global Area 1.0905E+10 bytes
Fixed Size                  1316080 bytes
Variable Size            4429966096 bytes
Database Buffers         6442450944 bytes
Redo Buffers               31457280 bytes
Database mounted.
Database opened.

 


 

Addendum : Oracle RAC settings

Anonymous Bob suggested the following settings for Oracle RAC in the form of a comment for the benefit of others who run into similar issue(s) when running Oracle RAC. I’m pasting the comment as is (Disclaimer: I have not verified these settings):

Thanks for a great explanation, I would like to add one comment that will help those with an Oracle RAC installation. Modifying the default project covers oracle processes great and is all that is needed for a single instance DB. In RAC however, the CRS process starts the DB and it is a root owned process and root does not use the default project. To fix ORA-27102 issue for RAC I added the following lines to an init script that runs before the init.crs script fires.

 

# Recommended Oracle RAC system params
ndd -set /dev/udp udp_xmit_hiwat 65536
ndd -set /dev/udp udp_recv_hiwat 65536
# For root processes like crsd
prctl -n project.max-shm-memory -r -v 8G -i project system
prctl -n project.max-shm-ids -r -v 512 -i project system
# For oracle processes like sqlplus
prctl -n project.max-shm-memory -r -v 8G -i project default
prctl -n project.max-shm-ids -r -v 512 -i project default

So simple yet it took me a week working with Oracle and SUN to come up with that answer…Hope that helps someone out.

Share