Oracle performance tuning on aix 7.2/7.3

Hello Admins ,

Oracle Performance Tuning on AIX 7.2/7.3
After setting the commonly used performance settings (disk queue size, fs buffers, network buffers), I created two AIX ramdisks on lpar for Oracle temporary tablespace data files. One for "impmgr" and one for "imgmgr" user (heavily used users) and added the following sql lines to the Oracle startup script:

#create temp tablespace for impmgr schema
CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE ‘/RAMFS/ORCL/temp0/impmgr_temp.dbf′ SIZE 20G;
#create temp tablespace for imgmgr schema
CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE ‘/RAMFS/ORCL/temp1/imgmgr_temp.dbf′ SIZE 20G;

alter user impmgr temporary tablespace TEMP1;
alter user imgmgr temporary tablespace TEMP2;

better than ASM

mk_ramdisk script:

# oracle secondary TEMP tablespace to ramdisk
# create and mount multiple ramdisk
#
#ramdisk count and size
RAMDISK_SIZE="22G"
RAMDISK_COUNT=2

#ramfs parameters
RAMDISK_MOUNT="RAMFS"
RAMDISK_DEV=""

#oracle parameters
RAMDISK_SID="ORCL"
RAMDISK_OWNER="oracle"
RAMDISK_GROUP="dba"
RAMDISK_MODE="775"
RAMDISK_DIR="temp"

#commands
MK_RAMDISK="/usr/sbin/mkramdisk"
TR="/usr/bin/tr"
MKFS="/usr/sbin/mkfs"
MOUNT="/usr/sbin/mount"
MKDIR="/usr/bin/mkdir"
CHOWN="/usr/bin/chown"
CHMOD="/usr/bin/chmod"

loop_cnt=0
tmp_str=""

set_ramdiskattr()
{
   $MKDIR -p /$RAMDISK_MOUNT/$RAMDISK_SID/$RAMDISK_DIR$loop_cnt
   $CHOWN -R $RAMDISK_OWNER:$RAMDISK_GROUP /$RAMDISK_MOUNT
   $CHMOD -R $RAMDISK_MODE /$RAMDISK_MOUNT
}

while  (( loop_cnt < $RAMDISK_COUNT))
do

   tmp_str=`$MK_RAMDISK $RAMDISK_SIZE`
   echo "Created ramdisk $tmp_str ,size: $RAMDISK_SIZE"

   RAMDISK_DEV=`echo $tmp_str |$TR -s 'r'`

   echo y| $MKFS  -V jfs2 $RAMDISK_DEV

   set_ramdiskattr

   $MOUNT -V jfs2 -o log=NULL  $RAMDISK_DEV /$RAMDISK_MOUNT/$RAMDISK_SID/$RAMDISK_DIR$loop_cnt
   echo "mout $RAMDISK_DEV to /$RAMDISK_MOUNT/$RAMDISK_SID/$RAMDISK_DIR$loop_cnt\n\n"

   set_ramdiskattr

   loop_cnt=`expr $loop_cnt + 1`

done
exit

df -g /RAMFS/ORCL/temp0 /RAMFS/ORCL/temp1
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/ramdisk0 22.00 0.20 99% 5 1% /RAMFS/ORCL/temp0
/dev/ramdisk1 22.00 0.20 99% 5 1% /RAMFS/ORCL/temp1

Hi @greenbucket

Did you have anything to discuss, (or ask) or are you just sharing?

Hi @Neo

just sharing,currently working well.
regards

Thank you for sharing @greenbucket

Your script's (( )) is beyond the standard sh, so your script should start with a ksh or bash shebang

#!/bin/ksh

Likewise, the counter stepping could be

(( loop_cnt+=1 ))

you are right ,thank you,
ksh of course !