Tanti Technology

My photo
Bangalore, karnataka, India
Multi-platform UNIX systems consultant and administrator in mutualized and virtualized environments I have 4.5+ years experience in AIX system Administration field. This site will be helpful for system administrator in their day to day activities.Your comments on posts are welcome.This blog is all about IBM AIX Unix flavour. This blog will be used by System admins who will be using AIX in their work life. It can also be used for those newbies who want to get certifications in AIX Administration. This blog will be updated frequently to help the system admins and other new learners. DISCLAIMER: Please note that blog owner takes no responsibility of any kind for any type of data loss or damage by trying any of the command/method mentioned in this blog. You may use the commands/method/scripts on your own responsibility. If you find something useful, a comment would be appreciated to let other viewers also know that the solution/method work(ed) for you.

Sunday, 2 March 2014

Oracle Database Install AIX


Pre Installation Tasks

Oracle database has several requirements. Please note that this article is purely for my environment because we don't use an out-of-the-box installation but AIX SOE. I can skip these steps because they are all taken care of in the SOE, or because the blades are specifically bought for this purpose and meet requirements by far:
  • X Window System requirements
  • Hardware requirements
  • Operating System level
  • Operating System filesets
  • Network setup
  • Check for unprivileged user nobody

Creating Users and Groups

Oracle Inventory Group (oinstall)

You must create this group the first time you install Oracle software on the system. The usual name chosen for this group is oinstall. This group owns the Oracle inventory, which is a catalog of all Oracle software installed on the system.
sudo mkgroup oinstall

Creating the OSDBA Group (dba)

You must create this group the first time you install Oracle Database software on the system. It identifies operating system user accounts that have database administrative privileges (the SYSDBA privilege).
sudo mkgroup dba

Creating the OSOPER group (oper)

This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of database administrative privileges (the SYSOPER privilege).
sudo mkgroup oper

Creating the Oracle Software Owner User (oracle)

Note: most security auditors will not let you have an user called oracle, so keep that in mind.
You must create this user the first time you install Oracle software on the system. This user owns all of the software installed during the installation. This user must have the Oracle Inventory group as its primary group. It must also have the OSDBA group as secondary groups. 
sudo mkuser pgrp="oinstall" groups="oinstall,dba,oper" shell='/bin/bash' rlogin='false' sugroups='ALL' su='true' loginretries='10' maxage='0' maxrepeats='8' minlen='5' minother='1' maxexpired='-1' minalpha='3' minage='0' histsize='0' histexpire='0' fsize='-1' cpu='-1' data='-1' stack='-1' "oracle"

And set the password:
>sudo passwd oracle

Changing password for "oracle"
oracle's New password:
Re-enter oracle's new password:

>sudo pwdadm -c oracle

System Environmentals

You need to set the maximum number of processes users are allowed to run:
sudo chdev -l sys0 -a maxuproc='2048' 

Oracle Directories

/opt>sudo mkdir oracle
/opt>sudo chown oracle:oinstall oracle
Gives:
drwxr-xr-x   2 oracle   oinstall        256 Mar 19 11:22 oracle

Installation

One note: I am not allowed to log in on the server using a local account (due to the security policy) so I first need to login using my personal account, su to the oracle user and then run the installation. But because I'm su-ing, I cannot use the X Server authentication for my account, why not, and how to solve this is explained in this section.
When you've downloaded the software you have to unpack the software before you can install it:
Unzip:
oracle@oracledbbox:/tmp/sft>gunzip 10gr2_aix5l64_database.cpio.gz
Extract:
oracle@oracledbbox:/tmp/sft>cpio -idcmv < 10gr2_aix5l64_database.cpio
When you run the rootpre script and you run into the error below it's because you did not acquire patch 6613550:
Configuring Asynchronous I/O....
Asynchronous I/O is not installed on this system.
You will need to install it, and either configure it yourself using
'smit aio' or rerun the Oracle root installation procedure.

Configuring POSIX Asynchronous I/O....
Posix Asynchronous I/O is not installed on this system.
You will need to install it, and either configure it yourself using
'smit aio' or rerun the Oracle root installation procedure.
The solution is to run a modified rootpre script as supplied in patch 6613550 (see links above):
root@oracledbbox:/tmp/sft>./rootpre.sh
./rootpre.sh output will be logged in /tmp/rootpre.out_10-04-20.10:58:08
Saving the original files in /etc/ora_save_10-04-20.10:58:08....
Copying new kernel extension to /etc....
./rootpre.sh[295]: test: argument expected
Loading the kernel extension from /etc

 Oracle Kernel Extension Loader for AIX
       Copyright (c) 1998,1999 Oracle Corporation


 Kernel Extension /etc/pw-syscall.64bit_kernel already loaded, unloading it
 Unconfigured the kernel extension successfully
 Unloaded the kernel extension successfully
 Successfully loaded /etc/pw-syscall.64bit_kernel with kmid: 0x50b84000
 Successfully configured /etc/pw-syscall.64bit_kernel with kmid: 0x50b84000
The kernel extension was successfuly loaded.
./rootpre.sh[360]: test: argument expected

Checking if group services should be configured....
Nothing to configure.

Set (or check) the LANG parameter for the system:
oracle@oracledbbox:/tmp/sft/Disk1>echo $LANG
C

Now it's time to install the oracle database software. Again, you need to be able to redirect X to your local machine. See here for more information.
oracle@oracledbbox:/tmp/sft/Disk1>./runInstaller -ignoreSysPrereqs
**************************************************************************
******

Your platform requires the root user to perform certain pre-installation
OS preparation.  The root user should run the shell script 'rootpre.sh' be
fore
you proceed with Oracle installation.  rootpre.sh can be found at the top
level
of the CD or the stage area.

Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle
installation.
Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.

**************************************************************************
******

Has 'rootpre.sh' been run by root? [y/n] (n)
y

Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.

>>> Ignoring required pre-requisite failures. Continuing...

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-04-20_11-12-23AM. Please wait ...oracle@oracledbbox:/tmp/sft/Disk1>Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.
oradbinstall01.jpg
oradbinstall02.jpg
Now you have to enter the oracle home data, the following list shows the Oracle homes maintained on AIX:
  • All Oracle homes that are already created using OUI
  • All homes as defined in the /etc/oratab or /var/opt/oracle/oratab file, depending on your operating system
  • The path specified by the ORACLE_HOME environment variable
oradbinstall03.jpg
oradbinstall04.jpg
oradbinstall05.jpg
oradbinstall06.jpg
oradbinstall07.jpg 
root@oracledbbox:/opt/oracle/oraInventory>./orainstRoot.sh
Changing permissions of /opt/oracle/oraInventory to 775.
Changing groupname of /opt/oracle/oraInventory to oinstall.
The execution of the script is complete
root@oracledbbox:/opt/oracle/product/10.2>./root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/oracle/product/10.2

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Creating /usr/local/bin directory...
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
oradbinstall08.jpg 

Post Installation

Patchset 10.2.0.4

Pre installation task as root:
root@oracledbbox:/tmp/sft>slibclean
Installation as oracle user:
oracle@oracledbbox:/tmp/sft/p6810189_10204_AIX5L/Disk1>./runInstaller -ignoreSysPrereqs
********************************************************************************

Your platform requires the root user to perform certain pre-installation
OS preparation.  The root user should execute '/usr/sbin/slibclean' on all the nodes before
you proceed with Patchset Installation.

Answer 'y' if root has run '/usr/sbin/slibclean' so you can proceed with Oracle
Patchset installation.
Answer 'n' to abort installation and then ask root to run '/usr/sbin/slibclean'.

********************************************************************************
Has '/usr/sbin/slibclean' been run by root? [y/n] (n)
y

Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be 5200, 5300 or 6100
                                      Passed


All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-04-20_01-19-47PM. Please wait ...oracle@oracledbbox:/tmp/sft/p6810189_10204_AIX5L/Disk1>Oracle Universal Installer, Version 10.2.0.4.0 Production
Copyright (C) 1999, 2008, Oracle. All rights reserved.
The installation is about the same as the original installation. This is the Oracle home screen, in which you should select the oracle home you created with the original installation:
oradbinstall09.jpg
There is also a root.sh post installation script:
root@oracledbbox:/home/root>/opt/oracle/product/10.2/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/oracle/product/10.2

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n) [n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) [n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) [n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Errors Patchset

During the installation I also got this error:
Oracle Universal Installer has detected that
there are processes running in the
currently selected Oracle Home. The
following processes need to be shutdown
before continuing:
java
There are some unpublished bug reports about is, I can't find the original bug reports:
11.1.0.7 OUI FAILS TO DETECT RUNNING PROCESSES CORRECTLY ON AIX 6.1 ML 4 SP1
APPLYING 10.1.2.3 PATCHSET FAILS WITH “THE FOLLOWING PROCESSES NEED TO SHUTDOWN BEFORE CONTINUING: JAVA”
The solution is, as root user, before the installation is started:
cd /usr/sbin/
mv fuser fuser.orig
touch /usr/sbin/fuser
chmod +x /usr/sbin/fuser
Undo the change after the installation is done.

Oracle Profile

Create or edit the oracle .profile file:
# Set the path
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:/opt/oracle/product/10.2/bin:.

# Set oracle environment
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/10.2
CLASSPATH=${ORACLE_BASE}/product/10.2/jdk/jre:${ORACLE_BASE}/product/10.2/jlib:${ORACLE_BASE}/product/10.2/rdbms/jlib:${ORACLE_BAS
E}/product/10.2/network/jlib:${ORACLE_BASE}/product/10.2/jdk/jre/bin
LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${ORACLE_HOME}/lib:${ORACLE_HOME}/ctx/lib
ORACLE_OWNER=oracle
ORA_NLS33=${ORACLE_HOME}/ocommon/nls/admin/data
TNS_ADMIN=${ORACLE_HOME}/network/admin
ORACLE_SID=

# Set the prompt to username@hostname:/current/directory
HOST=$(hostname -s)
PS1='$USER@$HOST:$PWD>'

# Set environment for Korn Shell
ENV=$HOME/.kshrc

export PATH ORACLE_BASE ORACLE_HOME CLASSPATH LD_LIBRARY_PATH ORACLE_OWNER ORA_NLS33 TNS_ADMIN ORACLE_SID HOST PS1 ENV

if [ -s "$MAIL" ]           # This is at Shell startup.  In normal
then echo "$MAILMSG"        # operation, the Shell checks
fi                          # periodically.
Note that the ORACLE_SID has to be set after the database/instance has been created.

Oracle Client Installation AIX


Pre Installation Tasks

Oracle client has several requirements. Please note that this article is purely for my environment because we don't use an out-of-the-box installation but AIX SOE. I can skip these steps because they are all taken care of in the SOE, or because the blades are specifically bought for this purpose and meet requirements by far:
  • X Window System requirements
  • Hardware requirements
  • Operating System level
  • Operating System filesets
  • Network setup
  • Check for unprivileged user nobody

Creating Users and Groups

Oracle Inventory Group (oinstall)

You must create this group the first time you install Oracle software on the system. The usual name chosen for this group is oinstall. This group owns the Oracle inventory, which is a catalog of all Oracle software installed on the system.
sudo mkgroup oinstall

Creating the OSDBA Group (dba)

You must create this group the first time you install Oracle Database software on the system. It identifies operating system user accounts that have database administrative privileges (the SYSDBA privilege).
sudo mkgroup dba

Creating the OSOPER group (oper)

This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of database administrative privileges (the SYSOPER privilege).
sudo mkgroup oper

Creating the Oracle Software Owner User (oracle)

Note: most security auditors will not let you use a user called oracle, so keep that in mind.
You must create this user the first time you install Oracle software on the system. This user owns all of the software installed during the installation. This user must have the Oracle Inventory group as its primary group. It must also have the OSDBA group as secondary groups. 
sudo mkuser pgrp="oinstall" groups="oinstall,dba,oper" shell='/bin/bash' rlogin='false' sugroups='ALL' su='true' loginretries='10' maxage='0' maxrepeats='8' minlen='5' minother='1' maxexpired='-1' minalpha='3' minage='0' histsize='0' histexpire='0' "oracle"
Set this for the user:
  Soft FILE size                                     [-1]
  Soft CPU time                                      [-1]
  Soft DATA segment                                  [-1]
  Soft STACK size                                    [-1]
And set the password:
>sudo passwd oracle

Changing password for "oracle"
oracle's New password:
Re-enter oracle's new password:

>sudo pwdadm -c oracle

System Environmentals

You need to set the maximum number of processes users are allowed to run:
sudo chdev -l sys0 -a maxuproc='2048' 

Oracle Directories

/opt>sudo mkdir oracle
/opt>sudo chown oracle:oinstall oracle
Gives:
drwxr-xr-x   2 oracle   oinstall        256 Mar 19 11:22 oracle

Installation

One note: I am not allowed to log in on the server using a local account (due to the security policy) so I first need to login using my personal account, su to the oracle user and then run the installation. But because I'm su-ing, I cannot use the X Server authentication for my account, why not, and how to solve this is explained in this section.
After you know you have your X Server working you can start the installation as the oracle user you just created:
oracle@oracleserver:/home/oracle>cd /tmp/sft/Disk1/
oracle@oracleserver:/tmp/sft/Disk1>./runInstaller
**************************************************************************
******

Your platform requires the root user to perform certain pre-installation
OS preparation.  The root user should run the shell script 'rootpre.sh' be
fore
you proceed with Oracle installation.  rootpre.sh can be found at the top
level
of the CD or the stage area.

Answer 'y' if root has run 'rootpre.sh' so you can proceed with Oracle
installation.
Answer 'n' to abort installation and then ask root to run 'rootpre.sh'.

**************************************************************************
******

Has 'rootpre.sh' been run by root? [y/n] (n)
y

Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2010-03-19_12-10-24PM. Please wait ...oracle@oracleserver:/tmp/sft/Disk1>Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.
Here starts the graphical installation:

In the first screen I entered the oracle inventory directory as /home/oracle/oraInventory. You could also decide to set this directory next to the client, so in my case in /opt/oracle/oraInventory.
oraclientinstall01.jpg
oraclientinstall02.jpg
oraclientinstall03.jpg
oraclientinstall04.jpg
oraclientinstall05.jpg
oraclientinstall06.jpg
oraclientinstall07.jpg
When you get to this screen you have to run the showed scripts as root, although the first script can be executed by someone who is allowed to sudo:
oracle@oraleserver:/home/oracle/oraInventory>sudo ./orainstRoot.sh
Changing permissions of /home/oracle/oraInventory to 775.
Changing groupname of /home/oracle/oraInventory to oinstall.
The execution of the script is complete

For the second script you have to be root:
su - root
root's Password:
# bash
bash-3.2# cd /opt/oracle/client/
bash-3.2# ./root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/oracle/client

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

Now, all that is left is to close the installation:
oraclientinstall08.jpg 

Fix: NFS Server Not Responding Still Trying


When installing an AIX server through NIM mksysb I received several of these errors:
NFS server nfsstore.company.local not responding still trying
The image restore however went successful, and worked alright. These messages are because of a high latency on the line, which was in this case, a 20 Mbit WAN line. This line was also used for backup transfers and the messages showed up every time the backup transfer started. We decided to stop the backup transfers since the installation was more important. After this the messages did not occur anymore.

AIX Software


AIX Install Additional Software

bash-3.2# cd 5.3/CD-1/installp/ppc/
bash-3.2# smitty install
                                                    Install Software

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* INPUT device / directory for software               .
* SOFTWARE to install                                [+ 5.3.0.0  Base Application Development Math Library         > +
  PREVIEW only? (install operation will NOT occur)    yes                                                            +
  COMMIT software updates?                            yes                                                            +
  SAVE replaced files?                                no                                                             +
  AUTOMATICALLY install requisite software?           yes                                                            +
  EXTEND file systems if space needed?                yes                                                            +
  OVERWRITE same or newer versions?                   no                                                             +
  VERIFY install and check file sizes?                no                                                             +
  Include corresponding LANGUAGE filesets?            yes                                                            +
  DETAILED output?                                    no                                                             +
  Process multiple volumes?                           yes                                                            +
  ACCEPT new license agreements?                      yes                                                            +
  PREVIEW new LICENSE agreements?                     no                                                             +

















F1=Help                       F2+------------------------------------------------------+  F4=List
F5=Reset                      F6¦ Running command...                                   ¦  F8=Image
F9=Shell                      F1+------------------------------------------------------+
                                                     COMMAND STATUS

Command: running       stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

[MORE...26]
  << End of Success Section >>

+-----------------------------------------------------------------------------+
                   BUILDDATE Verification ...
+-----------------------------------------------------------------------------+
Verifying build dates...done
FILESET STATISTICS
------------------
    1  Selected to be installed, of which:
        1  Passed pre-installation verification
  ----
    1  Total to be installed

RESOURCES
---------
  Estimated system resource requirements for filesets being installed:
                (All sizes are in 512-byte blocks)
      Filesystem                     Needed Space             Free Space
      /usr                                 6328                5688528
      -----                            --------                 ------
      TOTAL:                               6328                5688528

  NOTE:  "Needed Space" values are calculated from data available prior
  to installation.  These are the estimated resources required for the
  entire operation.  Further resource checks will be made during
  installation to verify that these initial estimates are sufficient.

******************************************************************************
End of installp PREVIEW.  No apply operation has actually occurred.
******************************************************************************

[BOTTOM]
                                                    Install Software

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
* INPUT device / directory for software               .
* SOFTWARE to install                                [+ 5.3.0.0  Base Application Development Math Library         > +
  PREVIEW only? (install operation will NOT occur)    no                                                             +
  COMMIT software updates?                            yes                                                            +
  SAVE replaced files?                                no                                                             +
  AUTOMATICALLY install requisite software?           yes                                                            +
  EXTEND file systems if space needed?                yes                                                            +
  OVERWRITE same or newer versions?                   no                                                             +
  VERIFY install and check file sizes?                no                                                             +
  Include corresponding LANGUAGE filesets?            yes                                                            +
  DETAILED output?                                    no                                                             +
  Process multiple volumes?                           yes                                                            +
  ACCEPT new license agreements?                      yes                                                            +
  PREVIEW new LICENSE agreements?                     no                                                             +

















F1=Help                       F2+------------------------------------------------------+  F4=List
F5=Reset                      F6¦ Running command...                                   ¦  F8=Image
F9=Shell                      F1+------------------------------------------------------+
                                                     COMMAND STATUS

Command: running       stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

[MORE...38]

installp: APPLYING software for:
        bos.adt.libm 5.3.0.0


. . . . . << Copyright notice for bos.adt >> . . . . . . .
 Licensed Materials - Property of IBM

 5765G0300
   (C) Copyright International Business Machines Corp. 1987, 2004.
   (C) Copyright AT&T 1984, 1985, 1986, 1987, 1988, 1989.
   (C) Copyright Regents of the University of California 1982, 1983, 1986, 1987.
   (C) Copyright ISQUARE, Inc. 1990.

 All rights reserved.
 US Government Users Restricted Rights - Use, duplication or disclosure
 restricted by GSA ADP Schedule Contract with IBM Corp.
. . . . . << End of copyright notice for bos.adt >>. . . .

Finished processing all filesets.  (Total time:  2 secs).

+-----------------------------------------------------------------------------+
                                Summaries:
+-----------------------------------------------------------------------------+

Installation Summary
--------------------
Name                        Level           Part        Event       Result
-------------------------------------------------------------------------------
bos.adt.libm                5.3.0.0         USR         APPLY       SUCCESS

[BOTTOM]
                                                     COMMAND STATUS

Command: OK            stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

[TOP]
geninstall -I "a -cgNQqwXY -J"  -Z   -d . -f File 2>&1

File:
    I:bos.adt.libm                 5.3.0.0


+-----------------------------------------------------------------------------+
                    Pre-installation Verification...
+-----------------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...

SUCCESSES
---------
  Filesets listed in this section passed pre-installation verification
  and will be installed.

  Selected Filesets
  -----------------
  bos.adt.libm 5.3.0.0                        # Base Application Development...

  << End of Success Section >>

+-----------------------------------------------------------------------------+
                   BUILDDATE Verification ...
+-----------------------------------------------------------------------------+
Verifying build dates...done
[MORE...41]

F1=Help                       F2=Refresh                    F3=Cancel                     F6=Command
F8=Image                      F9=Shell                      F10=Exit                      /=Find
n=Find Next

Check installed software

# lslpp -l | grep smit
  X11.apps.msmit            5.3.0.60  COMMITTED  AIXwindows msmit Application
  bos.cifs_fs.smit          5.3.0.60  COMMITTED  SMIT Interface for SMBFS
  bos.help.msg.en_US.smit   5.3.0.30  COMMITTED  SMIT Context Helps - U.S.
  bos.net.tcp.smit          5.3.0.60  COMMITTED  TCP/IP SMIT Support
  bos.sysmgt.smit           5.3.0.60  COMMITTED  System Management Interface
  bos.cifs_fs.smit           5.3.0.0  COMMITTED  SMIT Interface for SMBFS
#

Remove conflicting packages

Sometimes it happens that after a update from a Technology Level or a Fix Pack the oslevel doesn't change. After I updated to TL11FP1 I had the following oslevel:
bash-3.00# oslevel -s
5300-10-01-0921
This is most of the times caused because one or more filesets is not updated (for whatever reason):
bash-3.00# instfix -i | grep ML
    All filesets for 5300-02_AIX_ML were found.
    All filesets for 5.3.0.0_AIX_ML were found.
    All filesets for 5300-01_AIX_ML were found.
    All filesets for 5300-03_AIX_ML were found.
    All filesets for 5300-04_AIX_ML were found.
    All filesets for 5300-05_AIX_ML were found.
    All filesets for 5300-06_AIX_ML were found.
    All filesets for 5300-07_AIX_ML were found.
    Not all filesets for 5300-08_AIX_ML were found.
    All filesets for 5300-09_AIX_ML were found.
    All filesets for 5300-10_AIX_ML were found.
    Not all filesets for 5300-11_AIX_ML were found.

bash-3.00# instfix -ciqv | grep 5300-08_AIX_ML | grep :-:
5300-08_AIX_ML:ifor_ls.html.en_US.base.cli:5.3.8.0:5.3.7.0:-:AIX 5300-08 Update

bash-3.00# instfix -ciqv | grep 5300-11_AIX_ML | grep :-:
5300-11_AIX_ML:ifor_ls.html.en_US.base.cli:5.3.8.0:5.3.7.0:-:AIX 5300-11 Update
As you can see it's the package 'ifor_ls.html.en_US.base.cli' that is causing the problem.

Sometimes you can simply remove the package using this command:
/usr/lib/instl/sm_inst installp_cmd -u -f'ifor_ls.html.en_US.base.cli'
In this case I received the error that another fileset is dependent on this one, so this time removal was not an option:
......

FAILURES
--------
  Filesets listed in this section failed pre-deinstall verification
  and will not be removed.

  Dependency Failures
  (Deinstall Operation)
  ---------------------
  SELECTED FILESETS:  The following is a list of filesets that you asked to
  remove.  They cannot be removed until all of their dependent filesets
  are also removed.  See subsequent lists for details of dependents.

    ifor_ls.html.en_US.base.cli 5.3.7.0       # LUM HTML Guides - U.S. English

  INSTALLED DEPENDENTS:  The following filesets are dependents of one or more
  of the selected filesets listed above.  These must be removed before
  or with the filesets that you selected.  To remove these dependents with
  the selected filesets, specify the option to automatically remove dependent
  software (-g flag).
  WARNING:  The fileset updates listed below have created dependencies from
  their filesets to one or more of the filesets that you are trying to
  remove.  If you choose to automatically remove dependent software, the
  entire dependent fileset will be removed (not just the update).  You
  may be able to reject the update to remove the dependency.

    ifor_ls.base.cli 5.3.8.0                  # License Use Management Runti...

  << End of Failure Section >>
......

The story continues… (when I have time)

Install RSYNC

When you install the rsync provided with the Linux Toolbox CD you'll get this error:
sjoerd@aixbox:/tmp/sft>sudo rpm -vi rsync-2.6.2-1.aix5.1.ppc.rpm 
error: failed dependencies:
        libpopt.a(libpopt.so.0) is needed by rsync-2.6.2-1
This dependency is solved by installing the popt package provided on the cd as well:
sjoerd@aixbox:/tmp/sft>sudo rpm -vi popt-1.7-2.aix5.1.ppc.rpm
popt-1.7-2
sjoerd@aixbox:/tmp/sft>sudo rpm -vi rsync-2.6.2-1.aix5.1.ppc.rpm 
rsync-2.6.2-1

What file is with what fileset

If you have a file and you wanna know what fileset it belongs to enter this command:
sjoerd@aixbox:/usr/bin>lslpp -w /usr/bin/dbx
  File                                        Fileset               Type
  ----------------------------------------------------------------------------
  /usr/bin/dbx                                bos.adt.debug         Symlink

AIX NIM Network


To use NIM with a client behind a firewall we need to know which ports and protocols should be allowed to access through the firewall. The documentation of IBM gives us an overview of the ports and protocols:
nimnetwork01.jpg
In addition to these protocols there are a few more things that you should do:

DNS

The ability to make DNS lookups are required for both registering the client as for doing the NFS mount. Please note that the client should have both A as PTR records listed in the DNS server.

ICMP

As described in AIX NIM Client Installation you can test basic network connectivity by sending pings in the SMS menu. Since ICMP works on layer 3 you know that any problem you encounter is not in the first 3 layers.

Implementation

In case the firewall rules are implemented as a cisco access list based firewall I created a special page on how to set things up (based on vlans etc.): Cisco VLAN Access Lists

Additional Resources

AIX NIM Disaster Recovery


These are the required steps to use NIM in your disaster recovery procedure.

Create Mksysb Image

  • Check network and DNS requirements for your host / network
  • Check storage NIM server
    • The NIM server needs at least the amount of space of the rootvg of the host
  • Create nim client
  • Create the image

Restore Mksysb Image

Test Restore Mksysb Image

These are the steps for a test, so you create an entire new client for testing purposes. In this case we restore to a LPAR in an IVM. Before starting, determine a host name and IP address what can be used.

AIX NIM Client Move


I was in the situation that I created a new NIM environment to replace the old NIM environment. I didn't want to follow IBM's documentation on how to move NIM clients from one master to the other so I created my own procedure. Steps are pretty simple:
  1. Remove the NIM client from the old master
  2. Add the client to new master
  3. Check the niminfo file

Remove the NIM client

The procedure on how to remove a NIM client from a master can be found here

Add the NIM client

The procedure on how to add a NIM client can also be found here

Check the niminfo file

On creation of a client a new /etc/niminfo file should be created. In case this file is wrong, corrupted, not replaced or simply missing you can simply remove it recreate it using the “smitty niminit” command (on the client) and filling in the required values:
aixniminit.jpg
You can now start your operations like updating a client.