Wednesday, July 28, 2010

Oracle 10g


======
RHEL4
======
Oracle Database 10g Release 2 is certified to run the base release of
RHEL4 (Advanced Server and Enterprise Server) without updates. (Free
evaluation copies of RHEL4 are available for download.) If you have update
CDs, you can use the boot CD from the update instead of the boot CD
from the base release to automatically apply all updates during the
installation. All updates from Red Hat are supported by Oracle.
Read More


The easiest and fastest way to apply the updates for a fresh install of
Linux is to perform the install by using the update CDs. If Linux is
already installed or you don't have the updates on CDs, they can be
applied through RHN. Because this guide is designed for a fresh Linux
install, you'll use the update CDs.

1. Boot the server using the first CD.
* You may need to change your BIOS settings to allow booting
from the CD.
2. The boot screen appears with the boot: prompt at the bottom of
the screen.
* Select Enter to continue with a graphical install on the
console. (For other installation methods and options, refer to the Red
Hat Installation Guide.)
* The installer scans your hardware, briefly displays the Red
Hat splash screen, and then begins a series of screen prompts.
3. Language Selection
* Accept the default.
4. Keyboard Configuration
* Accept the default.
5. Welcome Screen
* Click on Next.
6. Disk Partitioning Setup
* A thorough treatment of disk partitioning is beyond the
scope of this guide, which assumes that you are familiar with disk
partitioning methods.

(WARNING: Improperly partitioning a disk is one of the
surest and fastest ways to wipe out everything on your hard disk. If you
are unsure how to proceed, stop and get help, or you will risk losing
data!)

This guide uses the following partitioning scheme, with
ext3 for each filesystem:

The 9GB disk on the first controller (/dev/sda) will hold
all Linux and Oracle software and contains the following partitions:
- 100MB /boot partition
-1,500MB swap partition—Set this to at least twice the
amount of RAM in the system but to no more than 2GB. (Thirty-two-bit
systems do not support swap files larger than 2GB.) If you need more than 2GB
of swap space, create multiple swap partitions.
-7,150MB root partition—This partition will be used for
everything, including /usr, /tmp, /var, /opt, /home, and more. This
approach is purely to simplify installation for the purposes of this guide. A
more robust partitioning scheme would separate these directories onto
separate filesystems.
7. Boot Loader Configuration
* Accept the default.
8. Network Configuration
* It is usually best to configure database servers with a
static IP address. To do so, click on Edit .
* A pop-up window appears. Uncheck the Configure using DHCP
box, and enter the IP Address and Netmask for the server. Be sure that
Activate on boot is checked, and click on OK .
* In the Hostname box, select manually and enter the
hostname.
* In the Miscellaneous Settings box, enter the remaining
network settings.
9. Firewall Configuration
* For the purposes of this walk-through, no firewall is
configured. Select No firewall
* Select Disabled on the "Enable SELinux" drop down list.
* Click on Proceed when the "Warning - No Firewall" window
appears.
10. Additional Language Support
* Accept the default.
11. Time Zone Selection
* Choose the time settings that are appropriate for your
area. Setting the system clock to UTC is usually a good practice for
servers. To do so, click on System clock uses UTC.
12. Set Root Password
* Enter a password for root, and enter it again to confirm.
13. Package Installation Defaults
* Select Customize software packages to be installed.
14. Package Group Selection
* Select only the package sets shown here and leave all
others unselected.
* Desktop
o X Window System
o Gnome
* Applications
o Graphical Internet (optional)
* Servers
o Do not select anything in this group.
* Development
o Development Tools
* System
o Administration Tools
o System Tools
+ Add the package 'sysstat' by clicking on the
Details link and selecting "sysstat - The sar an iostat system monitoring
commands." from the Optional Packages list.
* Miscellaneous
o Do not select anything in this group.
* Click on Next to proceed.
15. Installing Packages
* Software will be copied to the hard disk and installed.
Change disks as prompted.
16. Congratulations
* Remove the installation media from the system, and click on
Reboot .
17. The system automatically reboots and presents a new welcome
screen.
* Click on Next.
18. License Agreement
* Read the license agreement. If you agree to the terms,
select Yes, I agree to the License Agreement and click on Next.
19. Date and Time
* Set the Date and Time.
* If you want to use an NTP server (recommended), select
Enable Network Time Protocol and enter the name of the NTP server.
20. Display
* Accept the defaults or change as required.
21. Red Hat Login
* Enter your Red Hat Network login and password or create a
new one.
22. System User
* Create an account for yourself.
* Do not create an account for oracle at this time. Creating
the oracle account is covered later in this section.
23. Additional CDs
* Click on Next.
24. Finish Setup
* Click on Next.
25. A graphical login screen appears.
26. Congratulations! Your RHEL4 software is now installed.

Verifying Your Installation

Required kernel version: 2.6.9-5.0.5.EL This kernel, or any of the
kernels supplied in updates, works with Oracle Database 10g Release 2 .

Check your kernel version by running the following command:

uname -r

Ex:
# uname -r
2.6.9-22.ELsmp

Once you've completed the steps above, all of the packages required for
Oracle Database 10g Release 2 will have been installed. Verify this
using the example below.
Required package versions (or later):

* binutils-2.15.92.0.2-10.EL4
* compat-db-4.1.25-9
* control-center-2.8.0-12
* gcc-3.4.3-9.EL4
* gcc-c++-3.4.3-9.EL4
* glibc-2.3.4-2
* glibc-common-2.3.4-2
* gnome-libs-1.4.1.2.90-44.1
* libstdc++-3.4.3-9.EL4
* libstdc++-devel-3.4.3-9.EL4
* make-3.80-5
* pdksh-5.2.14-30
* sysstat-5.0.5-1
* xscreensaver-4.18-5.rhel4.2
* libaio-0.3.96
* openmotif21-2.1.30-11.RHEL4.2 (Required only to install Oracle
demos. Installation of Oracle demos is not covered by this guide.)

To see which versions of these packages are installed on your system,
run the following command:

rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common
gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver
libaio openmotif21

Ex:
# rpm -q binutils compat-db control-center gcc gcc-c++ glibc
glibc-common > gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver
libaio openmotif21
binutils-2.15.92.0.2-15
compat-db-4.1.25-9
control-center-2.8.0-12.rhel4.2
gcc-3.4.4-2
gcc-c++-3.4.4-2
glibc-2.3.4-2.13
glibc-common-2.3.4-2.13
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.4-2
libstdc++-devel-3.4.4-2
make-3.80-5
pdksh-5.2.14-30.3
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.9
libaio-0.3.103-3
openmotif21-2.1.30-11.RHEL4.4

=====================================================================================
Part II: Configuring Linux for Oracle
=====================================================================================

Now that the Linux software is installed, you need to configure it for
Oracle. This section walks through the steps required to configure
Linux for Oracle Database 10g Release 2.

Verifying System Requirements

To verify that your system meets the minimum requirements for an Oracle
Database 10g Release 2 database, log in as root and run the commands
below.
To check the amount of RAM and swap space available, run this:

grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

Ex:
# grep MemTotal /proc/meminfo
MemTotal: 1034680 kB
# grep SwapTotal /proc/meminfo
SwapTotal: 1534196 kB

The minimum RAM required is 1024MB, and the minimum required swap space
is 1GB. Swap space should be twice the amount of RAM for systems with
2GB of RAM or less and between one and two times the amount of RAM for
systems with more than 2GB.

You also need 2.5GB of available disk space for the Oracle Database 10g
Release 2 software and another 1.2GB for the database. The /tmp
directory needs at least 400MB of free space. To check the available disk
space on your system, run the following command:

df -h

Ex:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot

The example shows that the /tmp directory does not have its own
filesystem. (It's part of the root filesystem for this guide.) With 5.2 GB
available, the root filesystem has just enough space for the installation
(2.5 + 1.2 + 0.4 = 4.1GB) with a little room left over.

Create the Oracle Groups and User Account

Next, create the Linux groups and user account that will be used to
install and maintain the Oracle Database 10g Release 2 software. The user
account will be called oracle, and the groups will be oinstall and dba.
Execute the following commands as root:

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle

Ex:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)

Set the password on the oracle account:

passwd oracle

Ex:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Create Directories

Now create directories to store the Oracle Database 10g Release 2
software and the database files. This guide adheres to the Optimal Flexible
Architecture (OFA) for the naming conventions used in creating the
directory structure. For more information on OFA standards, see Appendix C
of the Oracle Database Installation Guide 10g Release 2 (10.2) for
Linux x86.

The following assumes that the directories are being created in the
root filesystem. This is done for the sake of simplicity and is not
recommended as a general practice. These directories would normally be
created as separate filesystems.

Issue the following commands as root:

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

Ex:
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle

Configuring the Linux Kernel Parameters

The Linux kernel is a wonderful thing. Unlike most other *NIX systems,
Linux allows modification of most kernel parameters while the system is
up and running. There's no need to reboot the system after making
kernel parameter changes. Oracle Database 10g Release 2 requires the kernel
parameter settings shown below. The values given are minimums, so if
your system uses a larger value, don't change it.

kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

If you're following along and have just installed Linux, the kernel
parameters will all be at their default values and you can just cut and
paste the following commands while logged in as root.

cat >> /etc/sysctl.conf <
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
/sbin/sysctl -p

Ex:
# cat >> /etc/sysctl.conf <
> kernel.shmall = 2097152
> kernel.shmmax = 536870912
> kernel.shmmni = 4096
> kernel.sem = 250 32000 100 128
> fs.file-max = 65536
> net.ipv4.ip_local_port_range = 1024 65000
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144

Run the following commands as root to verify your settings:

/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max

Ex:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
# /sbin/sysctl -a | grep rmem_default
net.core.rmem_default = 262144
# /sbin/sysctl -a | grep rmem_max
net.core.rmem_max = 262144
# /sbin/sysctl -a | grep wmem_default
net.core.wmem_default = 262144
# /sbin/sysctl -a | grep wmem_max
net.core.wmem_max = 262144

For Novell SUSE Linux releases, use the following to ensure that the
system reads the /etc/sysctl.conf file at boot time:

/sbin/chkconfig boot.sysctl on

Setting Shell Limits for the oracle User

Oracle recommends setting limits on the number of processes and open
files each Linux account may use. To make these changes, cut and paste
the following commands as root:

cat >> /etc/security/limits.conf <
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

cat >> /etc/pam.d/login <
session required /lib/security/pam_limits.so
EOF

For RHEL4, use the following:

cat >> /etc/profile <
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF

cat >> /etc/csh.login <
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF

For SLES 9, use the following:

cat >> /etc/profile.local <
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF

cat >> /etc/csh.login.local <
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF

=====================================================================================
Part III: Installing Oracle
=====================================================================================

Oracle Database 10g Release 2 can be downloaded from OTN. Oracle offers
a development and testing license free of charge. However, no support
is provided and the license does not permit production use. A full
description of the license agreement is available on OTN.

The easiest way to make the Oracle Database 10g Release 2 distribution
media available on your server is to download them directly to the
server.

Use the graphical login to log in as oracle.

Create a directory to contain the Oracle Database 10g Release 2
distribution:

mkdir 10gR2_db

To download Oracle Database 10g Release 2 from OTN, point your browser
(Firefox works well) to
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linuxsoft.html.
Fill out the Eligibility Export Restrictions page, and read the OTN
License agreement. If you agree with the restrictions and the license
agreement, click on I Accept.

Click on the 10201_database_linux32.zip link, and save the file in the
directory you created for this purpose (10gR2_db)—if you have not
already logged in to OTN, you may be prompted to do so at this point.

Unzip and extract the file:

cd 10gR2_db
unzip 10201_database_linux32.zip

Install the Software and Create a Database

Log in using the oracle account.
Change directory to the location where you extracted the Oracle
Database 10g Release 2 software.

Ex:
$ cd $HOME/10gR2_db

Change directory to Disk1.

Ex:
$ cd database

Start the Oracle Universal Installer.

$ ./runInstaller

1. Select Installation Method
* Select Basic Installation
* Oracle Home Location: /u01/app/oracle/product/10.2.0/db_1
* Installation Type: Enterprise Edition (1.3GB)
* UNIX DBA Group: oinstall
* Make sure Create Starter Database is checked
* Global Database Name: demo1
* Enter the Database Password and Confirm Password
* Click on Next
2. Specify Inventory Directory and Credentials
* Inventory Directory: /u01/app/oracle/oraInventory
* Operating System group name: oinstall
* Click on Next
3. Product-specific Prerequisite Checks
* If you've been following the steps in this guide, all the
checks should pass without difficulty. If one or more checks fail,
correct the problem before proceeding.
* Click on Next
4. Summary
* A summary of the products being installed is presented.
* Click on Install.
5. Configuration Assistants
* The Oracle Net, Oracle Database, and iSQL*Plus
configuration assistants will run automatically
6. Execute Configuration Scripts
* At the end of the installation, a pop up window will appear
indicating scripts that need to be run as root. Login as root and run
the indicated scripts.
* Click on OK when finished.
7. End of Installation
* Make note of the URLs presented in the summary, and click
on Exit when ready.
8. Congratulations! Your new Oracle Database 10g Release 2 database
is up and ready for use.