The bottom line, as I understand it, is that an all-flash array (not SSD) should be able to provide comparable Oracle Redo performance to 15K RPM disk drives especially in a SAN configuration where there is likely to be cache in front of all storage to effectively hide any write bottlenecks. This may not be the most cost efficient way to deliver that level of redo performance. However, if your entire data centre runs on flash storage, then buying disk drives just to service Oracle Redo would appear to be unnecessary.
The /u01 filesystem holds the ORACLE_BASE, ORACLE_HOME, scripts, installation files, and text/xml log files.
Oracle Database 19c needs a minimum of 10.2GB on this filesytem for installation.
Standard Subdirectories
Subdirectory Description
/u01/app/oracle ORACLE_BASE
/u01/app/oraInventory Oracle Inventory
/u01/dba DBA Scripts
/u01/img Installation Files
/u01/in Input files
/u01/out Output files
As 'root'...
chown -R oracle:oinstall /u01
As 'oracle'...
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/dba
mkdir -p /u01/img
mkdir -p /u01/in
mkdir -p /u01/out
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /fra
chmod -R 775 /u01/app/
chmod -R 775 /u01/dba/
chmod -R 775 /u01/img/
chmod -R 775 /u01/in/
chmod -R 775 /u01/out/
As 'oracle'...
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
TODO
As 'oracle'...
mkdir -p /u01/app/oracle/product/122010
chgrp oinstall /u01/app/oracle/product/122010
mkdir -p /u01/img/122010
As 'oracle'...
mkdir -p /u01/app/oracle/product/121020
chgrp oinstall /u01/app/oracle/product/121020
mkdir -p /u01/img/121020
As 'root'...
chown -R oracle:oinstall /u02
As 'oracle'...
mkdir -p /u02/app/oracle
As oracle user create directory for database's data files
cd /u02
mkdir /u02/oradata
chown oracle:oinstall /u02/oradata
chmod 775 /u02/oradata
Filesystem mount options
Oracle/IBM recommend the RBRW mount option for /fra (i.e. archivelogs and dumps).
Archive logs: Mount -o rbrw . Do not use CIO; use the jfs2 rbrw option
Dumps: Mount –o rbrw
sqlplus / as sysdba
SHUTDOWN IMMEDIATE
exit
umount /fra
mount /fra-o rbrw
lsfs /fra
sqlplus / as sysdba
STARTUP
exit
The /redo filesystems (generally /redo1 and /redo2) hold the online redo log files for the database.
These filesystems are optional.If these filesystems do not exist then online redo logs tend to be found in /u02 and /flashrecovery.On AIX, these filesystems are generally created when switching a database server to use CIO.The /controlfile1 and /controlfile2 filesystems hold the Oracle database controlfiles.
These filesystems are optional.If these filesystems do not exist then controlfiles are generally found on /u01, /u02. or /flashrecovery.On AIX, these filesystems tend to be created when switching a database server to use CIO.Create new filesystems /controlfile1 & /controlfile2 on hdisk19 & hdisk20 with 512 byte block size , 400M in size
NOTE: If using CIO with SETALL, CIO mount or both, you must create separate file systems for redo logs and control files (or a single filesystem for both), with an agblksize of 512 rather than the default 4 KB.mkdir /controlfile1
mkdir /controlfile2
mklv -t jfs2 -y control01 orainstvg 400M hdisk19
mklv -t jfs2 -y control02 oraflashvg 400M hdisk20;
crfs -v jfs2 -d /dev/control01 -m /controlfile1 -a log=INLINE -a agblksize=512 -A yes
crfs -v jfs2 -d /dev/control02 -m /controlfile2 -a log=INLINE -a agblksize=512 -A yes
mkdir /controlfile1/DBNAME
mkdir /controlfile1/DBNAME
chown -R oracle:oinstall /controlfile1
chown -R oracle:oinstall /controlfile2
/tmp (6GB)
/opt (12GB)
/home/oracle (500MB free space)
Check current value:
df -g /tmp
Change size (if necessary)....
Note: These steps assume there is enough space in the volume group to fulfil your request.Determine the logical volume name and current filesystem size...
lvn=$(lsfs | grep /tmp | awk '{ print $1 }' | cut -d/ -f3)
siz=$(lsfs | grep /tmp | awk '{ print $5 }')
(( siz = ${siz} / 2 ))
(( siz = ${siz} / 1024 ))
echo ${lvn} ${siz}
Determine the physical partition (PP) size of the logical volume...
pps=$(lslv ${lvn} | grep "PP SIZE" | awk '{ print $6 }')
echo ${pps}
Divide the amount of extra space required by the LP size (assumed to be the same as the PP size) to calculate the number of LPs to add...
11g...
(( lps = 2048 - ${siz} ))
(( lps = ${lps} / ${siz} ))
echo ${lps}
extendlv ${lvn} ${lps}
chfs -a size=2G /tmp # 11g
df -g /tmp
12c/18c/19c...
(( lps = 6144 - ${siz} ))
(( lps = ${lps} / ${siz} ))
echo ${lps}
extendlv ${lvn} ${lps}
chfs -a size=6G /tmp # 12c
df -g /tmp
The following instructions assume /home/oracle is part of the /home mount point and that a 2GB filesystem will yield a minimum of 500MB free space.
You may need to adjust appropriately.
Check current value:
df -g /home
Change size (if necessary)....
Note: These steps assume there is enough space in the volume group to fulfil your request.
Any issues should be discussed with a UNIX system administrator.
Determine the logical volume name and current filesystem size...
lvn=$(lsfs | grep /home| awk '{ print $1 }' | cut -d/ -f3)
siz=$(lsfs | grep /home| awk '{ print $5 }')
(( siz = ${siz} / 2 ))
(( siz = ${siz} / 1024 ))
echo ${lvn} ${siz}
Determine the physical partition (PP) size of the logical volume...
pps=$(lslv ${lvn} | grep "PP SIZE" | awk '{ print $6 }')
echo ${pps}
Divide the amount of extra space required by the LP size (assumed to be the same as the PP size) to calculate the number of LPs to add...
(( lps = 2048 - ${siz} ))
(( lps = ${lps} / ${siz} ))
echo ${lps}
extendlv ${lvn} ${lps}
chfs -a size=2G /home
df -g /home
If /opt is smaller than 12GB, the following steps resize /opt to 12GB (12288MB)
Check...
df -g /opt
Change...
Ensure there is enough space in the volume group...
Note: These steps assume there is enough space in the volume group to fulfil your request.lvn=$(lsfs | grep /opt| awk '{ print $1 }' | cut -d/ -f3)
vgn=$(lslv ${lvn} | grep "VOLUME GROUP" | awk '{ print $6 }')
fre=$(lsvg ${vgn} | grep "FREE PPs" | awk '{ print $7 }' | awk '{ sub(/\(/,""); print }')
(( fgb = ${fre} / 1024 ))
echo ${fre}'MB'
Determine the current filesystem size...
siz=$(lsfs | grep /opt | awk '{ print $5 }')
(( siz = ${siz} / 2 ))
(( siz = ${siz} / 1024 ))
echo ${lvn} ${siz}'MB'
Determine the physical partition (PP) size of the logical volume...
pps=$(lslv ${lvn} | grep "PP SIZE" | awk '{ print $6 }')
echo ${pps}
Divide the amount of extra space required by the LP size (assumed to be the same as the PP size) to calculate the number of LPs to add...
(( lps = 12288 - ${siz} ))
(( lps = ${lps} / ${siz} ))
echo ${lps}
extendlv ${lvn} ${lps}
chfs -a size=12G /opt
df -g /opt