Archive for the ‘TEChNoLoGY’ Category

Shared Memory Tuning: Startup database – ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device

May 22nd, 2018, posted in Linux OS, Oracle Queries, Uncategorized
Share
Oracle on linux,Oracle,linux,Oracle DBA,Apps DBA,sun linux 10,sun linux,Oracle Database dba,Oracle database,Oracle Application, Linux, linux, solaris administrator, sun linux,SGA/PGA sizes,solaris SGA/PGA ,linux SGA/PGA sizes, prtconf,ORA-27102,ORA-27101: shared memory realm does not exist,ORA-27101,shared memory realm does not exist,SVR4 Error: 2: No such file or directory,Oracle Linux,Linux Oracle 
SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device
I have used RHEL X86_64 + memory (32GB) and setted sga_max_size=20G + sga_target=20G and …
$ cat /proc/sys/kernel/shmmax
26843545600
What wrong with my kernel tuning… So, I checked metalink (301830.1) and some recommend from RHEL
They told; set SHMALL to the total amount of physical RAM divided by page size.

SHMALL =>Total amount of shared memory available (bytes or pages)

then:
Check Page Size:
$ getconf PAGE_SIZE
4096
Determine the system wide maximum number of shared memory pages:
$ cat /proc/sys/kernel/shmall
2097152
My system 64bits with memory 32GB, then 1024 * 1024 * 1024 * 32 / 4096 = 8388608
So, change kernel.shmall = 8388608
$ su - root
# echo 8388608 > /proc/sys/kernel/shmall
Or modify /etc/sysctl.conf file:
kernel.shmall=8388608
and
# sysctl -p
After changed… check and startup database again:
$ cat /proc/sys/kernel/shmall
8388608
 
SQL> startup

.

.

.

--- NO ERROR ---
From this idea with memory 32GB
mem=$(free|grep Mem|awk '{print$2}')
totmem=$(echo "$mem*1024"|bc)
huge=$(grep Hugepagesize /proc/meminfo|awk '{print $2}')
max=$(echo "$totmem*75/100"|bc)
all=$(echo "$max/$huge"|bc)
echo "kernel.shmmax = $max"
echo "kernel.shmall = $all"
Result:
kernel.shmmax = 25213120512, kernel.shmall = 12311094
However, This case “ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device” , solved by set SHMALL = MemTotal(byte)/PAGE_SIZE
and …
I hope to hear your idea about kernel tuning with Oracle Database.
Share

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

Tar: .file too large to archive. Use E function modifier

April 30th, 2018, posted in Solaris
Share

Tar, .file too large to archive, Use E function modifier,E function modifier,solaris 10,unix,linux,sun solaris 10,solaris administrator,Using TAR for big files

tar: .file too large to archive. Use E function modifier.

Using TAR for big files ( > 8GB)

In Unix environment, If you are trying to “tar” OS files that is bigger than 8 GB of size. Following error is observed.

Regular tar command:

tar -cvf test.dmp.tar test.dmp

Error:

tar: test.dmp too large to archive.  Use E function modifier.

Solution:

tar -cvEf test.dmp.tar test.dmp
Share