The following operating system filesets are required for all versions of Oracle and AIX:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
security.pkcs11 (mandatory for Oracle 18+ only)
xlC.aix61.rte
xlC.rte
gpfs.base (not listed in docs but fails OraCHK)
lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat bos.perf.libperfstat bos.perf.proctools
lslpp -l security.pkcs11 xlC.aix61.rte xlC.rte gpfs.base
The following filesets are required for Oracle Real Application Clusters (Oracle RAC) Installations only:
rsct.basic.rte
rsct.compat.clients.rte
lslpp -l rsct.basic.rte rsct.compat.clients.rte
lsdev -Cc iocp
As 'root'...
mkdev -l iocp0
chdev -l iocp0 -P -a autoconfig='available'
Oracle 12+ requires Unzip 6.0 or later.
unzip -v | head -1
Download RPM then, as 'root'...
rpm -U unzip-6.0-3.aix6.1.ppc.rpm
lslpp -l | grep xlf
For AIX 7100-05-04-1914 you need 16.1.0.1...
xlfrte 16.1.0.1 COMMITTED XL Fortran runtime libraries xlfrte.aix51 99.99.9999.9999 COMMITTED Supersede entry, not installed xlfrte.aix52 99.99.9999.9999 COMMITTED Supersede entry, not installed xlfrte.aix53 99.99.9999.9999 COMMITTED Supersede entry, not installed xlfrte.aix61 16.1.0.1 COMMITTED XL Fortran runtime environmentNetwork Tunables...
no -L tcp_ephemeral_low
no -L tcp_ephemeral_high
no -L udp_ephemeral_low
no -L udp_ephemeral_high
I/O Tunables...
ioo -L aio_maxreqs
Maximum number of User Processes...
lsattr -El sys0 -a maxuproc
Maximum Length of the Command Line...
lsattr -El sys0 -a ncargs
Network Tunables...
no -p -o tcp_ephemeral_low=9000
no -p -o tcp_ephemeral_high=65535
no -p -o udp_ephemeral_low=9000
no -p -o udp_ephemeral_high=65535
I/O Tunables...
ioo -p -o aio_maxreqs=65536
Maximum number of User Processes...
chdev -l sys0 -a maxuproc='16384'
Maximum Length of the Command Line... Set to 128 or longer (this is measured in 4K blocks)
chdev -l sys0 -a ncargs='128'
Concurrent I/O (CIO) is a feature of AIX with JFS2 that bypasses the buffer caching and reduces double buffering, where an I/O comes into memory, is stored there and then copied into the application buffer. CIO also removes inode locking for the file system during write operations, so it should only be used where the application takes care of data serialization. For Oracle, this means CIO should be used for database DBF files, redo logs and control files, and flashback log files. It shouldn’t be used for Oracle binaries or archive log files. Use of CIO, for a mixed or random-access workload, can make a significant difference in memory use (reducing paging), CPU utilization (no more copying memory pages between the two memory locations) and performance in general. However, since it bypasses readahead, sequential operations may not perform as well.
The filesystems must be JFS2
Ensure you have dedicated filesystems for datafiles (/u02), online redo log files (/redo) and controlfiles (/controlfile) and ensure those filesystems have the correct mount options for CIO.
sqlplus / as sysdba
SHOW PARAMETER filesystemio_options
ALTER SYSTEM SET filesystemio_options=SETALL SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP
SHOW PARAMETER filesystemio_options
NOTE: Set the Oracle parameter filesystemio_options=SETALL, or mount the filesystems (other than dump devices) with the CIO option. It is not necessary to both SETALL and mount filesystems with the CIO option, although no harm is done either way. Metalink note: 272520.1 indicate that mounting with CIO is needed, while IBM believes it is not needed. IBM is working with Oracle to fix the metalink note.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.NOTE: The ioo parameter fs_fastpath accelerates CIO. It is enabled by default in AIX 6.1 and 7.1.Data files: Use CIO filesystemio_options=SETALL, and default agblksize (4k); mount with no options.
Redo logs: Create with agblksize of 512 and mount with no options. With SETALL, IBM is doing direct I/O for Redo logs.
Control files: Create with agblksize of 512 and mount with no options. With SETALL, IBM is doing direct I/O for Redo logs.
Archive logs: Mount -o rbrw . Do not use CIO; use the jfs2 rbrw option
Dumps: Mount –o rbrw
The mount option noatime, suggested for Oracle 10g, is no longer required
Advice from 960055.1:
Database Files - Use CIO or no mount options for extremely sequential I/O
Redo Log Files - Use CIO or DIO
Controlfiles - Use CIO or DIO
Archive Log Files - Do not use CIO or DIO
Flashback Log Files - Flashback Log files should use CIO, DIO, or rbrw
Oracle Binaries - Do not use CIO or DIO
Assuming disk is provisioned from a SAN where RAID is used to avoid contention... the filesystems should be laid out on disk following these guidelines:
AIX Paging Space
mkgroup id=209 dba
mkgroup id=210 oper
mkgroup id=205 oinstall
mkgroup id=204 asmadmin
mkgroup id=207 asmdba
mkgroup id=208 asmoper
mkuser id=211 oracle
chuser groups=oinstall,dba,oper,staff oracle
chuser pgrp=oinstall oracle
chuser gecos=oracle@$(hostname -s) oracle
chuser login=true oracle
chuser umask=022 oracle
chuser loginretries=5 oracle
chuser maxage=12 oracle
chuser histsize=15 oracle
chuser fsize=-1 oracle
chuser cpu=-1 oracle
chuser data=-1 oracle
chuser stack=-1 oracle
chuser nofiles=65536 oracle
chuser stack_hard=-1 oracle
chuser nofiles_hard=65536 oracle
Execute as oracle user...
Check if oracle belong to proper groups (dba and oper)
grep dba /etc/group
id oracle
umask
mkuser id=230 grid
chuser groups=oinstall,dba,oper,staff,asmdba oracle
chuser groups=oinstall,asmadmin,asmdba,asmoper,staff,dba,hagsuser grid
chuser pgrp=oinstall grid
chuser gecos=grid@$(hostname -s) grid
chuser login=true grid
chuser umask=022 grid
chuser loginretries=5 grid
chuser maxage=12 grid
chuser histsize=15 grid
chuser fsize=-1 grid
chuser cpu=-1 grid
chuser data=-1 grid
chuser stack=-1 grid
chuser nofiles=65536 grid
chuser stack_hard=-1 grid
chuser nofiles_hard=65536 grid
Soft File Descriptors at least 1024
Hard File Descriptors at least 65536
Soft FILE size -1 (Unlimited)
Soft CPU time -1 (Unlimited)
Soft DATA segment -1 (Unlimited)
Soft STACK size -1 (Unlimited)
Soft Real Memory size -1 (Unlimited)
Processes (per user) -1 (Unlimited)
By default, AIX uses the Loadable Authentication Module (LAM) for identification and authentication purposes.
Recent versions of ORAchk now recommend switching to Pluggable Authentication Module (PAM).
This section deals with some common AIX specifc warnings...
WARNING => OS Patch IZ87216 is recommended but not installed
Check using...
instfix -ivk IZ87216
If the output shows that all filesets were found, then you can safely ignore this warning.
If the filesets are not found then AIX will need to be patched