Thursday, January 03, 2008

On The Peoplesoft Road : Oracle 10.2.0.3 install

Last step before going on the Peoplesoft installation itself, the Oracle installation.
The last Oracle database version certified for Peoplesoft is the 10gR2 patchset 2 (10.2.0.3). Don't forget the required patches for Peoplesoft.

As root, create the groups and the Oracle user :
[root@orion ~]# groupadd dba
[root@orion ~]# groupadd oinstall
[root@orion:/root] ()$ useradd -g oinstall -G dba ora102
[root@orion:/root] ()$ passwd ora102
Changing password for user ora102.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Update the .bash_profile for the new user :
[ora102@orion:/home/ora102] ()$ more .bash_profile
ORACLE_BASE=/apps/oracle
ORACLE_HOME=$ORACLE_BASE/10.2.0
ORACLE_SID=DEMO102
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
LD_ASSUME_KERNEL=2.4.1
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH LD_ASSUME_KERNEL 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

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

As root update the file /etc/sysctl.conf
[root@orion:/root] ()$ more /etc/sysctl.conf
# Kernel sysctl configuration file for Enterprise Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

kernel.sem = 250 32000 100 128
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.msgmnb = 65536
kernel.msgmni = 2878
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

[root@orion:/root] ()$

If you don't want to reboot your server, run sysctl -p command.

Update the followings files as well :
[root@orion:/root] ()$ more /etc/pam.d/login
#%PAM-1.0
auth required pam_securetty.so
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_stack.so service=system-auth
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should be the last session rule
session required pam_selinux.so open

session required /lib/security/pam_limits.so
[root@orion:/root] ()$
[root@orion:/root] ()$ more /etc/security/limits.conf
# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#
#
#Where:
# can be:
# - an user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#
# can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#
# can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
#
#
#

#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
* - nproc 16384
* - nofile 16384
oracle soft nproc 2047
ora102 soft nproc 2047
oracle hard nproc 16384
ora102 hard nproc 16384
oracle soft nofile 1024
ora102 soft nofile 1024
oracle hard nofile 65536
ora102 hard nofile 65536
# End of file
[root@orion:/root] ()$

Insert the CD3 of the OEL4.6 disks install, and install additional packages :
[root@orion /]# cd /media/cdrom/
[root@orion cdrom]# ls
Enterprise EULA GPL RPM-GPG-KEY TRANS.TBL
[root@orion cdrom]# cd Enterprise/RPMS/
[root@orion RPMS]# rpm -Uvh compat-gcc-32-3.2.3-47.3.i386.rpm
warning: compat-gcc-32-3.2.3-47.3.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:compat-gcc-32 ########################################### [100%]
[root@orion RPMS]# rpm -Uvh compat-gcc-32-c++-3.2.3-47.3.i386.rpm
warning: compat-gcc-32-c++-3.2.3-47.3.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:compat-gcc-32-c++ ########################################### [100%]
[root@orion RPMS]# rpm -Uvh compat-libcom_err-1.0-5.i386.rpm
warning: compat-libcom_err-1.0-5.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:compat-libcom_err ########################################### [100%]
[root@orion RPMS]# rpm -Uvh compat-libgcc-296-2.96-132.7.2.i386.rpm
warning: compat-libgcc-296-2.96-132.7.2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:compat-libgcc-296 ########################################### [100%]
[root@orion RPMS]# rpm -Uvh compat-libstdc++-296-2.96-132.7.2.i386.rpm
warning: compat-libstdc++-296-2.96-132.7.2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:compat-libstdc++-296 ########################################### [100%]
[root@orion RPMS]# rpm -Uvh compat-libgcc-296-2.96-132.7.2.i386.rpm
warning: compat-libgcc-296-2.96-132.7.2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
package compat-libgcc-296-2.96-132.7.2 is already installed
[root@orion RPMS]# rpm -Uvh compat-glibc-headers-2.3.2-95.30.i386.rpm
warning: compat-glibc-headers-2.3.2-95.30.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:compat-glibc-headers ########################################### [100%]
[root@orion:/media/cdrom/Enterprise/RPMS] ()$ rpm -Uvh libaio-0.3.105-2.i386.rpm
warning: libaio-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:libaio ########################################### [100%]
[root@orion:/media/cdrom/Enterprise/RPMS] ()$

[root@orion:/root] ()$

Then in a XClient, as Oracle user, my ora102, run the Installer.
[ora102@orion:/home/ora102] (DEMO102)$ cd /nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_1_0/
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_1_0] (DEMO102)$ cd database/
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_1_0/database] (DEMO102)$ ./runInstaller
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Passed


All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-12-28_09-48-06PM. Please wait ...
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_1_0/database] (DEMO102)$
Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.



During the installation, run the root.sh as root user.

Then upgrade to the 10.2.0.3 patchset level :
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2] (DEMO102)$ ls
Oracle_10_2_0_1_0 Oracle_10_2_0_3_0_upgrade Required_patches_PS
c[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2] (DEMO102)$ cd Oracle_10_2_0_3_0_upgrade/
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_3_0_upgrade] (DEMO102)$ ls
Disk1 p5337014_10203_LINUX.zip README.html
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_3_0_upgrade] (DEMO102)$ cd Disk1/
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_3_0_upgrade/Disk1] (DEMO102)$ ls
10203_buglist.htm install patch_note.htm response runInstaller stage
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Oracle_10_2_0_3_0_upgrade/Disk1] (DEMO102)$ ./RunInstaller
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, SuSE-10, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Passed


All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-12-28_10-10-43PM. Please wait ...



During the patchset installation, run the root.sh as root user.

Install the OPatch utility (4898608).
Go in the $ORACLE_HOME and unzip the downloaded patch
[ora102@orion:/apps/oracle/10.2.0] (DEMO102)$ unzip /nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/p4898608_10201_GENERIC_Opatch.zip
Archive: /nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/p4898608_10201_GENERIC_Opatch.zip
replace OPatch/docs/FAQ? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: OPatch/docs/FAQ
inflating: OPatch/docs/Users_Guide.txt
inflating: OPatch/docs/Prereq_Users_Guide.txt
inflating: OPatch/jlib/opatch.jar
inflating: OPatch/jlib/opatchutil.jar
inflating: OPatch/jlib/opatchprereq.jar
inflating: OPatch/opatchprereqs/opatch/opatch_prereq.xml
inflating: OPatch/opatchprereqs/opatch/rulemap.xml
inflating: OPatch/opatchprereqs/opatch/runtime_prereq.xml
inflating: OPatch/opatchprereqs/oui/knowledgesrc.xml
inflating: OPatch/opatchprereqs/prerequisite.properties
inflating: OPatch/opatch
inflating: OPatch/opatch.bat
inflating: OPatch/opatch.pl
inflating: OPatch/opatch.ini
inflating: OPatch/emdpatch.pl
inflating: OPatch/README.txt
[ora102@orion:/apps/oracle/10.2.0] (DEMO102)$

Then you have to install the three required patches recommanded by Peoplesoft.
p5128368_10203_LINUX.zip
p5574966_10203_LINUX.zip
p5683652_10203_LINUX.zip

[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/5574966] (DEMO102)$ $ORACLE_HOME/OPatch/opatch apply
Invoking OPatch 10.2.0.1.5

Oracle interim Patch Installer version 10.2.0.1.5
Copyright (c) 2007, Oracle Corporation. All rights reserved..


Oracle Home : /apps/oracle/10.2.0
Central Inventory : /apps/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.1.5
OUI version : 10.2.0.3.0
OUI location : /apps/oracle/10.2.0/oui
Log file location : /apps/oracle/10.2.0/cfgtoollogs/opatch/opatch2007-12-28_22-36-03PM.log

ApplySession applying interim patch '5574966' to OH '/apps/oracle/10.2.0'
Invoking fuser to check for active processes.
Invoking fuser on "/apps/oracle/10.2.0/bin/oracle"

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.


Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/apps/oracle/10.2.0')

Is the local system ready for patching?

Do you want to proceed? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '5574966' for restore. This might take a while...
Backing up files affected by the patch '5574966' for rollback. This might take a while...

Patching component oracle.rdbms, 10.2.0.3.0...
Updating archive file "/apps/oracle/10.2.0/lib/libserver10.a" with "lib/libserver10.a/kkqjpd.o"
Updating archive file "/apps/oracle/10.2.0/lib/libserver10.a" with "lib/libserver10.a/vop.o"
Running make for target ioracle
ApplySession adding interim patch '5574966' to inventory

Verifying the update...
Inventory check OK: Patch ID 5574966 is registered in Oracle Home inventory with proper meta-data.
Files check OK: Files from Patch ID 5574966 are present in Oracle Home.

The local system has been patched and can be restarted.


OPatch succeeded.
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/5574966] (DEMO102)$ cd ../5128368
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/5128368] (DEMO102)$ $ORACLE_HOME/OPatch/opatch apply
Invoking OPatch 10.2.0.1.5

Oracle interim Patch Installer version 10.2.0.1.5
Copyright (c) 2007, Oracle Corporation. All rights reserved..


Oracle Home : /apps/oracle/10.2.0
Central Inventory : /apps/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.1.5
OUI version : 10.2.0.3.0
OUI location : /apps/oracle/10.2.0/oui
Log file location : /apps/oracle/10.2.0/cfgtoollogs/opatch/opatch2007-12-28_22-37-14PM.log

ApplySession applying interim patch '5128368' to OH '/apps/oracle/10.2.0'
Invoking fuser to check for active processes.
Invoking fuser on "/apps/oracle/10.2.0/bin/oracle"

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.


Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/apps/oracle/10.2.0')

Is the local system ready for patching?

Do you want to proceed? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '5128368' for restore. This might take a while...
Backing up files affected by the patch '5128368' for rollback. This might take a while...

Patching component oracle.rdbms, 10.2.0.3.0...
Updating archive file "/apps/oracle/10.2.0/lib/libserver10.a" with "lib/libserver10.a/kko.o"
Running make for target ioracle
ApplySession adding interim patch '5128368' to inventory

Verifying the update...
Inventory check OK: Patch ID 5128368 is registered in Oracle Home inventory with proper meta-data.
Files check OK: Files from Patch ID 5128368 are present in Oracle Home.

The local system has been patched and can be restarted.


OPatch succeeded.
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/5128368] (DEMO102)$ cd ../5683652
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/5683652] (DEMO102)$ $ORACLE_HOME/OPatch/opatch apply
Invoking OPatch 10.2.0.1.5

Oracle interim Patch Installer version 10.2.0.1.5
Copyright (c) 2007, Oracle Corporation. All rights reserved..


Oracle Home : /apps/oracle/10.2.0
Central Inventory : /apps/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.1.5
OUI version : 10.2.0.3.0
OUI location : /apps/oracle/10.2.0/oui
Log file location : /apps/oracle/10.2.0/cfgtoollogs/opatch/opatch2007-12-28_22-38-14PM.log

ApplySession applying interim patch '5683652' to OH '/apps/oracle/10.2.0'
Invoking fuser to check for active processes.
Invoking fuser on "/apps/oracle/10.2.0/bin/oracle"

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.


Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/apps/oracle/10.2.0')

Is the local system ready for patching?

Do you want to proceed? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '5683652' for restore. This might take a while...
Backing up files affected by the patch '5683652' for rollback. This might take a while...

Patching component oracle.rdbms, 10.2.0.3.0...
Updating archive file "/apps/oracle/10.2.0/lib/libclient10.a" with "lib/libclient10.a/kpugem.o"

Patching component oracle.rdbms.rsf, 10.2.0.3.0...
Updating archive file "/apps/oracle/10.2.0/lib/libclient10.a" with "lib/libclient10.a/kpugem.o"
Running make for target client_sharedlib
Running make for target ioracle
ApplySession adding interim patch '5683652' to inventory

Verifying the update...
Inventory check OK: Patch ID 5683652 is registered in Oracle Home inventory with proper meta-data.
Files check OK: Files from Patch ID 5683652 are present in Oracle Home.

The local system has been patched and can be restarted.


OPatch succeeded.
[ora102@orion:/nfs/software/oracle/Oracle_for_Linux_x86/Oracle10gR2/Required_patches_PS/5683652] (DEMO102)$ cd $ORACLE_HOME
[ora102@orion:/apps/oracle/10.2.0] (DEMO102)$ $ORACLE_HOME/OPatch/opatch lsinventory
Invoking OPatch 10.2.0.1.5

Oracle interim Patch Installer version 10.2.0.1.5
Copyright (c) 2007, Oracle Corporation. All rights reserved..


Oracle Home : /apps/oracle/10.2.0
Central Inventory : /apps/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.1.5
OUI version : 10.2.0.3.0
OUI location : /apps/oracle/10.2.0/oui
Log file location : /apps/oracle/10.2.0/cfgtoollogs/opatch/opatch2007-12-28_22-39-11PM.log

Lsinventory Output file location : /apps/oracle/10.2.0/cfgtoollogs/opatch/lsinv/lsinventory2007-12-28_22-39-11PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 2 10.2.0.3.0
There are 2 products installed in this Oracle Home.


Interim patches (5) :

Patch 5683652 : applied on Fri Dec 28 22:38:58 CET 2007
Created on 5 Jul 2007, 01:27:01 hrs PST8PDT
Bugs fixed:
5683652

Patch 5128368 : applied on Fri Dec 28 22:38:04 CET 2007
Created on 23 Mar 2007, 00:53:55 hrs PST8PDT
Bugs fixed:
5128368

Patch 5574966 : applied on Fri Dec 28 22:36:53 CET 2007
Created on 4 Apr 2007, 05:58:26 hrs PST8PDT
Bugs fixed:
5574966

Patch 5556081 : applied on Fri Dec 28 22:23:43 CET 2007
Created on 9 Nov 2006, 22:20:50 hrs PST8PDT
Bugs fixed:
5556081

Patch 5557962 : applied on Fri Dec 28 22:23:31 CET 2007
Created on 9 Nov 2006, 23:23:06 hrs PST8PDT
Bugs fixed:
4269423, 5557962, 5528974


--------------------------------------------------------------------------------

OPatch succeeded.
[ora102@orion:/apps/oracle/10.2.0] (DEMO102)$

Then, if you want to create a "seed" database to play as well, the simplest way is still DBCA, in XClient session :

Change the datafiles location as you want :

[...]

Don't forget to update your tnsnames.ora file (on the server as on the client), and starting the listener.
Because I experienced the error tns-12546 permission denied, I did the workaround :
[root@orion:/var/tmp] ()$ ls -alrt
total 24
drwxr-xr-x 23 root root 4096 Dec 16 22:14 ..
drwxrwxrwt 3 root root 4096 Dec 27 21:28 .
drwxrwxrwt 2 root oinstall 4096 Dec 27 21:29 .oracle
[root@orion:/var/tmp] ()$ chown ora102:dba .oracle
Then the listener has been started as well.

Have fun,

No comments: