Install Oracle 19c Grid Infrastructure on AIX Step by Step Tutorial
In this article, we are going to briefly describe the step to installing oracle 19c grid infrastructure on the AIX server.
Step 1: Checking Server Hardware and Memory Configuration
1. To determine physical RAM size on the server:
# /usr/sbin/lsattr -E -l sys0 -a realmem
2. To determine the available RAM and swap space
# /usr/sbin/lsps -s
3. To determine the size of the configured swap space:
# /usr/sbin/lsps -a
4. Determine the amount of space available in the /tmp directory
# df -m /tmp
If the free space available in the /tmp directory is less than what is required, then complete one of the following steps:
i. Delete unnecessary files from the /tmp directory to meet the disk space requirement.
ii. When you set the Oracle user's environment, also set the TMP and TMPDIR environment variables to the directory you want to use instead of /tmp.
iii. Extend the file system that contains the /tmp directory.
5. Determine the amount of free disk space on the system
# df -g
# df -m
6. Determine if the system architecture can run the software:
# /usr/bin/getconf HARDWARE_BITMODE
Note: The expected output of this command is 64. If you do not see the expected output, you cannot install the software on this system.
To determine if the system is started in 64-bit mode:
# /usr/sbin/bootinfo -K
Note: The result of this command must be 64, indicating that the 64-bit kernel is enabled.
7. To determine the run level:
# /usr/bin/who -r
Step 2: Checking the Software Requirements
1. To determine the distribution and version of IBM AIX installed:
# oslevel -s
If the operating system version is lower than what is required, then upgrade your
operating system accordingly to the currently supported or later version and level.
2. To determine if the required filesets are installed and committed enter a command similar
to the following:
# lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat \
bos.perf.libperfstat bos.perf.proctools
# AIX 7.2 Operating System Filesets. The following operating system filesets are required:
• bos.adt.base
• bos.adt.lib
• bos.adt.libm
• bos.perf.libperfstat
• bos.perf.perfstat
• bos.perf.proctools
• xlC.aix61.rte:13.1.0.1 or later
• xlC.rte:13.1.0.1 or later
• xlfrte.aix61-15.1.0.9 or later
The following filesets are required for Oracle Real Application Clusters
(Oracle RAC) Installations only:
• rsct.basic.rte
• rsct.compat.clients.rte
3. To determine the supported kernel mode:
# getconf KERNEL_BITMODE
• The expected output of this command is 64. I
4. To determine if an APAR is installed:
# /usr/sbin/instfix -i -k "IV16716 IV20880 IV21128 IV28319"
Step 3: Enabling I/O Completion Ports
On IBM AIX on POWER Systems (64-Bit), enable I/O completion ports (IOCP) to ensure successful database and grid infrastructure installation.
To check if the IOCP module is enabled, run the lsdev command:
# lsdev | grep iocp
The following sample output shows the IOCP status is set to Defined and hence not enabled:
iocp0 Defined I/O Completion Ports
By default, IOCP is set to Defined. To enable IOCP, set IOCP to Available using the following procedure:
1. Log in as root and run the following command:
# smitty iocp
2. Select Change / Show Characteristics of I/O Completion Ports.
3. Change configured state at system restart from Defined to Available.
4. Run the lsdev command to confirm the IOCP status is set to Available:
$ lsdev | grep iocp
iocp0 Available I/O Completion Ports
Restart the system to make the changes permanent.
Step 4: Checking Resource Limits for AIX
On AIX platforms, the /etc/security/login.cfg file controls and limits resources for users on the system. On login, set control and limit resources for users on the system so that authentication is carried out through the pam.conf file. By default, resource limits are set to std_auth for AIX operating systems.
1. Edit the file /etc/security/login.cfg file to change auth_type under the usw stanza from std_auth to pam_auth.
2. To ensure that these resource limits are honored, confirm that the line login session required /usr/lib/security/pam_aix is set in /etc/pam.conf.
For example:
dtsession auth required /usr/lib/security/pam_aix
dtlogin session required /usr/lib/security/pam_aix
ftp session required /usr/lib/security/pam_aix
imap session required /usr/lib/security/pam_aix
login session required /usr/lib/security/pam_aix
rexec session required /usr/lib/security/pam_aix
rlogin session required /usr/lib/security/pam_aix
rsh session required /usr/lib/security/pam_aix
snapp session required /usr/lib/security/pam_aix
su session required /usr/lib/security/pam_aix
swrole session required /usr/lib/security/pam_aix
telnet session required /usr/lib/security/pam_aix
xdm session required /usr/lib/security/pam_aix
OTHER session required /usr/lib/security/pam_prohibit
websm_rlogin session required /usr/lib/security/pam_aix
websm_su session required /usr/lib/security/pam_aix
wbem session required /usr/lib/security/pam_aix
Step 5: Tuning Virtual Memory Manager (VMM)
Recommended Values for Virtual Memory Manager
Parameter Value
minperm% 3
maxperm% 90
maxclient% = 90 90
lru_file_repage 0
strict_maxclient 1
strict_maxperm 0
For example:
vmo -p -o minperm%=3
vmo -p -o maxperm%=90
vmo -p -o maxclient%=90
vmo -p -o lru_file_repage=0
vmo -p -o strict_maxclient=1
vmo -p -o strict_maxperm=0
Note: You must restart the system for these changes to take effect.
Step 6: Tuning Virtual Processor Manager (VPM)
Oracle recommends that you use the vpm_xvcpus command to tune virtual processor.
When you enable CPU folding with only one CUP, your system may reboot and face performance problems.
1. Check if CPU folding is enabled:
# schedo -L| grep "vpm_xvcpus" |cut -d " " -f 17
The above command returns 0 if CPU folding is enabled.
2. Set value of the vpm_xvcpus parameter to at least 2:
# schedo -o vpm_xvcpus=2
3. Increase the space allocated for ARG/ENV list to 128. The size is specified by number of 4K blocks.
For example:
# /usr/sbin/chdev -l sys0 -a ncargs='1024'
Step 7: Configuring SSH LoginGraceTime Parameter for AIX
On AIX systems, configure the OpenSSH parameter to avoid timeout errors.
On AIX systems, the OpenSSH parameter LoginGraceTime by default is commented out, and the default behavior of OpenSSH on AIX can sometimes result in timeout errors.
To avoid these errors, complete the following procedure:
1. Log in as root.
2. Using a text editor, open the OpenSSH configuration file /etc/ssh/sshd_config.
3. Locate the comment line #LoginGraceTime 2m.
4. Uncomment the line, and change the value to 0 (unlimited).
For example:
LoginGraceTime 0
5. Save /etc/ssh/sshd_config.
6. Restart SSH.
Step 8: Configuring User Process Parameters
Verify that the maximum number of processes allowed for each user is set to 16384 or greater.
1. Enter the following command:
# smit chgsys
2. Verify that the value shown for Maximum number of PROCESSES allowed for each user is greater than or equal to 16384. If necessary, edit the existing value.
3. When you have finished making changes, press Enter, then Esc+0 (Exit) to exit.
For production systems, this value should be at least 128 plus the sum of the PROCESSES and PARALLEL_MAX_SERVERS initialization parameters for each database running on the system.
Step 9: Configuring Network Tuning Parameters
View the current value specified for network tuning parameters, and change them if necessary.
1. To check the current values of the network tuning parameters, enter commands similar to
the following:
# no -a | more
2. If you must change the value of any parameter, then enter the following command to determine whether the system is running in compatibility mode:
# lsattr -E -l sys0 -a pre520tune
If the system is running in compatibility mode, then the output is similar to the following, showing that the value of the pre520tune attribute is enabled:
pre520tune enable Pre-520 tuning compatibility mode True
3. If the system is running in compatibility mode, then follow these steps to change the parameter values:
a. Enter commands similar to the following to change the value of each parameter:
# no -o parameter_name=value
For example:
# no -o udp_recvspace=655360
b. Add entries similar to the following to the /etc/rc.net file for each parameter that you changed in the previous step:
if [ -f /usr/sbin/no ] ; then
/usr/sbin/no -o udp_sendspace=65536
/usr/sbin/no -o udp_recvspace=655360
/usr/sbin/no -o tcp_sendspace=65536
/usr/sbin/no -o tcp_recvspace=65536
/usr/sbin/no -o rfc1323=1
/usr/sbin/no -o sb_max=4194304
/usr/sbin/no -o ipqmaxlen=512
fi
By adding these lines to the /etc/rc.net file, the values persist when the system restarts.
c. You can also use the chdev command to change the characteristics of a device or interface. For example, set the RFC1323 value for the network
interface en5 without restarting the system as follows:
# chdev -l en5 -a rfc1323=1
4. If the system is not running in compatibility mode, then enter commands similar to the following to change the parameter values:
ipqmaxlen parameter:
# /usr/sbin/no -r -o ipqmaxlen=512
Other parameter:
/usr/sbin/no -p -o parameter=value
If you modify the ipqmaxlen parameter, then you must restart the system. These commands change the /etc/tunables/nextboot file, causing the attribute values to persist when the system restarts.
5. If you need to change parameters, and you do not restart your system, then use the ifconfig command to check each network parameter after you change the no global setting.
For example:
# ifconfig en0
en0:
flags=1e080863,2c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUP
RT,6
4BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN,MONITOR>
inet 192.0.2.1 netmask 0xfffff800 broadcast 192.0.2.0
inet 192.0.2.2 netmask 0xfffff800 broadcast 192.0.2.0
inet 192.0.2.3 netmask 0xfffff800 broadcast 192.0.2.0
inet 192.0.2.4 netmask 0xfffff800 broadcast 192.0.2.0
tcp_sendspace 131072 tcp_recvspace 65536 rfc1323 0
For the ISNO parameter tcp_sendspace, use the following command to set it:
# ifconfig en0 tcp_sendspace 65536
6. Running the rootpre.sh Script
Run the rootpre.sh script only the first time you install Oracle Database on IBM AIX on POWER Systems (64-Bit). Use the following procedure to run the rootpre.sh script:
1. Download the Oracle Database installation image files (db_home.zip) and extract
the files into a new Oracle home directory. For example:
# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
# chgrp oinstall /u01/app/oracle/product/19.0.0/dbhome_1
# cd /u01/app/oracle/product/19.0.0/dbhome_1
# unzip -q /tmp/db_home.zip
2. Switch the user to root:
# su - root
password:
#
3. Run the rootpre.sh script using the following command:
# $ORACLE_HOME/clone/rootpre.sh
4. Exit from the root account:
# exit
Step 10: Creating the Oracle Home and Oracle Base Directory
# mkdir -p /u01/app/19.0.0/grid - Grid home directory
# mkdir -p /u01/app/grid - Grid base directory
# mkdir -p /u01/app/oracle/19c/db_1 - Oracle home directory
# mkdir -p /u01/app/oracle - Oracle base directory
# chown -R grid:oinstall /u01
# chown oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/
Step 11: Creating Identical Database Users and Groups on Other Cluster Nodes
1. Log in to the node as root
Use the id option to specify the correct group ID for each group.
# mkgroup -A id=54421 oinstall
# mkgroup -A id=54322 dba
# mkgroup -A id=54323 oper
# mkgroup -A id=54327 asmdba
# mkgroup -A id=54328 asmoper
# mkgroup -A id=54329 asmadmin
# mkuser id='54321' pgrp='oinstall' groups='dba,oper,asmdba,asmoper' home='/home/oracle' oracle
# mkuser id='54322' pgrp='oinstall' groups='asmadmin, asmdba,dba' home='/home/grid' grid
• The pgrp option specifies the primary group for the Grid user, which must be the Oracle Inventory group (OINSTALL), which grants the OINSTALL system privileges.
In this example, the OINSTALL group is oinstall.
2. Set the password of the user.
For example:
# passwd grid
# passwd oracle
12: Host file configuration on both nodes
1. Log in to the node as root
# vi /etc/hosts
127.0.0.1 loopback localhost # loopback (lo0) name/address
::1 loopback localhost # IPv6 loopback (lo0) name/address
# Public IP
192.168.56.10 rac1 rac1.oracle.com
192.168.56.20 rac2 rac2.oracle.com
# Private IP
10.0.0.1 rac1-priv
10.0.0.2 rac2-priv
# Virtual IP
192.168.56.11 rac1-vip
192.168.56.21 rac2-vip
# Scan IP
192.168.56.51 rac-scan
192.168.56.52 rac-scan
192.168.56.53 rac-scan
Step 13: Disable firewall & Bash profile change for both node
1. Disable firewall
systemctl stop firewalld
systemctl disable firewalld
2. Bash profile entry for oracle user
su - oracle
mv .bash_profile .bash_profile_orig
# vi .bash_profile
export PATH=/usr/bin:/usr/sbin
export AIXTHREAD_SCOPE=S
ORACLE_HOSTNAME=rac1.oracle.com; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app/oracle/19c/db_1; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/19c/db_1; export ORACLE_HOME
ORACLE_SID=RACDB1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:/usr/java7_64/jre/bin:.
PATH=$ORACLE_HOME/bin:$PATH; export PATH
if [ -f /usr/bin/less ]; then
export PAGER="/usr/bin/less -ins"
elif [ -f /usr/bin/more ]; then
export PAGER="/usr/bin/more -s"
fi
#/usr/bin/bash
PS1="\u@\h$ "
export PS1
/usr/bin/bash
if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG" # operation, the Shell checks
fi # periodically.
3. Bash profile entry for grid user
su - grid
mv .bash_profile .bash_profile_orig
# vi .bash_profile
export PATH=/usr/bin:/usr/sbin
export ORACLE_HOSTNAME=rac1.oracle.com
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19c/grid
export ORACLE_SID=+ASM1
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH=$ORACLE_HOME/bin:/u01/app/19c/grid/OPatch/:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
TEMP=/tmp
TMPDIR=/tmp
export TEMP TMPDIR
#/usr/bin/bash
PS1="\u@\h$ "
export PS1
/usr/bin/bash
Step 14: Installing Oracle Grid Infrastructure for a New Cluster
Note: following activities have to perform only one node of the cluster
1. As the grid user, download the Oracle Grid Infrastructure image files and extract the files into the Grid home. For example:
chown grid:oinstall /u01/app/19c/grid
cd /u01/app/19c/grid
unzip -q download_location/grid.zip
Note: grid.zip is the name of the Oracle Grid Infrastructure image zip file
2. Create passwordless ssh connectivity between nodes using the following command
# cd /u01/app/19c/grid/deinstall
# ./sshUserSetup.sh -user grid -hosts "hostname1 hostname2" -noPromptPassphrase -confir m -advanced
3. Pre-Check for CRS(Oracle Clusterware) installation run the following command
# ./runcluvfy.sh stage -pre crsinst -n dc-dg1,dc-dg2 -fixup -verbose
# ./runcluvfy.sh stage -pre crsinst -n dc-dg1,dc-dg2 -method root
4. Log in as the grid user, and start the Oracle Grid Infrastructure installer by running the
following command:
# /u01/app/19c/grid
# ./gridSetup.sh
@ Install Grid Software with latest RU patch
# Opatch version upgrade as per RU patch requirment
# Unzip the patch file (Ex. unzip patch location is /backup/patch/33509923/)
# ./gridSetup.sh -applyRU /backup/patch/33509923/
Post a Comment
0 Comments