Oracle DBA Tips Corner |
Installing Oracle Database 10g Release 1 on Linux using Oracle ASM - (RHEL 4)
by Jeff Hunter, Sr. Database Administrator
Contents
Overview
Please keep in mind
that this article should not be considered
a substitution for completely reading and understanding the official
installation guide and release notes from Oracle. The following links can be used to
download the official installation guides for Oracle10g Release 1 (10.1.0):
Hardware Overview
The Pentium 4 server and Sun StorEDGE D1000 Disk Array are configured as follows:
About CentOS 4.0 Enterprise Linux
Downloading CentOS 4.0 Enterprise Linux
Installing CentOS 4.0 Enterprise Linux
After downloading and burning the CentOS 4.0 images (ISO files) to CD,
insert Disk #1 into the server (linux3 in this example), power it on,
and answer the installation screen prompts as noted below.
Boot Screen
If the installer detects
a previous installation of Linux on this machine, the next screen
will ask if you want to "remove" or "keep" old partitions. Select the option
to [Remove all partitions on this system].
NOTE: In this screen, ensure
that ONLY the
[hda] drive is selected for this installation in the "Select the drive(s) to use for this installation" window.
The installer will check all available drives to perform the installation on.
I will be using these drives for Oracle specific tasks to be described later
in this article. All disk configuration operations will be performed manually
to bring the second internal IDE drive and the SCSI disks in the array online.
I also keep the
checkbox [Review (and modify if needed) the partitions created] selected.
Click [Next] to continue.
You will then be prompted with a dialog window asking if you really
want to remove all partitions. Click [Yes] to acknowledge this warning.
For RHEL 4, the installer will create the disk configuration described above but
will create it using the Logical Volume Manager (LVM). For example, it will partition the
first hard drive (/dev/hda for my configuration) into two partitions - one for the
/boot partition (/dev/hda1) and the remainder of the disk dedicate to a LVM named
VolGroup00 (/dev/hda2). The LVM Volume Group (VolGroup00) is then partitioned into two
LVM partitions - one for the root file system (/) and another for swap. I basically check
that it created at least 1GB of swap. Since I have 1GB of RAM installed, the installer
created 2GB of swap. Saying that, I just accept the default disk layout.
NOTE: When I selected the Automatic partitioning option, the installer attempted
to create partitions and file systems on the second internal IDE drive (/dev/hdb) and all six SCSI disks (/dev/sd[a-f])
in the array by using my previous disk configuration options. The option to create partitions (and file systems) on these disks
MUST be deleted as I will be manually performing these actions later in this article. This
is especially important for the six SCSI disks since they cannot contain partitions (or file systems) in order to be
discovered and
configured as ASM disks. First, I selected to [Delete] the RAID Device I had created in the previous install named md0.
I then clicked on the second internal IDE drive partition (/dev/hdb1) and removed the option to create
the ext3 file system. (This marks the disk with a single Free entry with free space of 38167 MB). Last,
I had to remove all partition and file system options for the six SCSI disks. By default, the installer
selected to configure them with "software RAID" on the first partition. Click on the disk partition
for all six disks and [Delete] them. When all complete, the only partitions that should be created are
the two partitions on the first IDE disk (/dev/hda1 and /dev/hda2) described earlier in this section.
First, make sure that the network device(s) are checked
to [Active on boot]. If you have two network cards, the installer may choose
to not activate the second one (eth1). For this installation, I am
only using one network interface - eth0.
Second, [Edit] eth0 as follows:
eth0:
Continue by setting your hostname manually. I used
"linux3" for this node.
Finish this dialog off by supplying your gateway and
DNS servers.
You will then need to confirm the Warning dialog box. Click
[Proceed] to continue with the installation.
On some RHEL 4 installations, you will not get the "Package Group Selection"
screen by default. Instead, you are asked to simply
"Install default software packages" or "Customize software packages to be installed".
Select the option to "Customize software packages to be installed" and
click [Next] to continue. This will then bring up the "Package Group Selection"
screen. Now, scroll down to the bottom of this screen and select [Everything]
under the "Miscellaneous" section. Click [Next] to continue.
When the system boots into Linux for the first time, it will prompt
you with another Welcome screen. The following wizard allows you to
configure the date and time, add any additional users, testing the
sound card, and to install any additional CDs. The only screens I care
about are the time and date and display resolution settings. As for the others, simply run through
them as there is nothing additional that needs to be installed (at this point
anyways!). If everything was successful, you should now be presented with the
login screen.
Operating System Configuration
Login as root
To check the amount of memory you have installed, type:
(An inadequate amount of swap during the installation
will cause the Oracle Universal Installer
to either "hang" or "die")
To check the amount of memory you have, type:
To check the amount of swap you have allocated, type:
As root, make a file that will act as additional swap space, let's say about 500MB:
Now we should change the file permissions:
Finally we format the "partition" as swap and add it to the swap space:
To check the amount of free disk available in the /tmp directory, type:
Disk Configuration - (Internal Disk for ORACLE_HOME)
The Linux operating system will
be installed on one of those disks (/dev/hda) while the
second IDE hard disk (/dev/hdb) will be used to store the Oracle10g
Database Software. Before using this second disk, I need to first partition the disk and then
create a file system (ext3) on the disk. Finally, I need to mount the file system to /u01.
This section provides the DBA with detailed instructions for installing and configuring
a second hard drive in the Linux environment.
The following steps require use of the root user account:
Configuring the Oracle User
Note that members of the UNIX group oinstall are considered the "owners" of
the Oracle software.
Members of the dba group can administer Oracle databases, for example starting up and shutting
down databases. In this article, we are creating the oracle user account to have both
responsibilities!
The UNIX group oinstall is used
by organizations that have separate teams responsible for maintaining the Oracle software
and the database(s). In situations like this, the group membership prevents unauthorized
access to the database by personal who only maintain the Oracle software. At the same
time, it also prevents database administrators from making modifications to the
database software and the installation's Inventory directory.
The Oracle documentation uses the following definitions when describing the UNIX groups:
If you intend to use the oinstall group during the installation process, then you
must set the default group to the one that will be maintaining the database before
creating the database or permission problems will arise. In this article, we will be taking care of
this issue when we install the database software.
The thing to keep in mind is that the UNIX oinstall group is completely optional and is not required
if the same individuals will be maintaining the software and the database. Some consider it
unnecessary work which adds another layer of complexity
to the maintenance of the installation. In this type of scenario, all that would be required is
the UNIX group dba (and assigning dba as the primary UNIX group for the
"oracle" user account).
This article (along with other Oracle installation guides on this site)
adhere to the Optimal Flexible Architecture (OFA) and create both the
oinstall and dba UNIX groups.
The following steps require use of the root user account:
The following commands should be run as the newly created oracle user account:
To see all shell limits, run the following as the oracle user:
Setting the Maximum Number of Open File Descriptors for the Oracle User
It is recommended to not set the hard limit for nofile equal to
/proc/sys/fs/file-max. Using equals values and if the oracle user
uses up all the available file handles, then the entire system would run out of file handles.
This could mean that it would not be possible to initiate a new (remote) sessions since the system
would not be able to open any PAM modules which are required for performing a login. This is the
motivation for setting the hard limit to 63536 and not 65536.
Setting the pam_limits Parameter
The new entry in the /etc/pam.d/system-auth file should read as follows:
Now, re-login to the oracle account since the changes will only become
effective for new login sessions:
Setting the Maximum Number of Processes for the Oracle User
To check the current limit of the maximum number of processes for the oracle
user, run the following:
The changes we already made to the file /etc/security/limits.conf that effect
the maximum number of processes for the oracle user are in bold below:
Making Changes Permanent
Disk Configuration - (External Disks for ASM)
ASM was introduced in Oracle10g and is used to alleviate the DBA from
having to manage individual files and drives. ASM is built into the Oracle kernel and
provides the DBA with a way to manage thousands of disk drives 24x7 for both
single and clustered instances of Oracle. All of the files and directories to be used
for Oracle will be contained in a disk group. ASM automatically performs
load balancing in parallel across all available disk drives to prevent hot spots and
maximize performance, even with rapidly changing data usage patterns.
I start this section by first discussing the ASMLib libraries and its associated driver for Linux
plus other methods for configuring ASM with Linux.
Next, I will provide instructions for downloading the ASM drivers (ASMLib Release 2.0) specific to
our Linux kernel. (These libraries/driver are available from OTN)
Lastly, I will install and configure the ASM drivers while finishing off the
section with a demonstration of how I created the ASM disks.
If you would like to learn more about the ASMLib, visit
http://www.oracle.com/technology/tech/linux/asmlib/install.html
The next section, "Methods for Configuring ASM with Linux", discusses the two methods for using ASM on Linux
and is for reference only!
When I first started this article, I wanted to focus on using ASM for all
database files.
I was curious to see how well ASM worked (load balancing / fault tolerance)
with this test configuration. There are two
different methods to configure ASM on Linux:
In this article, I will be using the "ASM with ASMLib I/O" method. Oracle states
(in Metalink Note 275315.1) that "ASMLib was provided to enable ASM I/O to Linux
disks without the limitations of the standard UNIX I/O API". I plan on performing
several tests in the future to identify the performance gains in using ASMLib. Those
performance metrics and testing details are out of scope of this article and therefore
will not be discussed.
Before discussing the installation and configuration details of ASMLib, I thought it would be
interesting to talk briefly about the second method "ASM with Standard Linux I/O".
If you were to use this method, (which is a perfectly valid solution, just not the method
we will be implementing in this article), you should be
aware that Linux does not use RAW devices by default. Every Linux RAW device you want to
use must be bound to the corresponding block device using the RAW driver. For example,
if you wanted to use the partitions that will be created in the
"Creating Partitions for ASM"
section, (/dev/sda1, /dev/sdb1, /dev/sdc1,
/dev/sdd1, /dev/sde1, /dev/sdf1),
you would need to perform the following tasks:
Like I mentioned earlier, the above example was just to demonstrate that there
is more than one method for using ASM with Linux. Now let's move on to
the method that will be used for this article, "ASM with ASMLib I/O".
The following table lists the individual partitions that will
be created on the six disks contained in the disk array and what files
will be contained on them.
Like shown in the table, all disks within the D1000 disk array are SCSI disks and
shows up as the SCSI devices /dev/sda - /dev/sdf.
The fdisk command is used for creating (and removing) partitions. Before creating
the new partitions, it is
important to remove any existing partitions (if they exist) on each of the drives. The following
is an example of how to remove all partitions on the disk /dev/sda and then create
a single new Linux partition. Perform the following
actions on all disks in the disk array (/dev/sda - /dev/sdf):
Installing the Oracle10g Database Software
Download the Oracle Database 10g Release 1 (10.1.0.3) Software for Linux x86:
After downloading the file, place it in a temporary directory (i.e. /u01/app/oracle/orainstall)
as the oracle UNIX user account. To extract the file, use the following:
After successfully un-compressing and extracting the downloaded file, it will create a directory
named Disk1 containing the Oracle10g Installation files:
If you are using a CD-ROM to install the Oracle databse software,
insert Disk 1 (of 1) of the Oracle10g, Release 1 (10.1.0.3.0)
for Linux x86. On most systems, the CD-ROM will be mounted automatically by
the Volume Manager. If not, you can perform the following as the root UNIX user account:
If you downloaded and extracted the software to a temporary directory (I used
/u01/app/oracle/orainstall for this article), there is nothing to mount. Just take
note of the directory that contains the runInstaller executable. For this article,
the OUI executable will be located in /u01/app/oracle/orainstall/Disk1/runInstaller:
Navigate to the /u01/app/oracle/oraInventory directory
and run orainstRoot.sh.
Go back to the OUI and acknowledge the dialog window.
Check complete. The overall result of this check is: Failed Failed <<<<
Problem: This Oracle software is not certified on the current operating system.
Recommendation: Make sure you are installing the software on the correct platform.
You can safely ignore this error/failure.
You will not need to acknowledge any of these warnings in this dialog
as the installer simply bypasses them and goes to the next screen.
Click the <Exit> button to exit from the Oracle Universal Installer.
Applying the 10.1.0.4 Database Patchset
Downloading the Patchset
After logging in to the Oracle Metalink website,
click on the "Patches & Updates" tab on the top menu and use the following
to download the correct database patchset:
If you are not installing the patch software from the local system,
enter the following command to direct X applications to display
on the workstation / PC you are running on:
In this example, your_local_workstation is the host name or IP address of the system
that you want to use to display the Installer (your workstation or PC).
Before starting the OUI to install the patch set, we need to stop all listeners and other
processes running in the Oracle home directory. If you have been following the instructions
in this article, the only process running should be the Cluster Ready Services (CRS).
To stop this process, use the following as the root UNIX user account:
Once all processes running in the Oracle home directory are stopped, we can now
start the patch installation process. To do this, navigate to the directory
where you extracted the patch set to and run the OUI installer as the oracle
UNIX user account:
In most cases, the OUI will also select the correct destination name
and ORACLE_HOME that you want to update with this patch set.
Here are the settings I used for this article:
At the end of the patch set installation, linking, and setup phase, you will be prompted to run
a configuration script as the root user before the installation can proceed. Leave
this window up, and go to
/u01/app/oracle/product/10.1.0/db_1 and run the root.sh script:
The Oracle Database 10g Patch Set 2 has now been successfully applied!
This article is a comprehensive guide for installing
Oracle Database 10g Release 1 on the Red Hat Enterprise Linux 4 (RHEL4) operating environment.
Here is a short introduction to some of the configuration parameters that will
be used for installing the Oracle Database Software and creating a fully functional Oracle10g database:
Oracle Database 10g Release 1 (10.1) Documentation
Oracle Database Quick Installation Guide 10g Release 1 (10.1.0.3) for Linux x86 - (B10814-01)
By the time you finish this article, the following will be
configured:
The following is a list of items NOT covered in this article:
Although this article is titled and introduced to work with Red Hat Enterprise Linux 4.0, I will
actually be using a Red Hat Linux clone named CentOS. To read more about about
CentOS, please visit their website at
www.centos.org. I will also provide additional
details about CentOS along with installation instructions later in this article.
For the purpose of this document, I will be utilizing a Pentium 4 (32-bit Clone) running CentOS Release 4.0.
The Pentium 4 server will be connected to a
Sun StorEDGE D1000 Dual Channel Disk Array with access to one channel containing six
9.1GB / 10000 RPM / UltraSCSI disk drives for a total disk array capacity of 54GB. The disk array
is connected to the Pentium 4 server using a Dual Differential Ultra/Wide SCSI (X6541A) host adapter.
Machine Name:
linux3.idevelopment.info
IP Address:
192.168.1.107
Processor:
Pentium 4 - (1.8 GHz.)
Operation Environment:
CentOS Release 4 - (32-bit)
Memory:
1 GB
Internal Disks:
2 x 40GB IDE hard drives identified as follows:
D1000 Disk Array:
6 x 9.1GB Ultra SCSI hard drives identified as follows:
After discussing the hardware being utilized for this article, I end this
section by describing how each of the disks will be used
for the database software installation and database:
Device
Type
Size - (GB)
Usage
Mount Point /
ASM Disk Group
hda
Internal
40
CentOS Release 4 Operating System
/
hdb
Internal
40
Oracle 10g Database Software.
/u01
sda
D1000 Disk Array
9.1
ASM Disk Group 1
TESTDB_DATA1
sdb
D1000 Disk Array
9.1
ASM Disk Group 1
TESTDB_DATA1
sdc
D1000 Disk Array
9.1
ASM Disk Group 1
TESTDB_DATA1
sdd
D1000 Disk Array
9.1
ASM Disk Group 2
TESTDB_DATA2
sde
D1000 Disk Array
9.1
ASM Disk Group 2
TESTDB_DATA2
sdf
D1000 Disk Array
9.1
ASM Disk Group 2
TESTDB_DATA2
Although I have used Red Hat Fedora and Red Hat Enterprise Linux
in the past, I wanted to switch
to a Linux environment that would guarantee all of the functionality
contained with Oracle -- and have it for free! This is where CentOS comes in.
The CentOS Linux project takes the Red Hat 4.0 source RPMs, and compiles
them into a free clone of the Red Hat Enterprise Server 4.0 product. This provides
a free and stable version of the Red Hat Enterprise 4.0 operating environment for
testing different Oracle configurations. Over the past year, I have been
moving away from Fedora as I need a stable environment that is not only
free, but as close to the actual Oracle supported operating system as possible.
While CentOS is not the only project performing the same functionality, I
tend to stick with it as it is stable and has been around for a long time.
Here is a list of others that perform the same functionality as CentOS:
CentOS
Pink Tie Linux
White Box Enterprise Linux
Lineox Enterprise Linux
Tao Linux
Use the following link(s) to download CentOS Release 4.0:
CentOS Release 4.0 - Downloads
Disk1 (629,634 KB)
Disk2 (651,234 KB)
Disk3 (649,554 KB)
Disk4 (232,380 KB)
If you are downloading the above ISO files to a MS Windows machine,
there are many options for burning these images (ISO files) to a CD. You
may already be familiar with and have the proper software
to burn images to CD. If you are not familiar with this process
and do not have the required software to burn images to CD, here are just
two (of many) software packages that can be used:
This section provides a summary of the screens used to install
CentOS 4.0. For more detailed installation instructions, it
is possible to use the manuals from Red Hat Linux
http://www.redhat.com/docs/manuals/.
I would suggest, however, that the instructions I have provided
below be used for this Oracle10g configuration.
The first screen is the CentOS Linux boot screen.
At the boot: prompt, hit [Enter] to start the installation process.
Media Test
When asked to test the CD media, tab over to [Skip] and hit
[Enter]. If there
were any errors, the media burning software would have warned us. After several
seconds, the installer should then detect the video card, monitor, and mouse.
The installer then goes into GUI mode.
Welcome to CentOS Linux
At the welcome screen, click [Next] to continue.
Language / Keyboard / Mouse Selection
The next three screens prompt you for the Language, Keyboard, and Mouse
settings. Make the appropriate selections for your configuration.
Upgrade Examine - (Optional)
If the installer detects an already installed version of CentOS 4.0 Linux,
it will prompt to either perform a fresh install (which will overwrite the
current old install) or to Upgrade an existing installation. Select the first
option which is to Install CentOS 4.0 and click [Next] to continue.
Installation Type
Choose the [Custom] option and click [Next] to continue.
Disk Partitioning Setup
Select [Automatically partition] and click [Next] continue.
Partitioning
The installer will then allow you to view (and modify if needed)
the disk partitions it automatically selected. In most cases, the
installer will choose 100MB for /boot, double the amount of
RAM for swap, and the rest going to the root (/) partition. I like to
have a minimum of 1GB for swap. For the purpose of this install,
I will accept all automatically preferred sizes. (Including
2GB for swap since I have 1GB of RAM installed.)
Boot Loader Configuration
The installer will use the GRUB boot loader by default.
To use the GRUB boot loader, accept all default values and click [Next] to continue.
Network Configuration
I made sure to install the NIC interface (network card) in the
Linux server before starting the operating system installation.
This screen should have successfully detected all network
devices.
Firewall
- Check off the option to [Configure using DHCP]
- Leave the [Activate on boot] checked
- IP Address: 192.168.1.107
- Netmask: 255.255.255.0
On this screen, make sure to check [No firewall]
and click [Next] to continue.
Additional Language Support / Time Zone
The next two screens allow you to select additional language support
and time zone information.
In almost all cases, you can accept the defaults.
Set Root Password
Select a root password and click [Next] to continue.
Package Group Selection
Scroll down to the bottom of this screen and select
[Everything] under the Miscellaneous section. Click
[Next] to continue.
About to Install
This screen is basically a confirmation screen. Click [Next]
to start the installation. During the installation process,
you will be asked to switch disks to Disk #2, Disk #3 and then Disk #4.
With the official release of RHEL 4, it will ask for Disk #1 after completing
with Disk #4. CentOS 4.0 does not ask for Disk #1 again.
Congratulations
And that's it. You have successfully installed CentOS 4.0 Linux.
The installer will eject the CD
from the CD-ROM drive. Take out the CD and click [Exit] to reboot
the system.
This section describes the steps and requirements that should be performed
by the DBA as it relates to the Linux operating
system before performing the Oracle Database 10g software. Keep in mind that
the following steps need to be performed by the root user account.
% su -
RAM Memory
Installing Oracle Database 10g on Linux requires a minimum of 512MB of memory.
I highly recommend installing at least 1GB of memory when
running Oracle 10g. Although 512MB will work, it is extremely tight.
# cat /proc/meminfo | grep MemTotal
MemTotal: 1035324 kB
Swap Space
The following is Oracle's requirement for swap space:
Available RAM
Swap Space Required
Between 1 GB and 2 GB
1.5 times the size of RAM
Between 2 GB and 8 GB
Equal to the size of RAM
More than 8 GB
.75 times the size of RAM
# cat /proc/meminfo | grep MemTotal
MemTotal: 1035324 kB
# cat /proc/meminfo | grep SwapTotal
SwapTotal: 2031608 kB
If you have less than 1GB of memory (between your RAM and SWAP), you can add temporary
swap space by creating a temporary swap file.
This way you do not have to use a raw device or even more drastic, rebuild your system.
# dd if=/dev/zero of=tempswap bs=1k count=500000
# chmod 600 tempswap
# mke2fs tempswap
# mkswap tempswap
# swapon tempswap
Checking /tmp Directory
Ensure enough disk space in the /tmp directory. An amount
of disk space equal to 400 MB (or greater) needs to be available
for the Oracle Database installation.
# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
35G 6.2G 27G 19% /
If 1 GB or more is not available in /tmp, you can create
a "tmp" directory in another file system, then set the environment
variables TMP (used by Oracle) and TMPDIR (used by operating
system programs like the linker "ld" and library archiver
"ar") to point to this location. For example:
# mkdir /u01/app/oracle/tmp
# TEMP=/u01/app/oracle/tmp; export TEMP
# TMPDIR=/u01/app/oracle/tmp; export TMPDIR
As noted in the section "Hardware Overview",
I discussed the disks that will
be utilized for both the Oracle10g Database Software installation
and the physical database files.
This section discusses the steps I took to partition (and mount)
one of those internal 40GB IDE hard drives that will be used for the
Oracle10g Database Software.
The steps in this section are completely optional as it is possible
to simply create the directory required for installing the Oracle10g
Database software off of the root directory. (i.e. mkdir /u01)
# [ LOGIN AS ROOT ]
# su -
# [ PARTITION ENTIRE DISK ]
# fdisk /dev/hdb
Command (m for help): p
Disk /dev/hdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-77545, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-77545, default 77545): 77545
Command (m for help): p
Disk /dev/hdb: 40.0 GB, 40020664320 bytes
16 heads, 63 sectors/track, 77545 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 77545 39082648+ 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# [ CREATE NEW EXT3 FILE SYSTEM ]
# mkfs.ext3 -b 4096 /dev/hdb1
mke2fs 1.35 (28-Feb-2004)
max_blocks 4294967295, rsv_groups = 0, rsv_gdb = 1024
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4889248 inodes, 9770662 blocks
488533 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=12582912
299 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Writing inode tables: done
inode.i_blocks = 98312, i_size = 4243456
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# [ CREATE MOUNT POINT DIRECTORY ]
# mkdir /u01
# [ INSERT THE FOLLOWING ENTRY INTO /etc/vfstab ]
# echo "/dev/hdb1 /u01 ext3 defaults 1 1" >> /etc/fstab
# [ MOUNT THE NEW FILE SYSTEM ]
# mount /u01
# [ CHECK FOR NEW FILE SYSTEM ]
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
36316784 6537848 27934100 19% /
/dev/hda1 101086 9196 86671 10% /boot
none 517932 0 517932 0% /dev/shm
/dev/hdb1 38468908 81984 36432792 1% /u01
This section covers the steps required to create
the UNIX groups (oinstall and dba) and user (oracle) that will be used
to install the Oracle Database 10g software.
This guide adheres
to the Optimal Flexible Architecture (OFA) for naming conventions used
in creating the directory structure.
# groupadd -g 116 oinstall
# groupadd -g 115 dba
# mkdir -p /u01/app
# useradd -u 175 -c "Oracle Software Owner" -d /u01/app/oracle -g oinstall -G dba -m -s /bin/ksh oracle
# passwd oracle
Changing password for user oracle.
New UNIX password: ***********
Retype new UNIX password: ***********
passwd: all authentication tokens updated successfully.
# id -a oracle
uid=175(oracle) gid=116(oinstall) groups=116(oinstall),115(dba)
# mkdir -p /usr/local/bin
# su - oracle
$ id -a
uid=175(oracle) gid=116(oinstall) groups=115(dba),116(oinstall) context=user_u:system_r:unconfined_t
$ pwd
/u01/app/oracle
$ tar xvf oracle_10g_installation_files_linux.tar
oracle_10g_installation_files_linux/
oracle_10g_installation_files_linux/common.tar
oracle_10g_installation_files_linux/dbora
oracle_10g_installation_files_linux/local_bin.tar
oracle_10g_installation_files_linux/oratab
oracle_10g_installation_files_linux/profile_oracle
oracle_10g_installation_files_linux/ldap.ora
oracle_10g_installation_files_linux/listener.ora
oracle_10g_installation_files_linux/sqlnet.ora
oracle_10g_installation_files_linux/tnsnames.ora
oracle_10g_installation_files_linux/crontabTESTDB.txt
$ cp oracle_10g_installation_files_linux/profile_oracle ~/.profile
$ tar xvf oracle_10g_installation_files_linux/common.tar
$ # LOGIN AS ROOT
$ su
# cp oracle_10g_installation_files_linux/oratab /etc/oratab
# chown oracle:oinstall /etc/oratab
# (cd /usr/local/bin && tar xvf ~oracle/oracle_10g_installation_files_linux/local_bin.tar)
# chown oracle:oinstall /usr/local/bin/coraenv
# chown oracle:oinstall /usr/local/bin/dbhome
# chown oracle:oinstall /usr/local/bin/oraenv
# chown oracle:oinstall /usr/local/bin/oraenv.custom
# # EXIT FROM ROOT
# exit
$ . ~/.profile
.profile executed
$
$ mkdir /u01/app/oracle/product
$ mkdir /u01/app/oracle/admin
$ ulimit -a
time(cpu-seconds) unlimited
file(blocks) unlimited
coredump(blocks) 0
data(kbytes) unlimited
stack(kbytes) 10240
lockedmem(kbytes) 32
memory(kbytes) unlimited
nofiles(descriptors) 1024
processes 16383
Although we have already increased the kernel parameter /proc/sys/fs/file-max
in the section "Checking Kernel Parameters",
there is still a per user limit on the number of open file
descriptors which is set to 1024 by default. To see this, use the ulimit command
as the oracle user:
$ ulimit -n
1024
To change this value, we need to modify the file /etc/security/limits.conf as
root and make the following changes (or as needs to be done here, add the following lines), respectively:
# To increase the shell limits for Oracle 10.1.0
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 63536
The soft limit in the first line defines the number of file handles that the oracle
user will have after logging in. If the oracle user gets error messages related to running
out of file handles, then the oracle user can incresae the number of file handles (to 63536 for example)
by using the command ulimit -n 63536.
After configuring the maximum number of open file descriptors, we also need to ensure
that the pam_limits is configured correctly in the /etc/pam.d/system-auth
file. This is the PAM module that will read the /etc/security/limits.conf file.
session required /lib/security/pam_limits.so
session required /lib/security/pam_unix.so
# su - oracle
$ ulimit -n
4096
Next, we concentrate on configuring the maximum number of processes for the
Oracle user. Actually, if you updated the /etc/security/limits.conf
file in the previous section, "Maximum Number of Open File Descriptors for the Oracle User",
then you have already configured this setting.
# su - oracle
$ ulimit -p # For KSH
2047
$ ulimit -u # For BASH
2047
# To increase the shell limits for Oracle 10.1.0
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 63536
The final step in this section is to make the settings we have made for the shell
limits permanent.
Performing this depends on the UNIX shell you will be using for the oracle account.
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
As noted at the beginning of this article, the Oracle database server is connected
to an external D1000 SCSI disk array. The database server will have access to
six 9.1GB SCSI disks on one SCSI channel. These six disks will be used to store
all physical Oracle database files (data, online redo logs, control files, archived redo logs)
managed by Automatic Storage Management (ASM).
Introduction to ASM
In this section, we will configure Automatic Storage Management (ASM)
to be used as the file system / volume manager for
all Oracle physical database files (data, online redo logs, control files,
archived redo logs).
(FOR REFERENCE ONLY!) - Methods for Configuring ASM with Linux
This section is nothing more than a reference that describes
the two different methods for configuring ASM on Linux.
The commands in this section are not meant to be run
on the Oracle database server being configured in this article!
# raw device bindings
# format:
The RAW device bindings will be created on each reboot.
# chown oracle:dba /dev/raw/raw1; chmod 660 /dev/raw/raw1
# chown oracle:dba /dev/raw/raw2; chmod 660 /dev/raw/raw2
# chown oracle:dba /dev/raw/raw3; chmod 660 /dev/raw/raw3
# chown oracle:dba /dev/raw/raw4; chmod 660 /dev/raw/raw4
# chown oracle:dba /dev/raw/raw5; chmod 660 /dev/raw/raw5
# chown oracle:dba /dev/raw/raw6; chmod 660 /dev/raw/raw6
# service rawdevices restart
Create Disk Partitions
Before any of the disks can be discovered by ASM, they need to be properly
partitioned and configured. Before providing the details on how to partition
all six disks, here are some things to keep in mind with regards to configuring
disks for ASM:
Oracle ASM Disk Configuration
File System Type
Partition
Size
Mount Point
File Types
ASM
/dev/sda1
9.1 GB
ORCL:TESTDB_DATA1
Oracle Database Files
ASM
/dev/sdb1
9.1 GB
ORCL:TESTDB_DATA1
Oracle Database Files
ASM
/dev/sdc1
9.1 GB
ORCL:TESTDB_DATA1
Oracle Database Files
ASM
/dev/sdd1
9.1 GB
ORCL:TESTDB_DATA2
Oracle Database Files
ASM
/dev/sde1
9.1 GB
ORCL:TESTDB_DATA2
Oracle Database Files
ASM
/dev/sdf1
9.1 GB
ORCL:TESTDB_DATA2
Oracle Database Files
Total
54.6 GB
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 9056 MB, 9056904704 bytes
64 heads, 32 sectors/track, 8637 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 8637 8844272 be Solaris boot
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-8637, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-8637, default 8637): 8637
Command (m for help): p
Disk /dev/sda: 9056 MB, 9056904704 bytes
64 heads, 32 sectors/track, 8637 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 8637 8844272 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
After creating all required partitions, you should now
inform the kernel of the partition changes using
the following syntax as the "root" user account:
# partprobe
# fdisk -l /dev/sda
Disk /dev/sda: 9056 MB, 9056904704 bytes
64 heads, 32 sectors/track, 8637 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 8637 8844272 83 Linux
Perform the above fdisk tasks on all six disks in the D1000 disk array!
Upgrade the Linux Kernel
The CentOS 4.0 release I downloaded came equipped with the
2.6.9-5.0.3.EL kernel. This version will not work with the
ASMLib libraries that are available from the Oracle Technology
Network. Oracle only provides libraries for the 2.6.9-5.0.5.EL kernel
and thus requires we upgrade the kernel. This can be done using the yum
utility as follows:
# uname -a
Linux linux3 2.6.9-5.0.3.EL #1 Sat Feb 19 18:26:49 CST 2005 i686 i686 i386 GNU/Linux
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
# yum update kernel-*
Setting up Update Process
Setting up Repos
addons 100% |=========================| 951 B 00:00
base 100% |=========================| 1.1 kB 00:00
update 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 991 B 00:00
MD Read : ################################################## 2/2
addons : ################################################## 2/2
primary.xml.gz 100% |=========================| 532 kB 00:02
MD Read : ################################################## 1405/1405
base : ################################################## 1404/1404
primary.xml.gz 100% |=========================| 46 kB 00:00
MD Read : ################################################## 105/105
update : ################################################## 105/105
primary.xml.gz 100% |=========================| 7.3 kB 00:00
MD Read : ################################################## 26/26
extras : ################################################## 26/26
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for kernel-smp-devel to pack into transaction set.
kernel-smp-devel-2.6.9-5. 100% |=========================| 612 kB 00:01
---> Package kernel-smp-devel.i686 0:2.6.9-5.0.5.EL set to be updated
---> Downloading header for kernel-hugemem-devel to pack into transaction set.
kernel-hugemem-devel-2.6. 100% |=========================| 620 kB 00:01
---> Package kernel-hugemem-devel.i686 0:2.6.9-5.0.5.EL set to be updated
---> Downloading header for kernel-doc to pack into transaction set.
kernel-doc-2.6.9-5.0.5.EL 100% |=========================| 92 kB 00:00
---> Package kernel-doc.noarch 0:2.6.9-5.0.5.EL set to be updated
---> Downloading header for kernel to pack into transaction set.
kernel-2.6.9-5.0.5.EL.i68 100% |=========================| 119 kB 00:00
---> Package kernel.i686 0:2.6.9-5.0.5.EL set to be installed
---> Downloading header for kernel-devel to pack into transaction set.
kernel-devel-2.6.9-5.0.5. 100% |=========================| 605 kB 00:01
---> Package kernel-devel.i686 0:2.6.9-5.0.5.EL set to be installed
---> Downloading header for kernel-sourcecode to pack into transaction set.
kernel-sourcecode-2.6.9-5 100% |=========================| 1.5 MB 00:07
---> Package kernel-sourcecode.noarch 0:2.6.9-5.0.5.EL set to be updated
--> Running transaction check
Dependencies Resolved
Transaction Listing:
Install: kernel.i686 0:2.6.9-5.0.5.EL - update
Install: kernel-devel.i686 0:2.6.9-5.0.5.EL - update
Update: kernel-doc.noarch 0:2.6.9-5.0.5.EL - update
Update: kernel-hugemem-devel.i686 0:2.6.9-5.0.5.EL - update
Update: kernel-smp-devel.i686 0:2.6.9-5.0.5.EL - update
Update: kernel-sourcecode.noarch 0:2.6.9-5.0.5.EL - update
Total download size: 66 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): kernel-smp-devel-2 100% |=========================| 3.6 MB 00:10
(2/6): kernel-hugemem-dev 100% |=========================| 3.6 MB 00:11
(3/6): kernel-doc-2.6.9-5 100% |=========================| 2.0 MB 00:06
(4/6): kernel-2.6.9-5.0.5 100% |=========================| 9.5 MB 00:29
(5/6): kernel-devel-2.6.9 100% |=========================| 3.6 MB 00:10
(6/6): kernel-sourcecode- 100% |=========================| 44 MB 02:12
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating: kernel-sourcecode 100 % done 1/10
Updating: kernel-smp-devel 100 % done 2/10
Updating: kernel-hugemem-devel 100 % done 3/10
Updating: kernel-doc 100 % done 4/10
Installing: kernel 100 % done 5/10
Installing: kernel-devel 100 % done 6/10
Completing update for kernel-smp-devel - 7/10
Completing update for kernel-hugemem-devel - 8/10
Completing update for kernel-doc - 9/10
Completing update for kernel-sourcecode - 10/10
Installed: kernel.i686 0:2.6.9-5.0.5.EL kernel-devel.i686 0:2.6.9-5.0.5.EL
Updated: kernel-doc.noarch 0:2.6.9-5.0.5.EL kernel-hugemem-devel.i686 0:2.6.9-5.0.5.EL kernel-smp-devel.i686 0:2.6.9-5.0.5.EL kern
el-sourcecode.noarch 0:2.6.9-5.0.5.EL
Complete!
# uname -a
Linux linux3 2.6.9-5.0.5.EL #1 Tue Apr 19 23:50:27 BST 2005 i686 i686 i386 GNU/Linux
Downloading the ASMLib Packages
We continue this section by downloading the ASMLib libraries and driver from OTN.
We need to download the version
for the Linux kernel and number of processors on the machine. We are using
kernel 2.6.9 while the machine I am using is a single processor
node:
# uname -a
Linux linux3 2.6.9-5.0.5.EL #1 Tue Apr 19 23:50:27 BST 2005 i686 i686 i386 GNU/Linux
If you do not currently have an account with Oracle OTN, you
will need to create one. This is a FREE account!
oracleasm-2.6.9-5.0.5.EL-2.0.0-1.i686.rpm - (Driver for "up" kernels)
oracleasmlib-2.0.0-1.i386.rpm - (Userspace library)
oracleasm-support-2.0.0-1.i386.rpm - (Driver support files)
Installing ASMLib Packages
This installation needs to be performed
as the root user account:
$ su -
# rpm -Uvh oracleasm-support-2.0.0-1.i386.rpm \
oracleasmlib-2.0.0-1.i386.rpm \
oracleasm-2.6.9-5.0.5.EL-2.0.0-1.i686.rpm
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [ 33%]
2:oracleasm-2.6.9-5.0.5.E########################################### [ 67%]
3:oracleasmlib ########################################### [100%]
Configuring and Loading the ASMLib Packages
Now that we downloaded and installed the ASMLib Packages for Linux,
we now need to configure and load the ASM kernel module. This task
needs to be run as the
root user account:
$ su -
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting
Creating ASM Disks for Oracle
At this point, we have already created a single Linux partition on each of the disks
within the D1000 disk array. Our last task is to create the ASM Disks.
If you are repeating this article using the same hardware (actually, the same disks within the D1000 disk array),
you may get a failure when attempting to create the ASM disks. If you
do receive a failure, try listing all ASM disks using
# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
VOL5
VOL6
As you can see, the results show that I have six volumes
already defined. If you have the six volumes already defined
from a previous run, go ahead and remove them using the
following commands. After removing the previously created volumes, use the "oracleasm createdisk" commands (below)
to create the volumes.
# /etc/init.d/oracleasm deletedisk VOL1
Removing ASM disk "VOL1" [ OK ]
# /etc/init.d/oracleasm deletedisk VOL2
Removing ASM disk "VOL2" [ OK ]
# /etc/init.d/oracleasm deletedisk VOL3
Removing ASM disk "VOL3" [ OK ]
# /etc/init.d/oracleasm deletedisk VOL4
Removing ASM disk "VOL4" [ OK ]
# /etc/init.d/oracleasm deletedisk VOL5
Removing ASM disk "VOL5" [ OK ]
# /etc/init.d/oracleasm deletedisk VOL6
Removing ASM disk "VOL6" [ OK ]
$ su -
# /etc/init.d/oracleasm createdisk VOL1 /dev/sda1
Marking disk "/dev/sda1" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb1
Marking disk "/dev/sdb1" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdc1
Marking disk "/dev/sdc1" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL4 /dev/sdd1
Marking disk "/dev/sdd1" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL5 /dev/sde1
Marking disk "/dev/sde1" as an ASM disk [ OK ]
# /etc/init.d/oracleasm createdisk VOL6 /dev/sdf1
Marking disk "/dev/sdf1" as an ASM disk [ OK ]
Although not required, I like to perform
a scandisk to recognize the new volumes:
# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks [ OK ]
We can now test that the ASM disks were successfully created by
using the following command
as the root user account:
# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
VOL5
VOL6
Obtain the Oracle10g Database Software
The first step is to obtain the Oracle10g database software. You may already
have the Oracle10g database software on CD-ROM. If you do not, the software
can be downloaded from Oracle's OTN site -
http://otn.oracle.com.
If you do not currently have an account with Oracle OTN, you will need to create one.
This is a FREE account!
Oracle Database 10g Release 1 (10.1.0.3) (Enterprise/Standard Edition for Linux x86)
$ id -a
uid=175(oracle) gid=116(oinstall) groups=115(dba),116(oinstall) context=user_u:system_r:unconfined_t
$ mkdir -p /u01/app/oracle/orainstall
$ mv ~/ship.db.lnx32.cpio.gz /u01/app/oracle/orainstall
$ cd /u01/app/oracle/orainstall
$ gunzip ship.db.lnx32.cpio.gz
$ cpio -idmv < ship.db.lnx32.cpio
Some browsers will uncompress the files but leave the extension the
same (gz) when downloading. If the above steps do not work for you,
try skipping the un-compressing step (without changing the filename) and then
extracting the file using cpio:
$ cpio -idmv < ship.db.lnx32.cpio.gz
/Disk1
X Windows Server Requirement
Beginning with Oracle version 8i, the Oracle Universal Installer (OUI)
is a Java application and uses a JRE (Java runtime Environment) shipped on the media.
Other Java applications that utilize the JRE are the Database Configuration Assistant
and the Oracle Net Assistant. The JRE shipped by Oracle is the only one supported to run
with these applications. Installations can no longer be performed using character mode.
You must install the Oracle database software from an X windows workstation, an
X terminal, or a PC or other system with X server software installed.
Database Software Installation Steps
If you are using Hummingbird's Exceed X-Windows emulator while installing
and using Oracle10g, set the window manager to run in "Native"
mode so that Microsoft windows functions as the window manager. See your
Exceed documentation for instructions on configuring the window manager.
$ DISPLAY=<your local workstation>:0.0
$ export DISPLAY
For example:
$ DISPLAY=melody:0
$ export DISPLAY
$ xclock
$ su -
# mkdir -p /media/cdrom
# mount -r -t iso9660 /dev/cdrom /media/cdrom
In the above example, /media/cdrom is the CD-ROM mount point directory
and /dev/cdrom is the device name for the CD-ROM
device.
$ ls -l /u01/app/oracle/orainstall/Disk1/runInstaller
-rwxrwxr-x 1 oracle oinstall 2152 Dec 20 17:04 /u01/app/oracle/orainstall/Disk1/runInstaller*
$ TMP=/directory
$ TMPDIR=/directory
$ export TEMP TMPDIR
# su - oracle
$ id -a
uid=175(oracle) gid=116(oinstall) groups=115(dba),116(oinstall) context=user_u:system_r:unconfined_t
$ pwd
/u01/app/oracle
$ umask
022
$ echo $TMP
/tmp
$ echo $TMPDIR
/tmp
$ df -k /tmp
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
36316784 6622352 27849596 20% /
$ echo $ORACLE_BASE
/u01/app/oracle
$ echo $ORACLE_SID
TESTDB
$ unset ORACLE_HOME
$ unset TNS_ADMIN
$ /u01/app/oracle/orainstall/Disk1/runInstaller -ignoreSysPrereqs
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version: must be redhat-2.1, redhat-3, SuSE-9, SuSE-8 or UnitedLinux-1.0
Failed <<<<
>>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2005-05-10_02-24-47PM. Please wait ...
Oracle Universal Installer, Version 10.1.0.3.0 Production
Oracle10g Database Software Installation Screen Responses
Screen Name
Response
Welcome Screen
Click <Next>
Specify Inventory directory and credentials
Accept the default values:
Full path of inventory directory: /u01/app/oracle/oraInventory
Operating System group name: oinstall
Click <Next>
Root Script Window - Run orainstRoot.sh
Open a new console window on the node you are performing the
install on as the "root" user account.
Specify File Locations
Leave the default value for the Source directory.
In most cases, the OUI will select the correct destination name
and ORACLE_HOME. I always prefer to use the values I have
documented below:
Source Path: /u01/app/oracle/orainstall/Disk1/stage/products.xml
Destination Name: OraDb10g_home1
Destination Path: /u01/app/oracle/product/10.1.0/db_1
Click <Next>
Select Installation Types
For this example, I selected to do an Enterprise Edition install. You can also make a choice
to do a Standard Edition or a Custom install.
Enterprise Edition (877MB)
Standard Edition (840MB)
Custom
Click <Next>
Product-specific Prerequisite Checks
The OUI then presents the dialog "Product-specific Prerequisite Checks".
During the check procedures on CentOS 4.0, you will get a warning
while checking operating system certification:
Select Database Configuration
This dialog provides the option to have the OUI create
a database. Since I will be applying the latest database
patch to this install, (10.1.0.4.0), I will forgo the creation
of the database and select the option to not create a
starter database:
Database Configuration: Do not create a starter database
Click <Next>
Summary
Click <Install> to start the installation process.
$ cd /u01/app/oracle/product/10.1.0/db_1
$ su
Password: *******
# ./root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.1.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: /usr/local/bin
The file "dbhome" already exists in /opt/bin. Overwrite it? (y/n) [n]: n
The file "oraenv" already exists in /opt/bin. Overwrite it? (y/n) [n]: n
The file "coraenv" already exists in /opt/bin. Overwrite it? (y/n) [n]: n
Creating /etc/oratab file...
Adding entry to /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.
/var/opt/oracle does not exist. Creating it now.
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Oracle Cluster Registry for cluster has been initialized
Adding to inittab
Checking the status of Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
linux3
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
# exit
$
After successfully running the root.sh script, go back to the dialog window
from the Oracle Universal Installer and click "OK" to continue.
The following J2EE Applications have been deployed and are accessible at the URLs listed below.
Ultra Search URL:
http://linux3:5620/ultrasearch
Ultra Search Administration Tool URL:
http://linux3:5620/ultrasearch/admin
iSQL*Plus URL:
http://linux3:5560/isqlplus
iSQL*Plus DBA URL:
http://linux3:5560/isqlplus/dba
At the time of this writing, the latest patchset
for Oracle10g running on Linux x86 (32-bit) is 10.1.0.4 (also known
as patch 4163362).
The Oracle 10.1.0.4 patchset will need to be downloaded from the
Oracle Metalink website
(http://metalink.oracle.com).
Access to Oracle Metalink requires a valid login and CSI number.
The file name of the patchset to download is p4163362_10104_LINUX.zip
(last updated 28-MAR-2005)
and is 571MB in size. This may take some time to download.
Applying the Patchset
As the oracle user account, extract the patch file to a temporary directory:
$ id -a
uid=175(oracle) gid=116(oinstall) groups=115(dba),116(oinstall) context=user_u:system_r:unconfined_t
$ mkdir -p /u01/app/oracle/orapatch
$ mv p4163362_10104_LINUX.zip /u01/app/oracle/orapatch
$ cd /u01/app/oracle/orapatch
$ unzip p4163362_10104_LINUX.zip
You must install the Oracle database patch from an X windows workstation, an
X terminal, or a PC or other system with X server software installed.
$ DISPLAY=<your_local_workstation>:0.0 ; export DISPLAY
$ su -
# /etc/init.d/init.cssd stop
Shutting down CRS daemon.
Shutting down EVM daemon.
Shutting down CSS daemon.
Shutdown request successfully issued.
# exit
$ id -a
uid=175(oracle) gid=116(oinstall) groups=115(dba),116(oinstall) context=user_u:system_r:unconfined_t
$ cd /u01/app/oracle/orapatch/Disk1
$ ./runInstaller
Oracle 10.1.0.4.0 Patchset Installation Screen Responses
Screen Name
Response
Welcome Screen
Click <Next>
Specify File Locations
Leave the default value for the Source directory. By default,
it should be pointing to the products.xml file from the stage
directory where you unpacked the patch set files.
Source Path: /u01/app/oracle/orapatch/Disk1/stage/products.xml
Destination Name: OraDb10g_home1
Destination Path: /u01/app/oracle/product/10.1.0/db_1
Click <Next>
Summary
On the Summary screen, click <Install> to start the installation process.
$ cd /u01/app/oracle/product/10.1.0/db_1
$ su
Password: *******
# ./root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.1.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: /usr/local/bin
The file "dbhome" already exists in /opt/bin. Overwrite it? (y/n) [n]: n
The file "oraenv" already exists in /opt/bin. Overwrite it? (y/n) [n]: n
The file "coraenv" already exists in /opt/bin. Overwrite it? (y/n) [n]: n
Adding entry to /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.
clscfg: EXISTING configuration version 2 detected.
clscfg: version 2 is 10G Release 1.
Successfully accumulated necessary OCR keys.
clscfg: Arguments check out successfully.
NO KEYS WERE WRITTEN. Supply -force parameter to override.
-force is destructive and will destroy any previous cluster
configuration.
Oracle Cluster Registry for cluster has already been initialized
Starting Oracle CSS service under init(1M)
Startup will be queued to init within 30 seconds.
Expecting the CRS daemons to be up within 120 seconds.
CSS is active on these nodes.
linux3
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
# exit
After successfully running the root.sh script, go back to the dialog window
from the Oracle Universal Installer and click "OK" to continue.
On the End of Installation screen, click Exit,
then click Yes to exit from the Installer.