To be exact, oracle 10g release 2 on AIX 6.1 TL4
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:
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.
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
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.
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:
There is also a root.sh post installation script:
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.
No comments:
Post a Comment