Installing Oracle Database 11g Release 1 on RHEL5


Overview

The guide provides a walkthrough of installing an Oracle Database 11g Release 1 database on commodity hardware for the purpose of evaluation.  If you are new to Linux and/or Oracle, this guide is for you. It starts with the basics and walks you through an installation of Oracle Database 11g Release 1 from the bare metal up.  Both 32-bit and 64-bit architectures are covered.  Unless otherwise indicated, the installation steps are the same for either.

This guide will take the approach of offering the easiest paths, with the fewest number of steps for accomplishing a task.  This approach often means making configuration choices that would be inappropriate for anything other than an evaluation.  For that reason, this guide is not appropriate for building production-quality environments, nor does it reflect best practices.

This guide is divided into four parts: Part I covers the installation of the Linux operating system, Part II covers configuring Linux for Oracle, Part III discusses the essentials of installing the Oracle Database, and Part IV covers creating additional filesystems and  Automatic Storage Management (ASM).  The Appendix provides information to help you get started using your new database including how to access the database interactively and how to stop and start the database and related services.

 


Part I: Installing Enterprise Linux 5

This section describes how to install Oracle Enterprise Linux 5 (OEL5) on your hardware (but the same steps will apply for RHEL5).  Please take a moment to make sure that your hardware meets or exceeds the minimum hardware requirements for Oracle Database 11g Release 1.

Minimum hardware requirements:

32-bit (x86)

64-bit (x86_64)

Note: Both Linux and Oracle must be installed for the same architecture. 32-bit Oracle will only run on 32-bit Linux and 64-bit Oracle will only run on 64-bit Linux.

Now, let's walk through the process of installing the Linux operating system on a server. The instructions assume a fresh install of Linux (as opposed to an upgrade), that the server will be dedicated to Oracle, and that no other operating systems or data are on the server.

Oracle Database 11g Release 1 is certified to run the base release of OEL5 without updates. Free copies of OEL5 are available for download.

  1. Boot the server using the first CD or DVD
  2. The boot screen appears with the boot: prompt at the bottom of the screen.
  3. Oracle Enterprise Linux splash screen
  4. Language Selection
  5. Keyboard Configuration
  6. Install or Upgrade
  7. Disk Partitioning Setup
  8. Network Configuration
  9. Time Zone Selection
  10. Set Root Password
     
  11. Package Installation
  12. Installing Packages
  13. After software installation is complete
  14. Welcome
  15. License Agreement
  16. Firewall Configuration
  17. SELinux
  18. Kdump
  19. Date and Time
  20. System User
  21. Sound Card
  22. Additional CDs
  23. The system will reboot
  24. A graphical login screen appears.
  25. Congratulations! Your OEL5 software is now installed.

Installing Required Packages

Additional Linux software packages must be installed before installing the Oracle software.   The package requirements differ for 32-bit and 64-bit architectures, so this section contains separate instructions for each architecture.

32-bit (x86) Installations

Required kernel version: 2.6.18  This kernel, or any of the kernels supplied in updates, works with Oracle Database 11g Release 1 .

Check your kernel version by running the following command:

uname -r

Ex:
# uname -r
2.6.18-8.el5

Required package versions (or later):

If you've performed a "default RPMs" install as suggested by Oracle, there are still some required packages that must be installed:

To install the remaining packages, mount the Oracle Enterprise Linux media and move to the directory containing the RPMs.

Some required packages are dependent upon other packages, so the dependant packages must be installed as well.  Login as root and run the following commands to install the remaining required packages and their dependent packages:

Mount CD 2

cd cd_mount_point/Server

rpm -ivh compat-libstdc++-33* elfutils-libelf-devel* glibc-devel-2* glibc-headers-2* gcc-4* libgomp-4* gcc-c++-4* libaio-devel* libstdc++-devel-4* unixODBC*

Ex:
# rpm -ivh compat-libstdc++-33* elfutils-libelf-devel* glibc-devel-2* glibc-headers-2* gcc-4* libgomp-4* gcc-c++-4* libaio-devel* libstdc++-devel-4* unixODBC*
warning: compat-libstdc++-33-3.2.3-61.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:unixODBC ########################################### [ 8%]
2:libstdc++-devel ########################################### [ 17%]
3:libgomp ########################################### [ 25%]
4:glibc-headers ########################################### [ 33%]
5:glibc-devel ########################################### [ 42%]
6:gcc ########################################### [ 50%]
7:gcc-c++ ########################################### [ 58%]
8:unixODBC-devel ########################################### [ 67%]
9:libaio-devel ########################################### [ 75%]
10:compat-libstdc++-33 ########################################### [ 83%]
11:elfutils-libelf-devel-s########################################### [ 92%]
12:elfutils-libelf-devel ########################################### [100%]

Mount CD 3

cd cd_mount_point/Server

rpm -ivh sysstat*

Ex:
# rpm -ivh sysstat*
warning: sysstat-7.0.0-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:sysstat ########################################### [100%]

To verify that the required packages have been installed on your system, run the following command:

rpm -q compat-libstdc++-33 elfutils-libelf-devel glibc-devel-2.5 gcc gcc-c++ libaio-devel libstdc++-devel \
unixODBC unixODBC-devel sysstat binutils elfutils-libelf glibc glibc-common libaio libgcc libstdc++ make

Ex: 
# rpm -q compat-libstdc++-33 elfutils-libelf-devel glibc-devel-2.5 gcc gcc-c++ libaio-devel libstdc++-devel \
> unixODBC unixODBC-devel sysstat binutils elfutils-libelf glibc glibc-common libaio libgcc libstdc++ make
compat-libstdc++-33-3.2.3-61
elfutils-libelf-devel-0.125-3.el5
glibc-devel-2.5-12
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
libaio-devel-0.3.106-3.2
libstdc++-devel-4.1.1-52.el5
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
sysstat-7.0.0-3.el5
binutils-2.17.50.0.6-2.el5
elfutils-libelf-0.125-3.el5
glibc-2.5-12
glibc-common-2.5-12
libaio-0.3.106-3.2
libgcc-4.1.1-52.el5
libstdc++-4.1.1-52.el5
make-3.81-1.1
 

64-bit (x86_64) Installations

Required kernel version: 2.6.18  This kernel, or any of the kernels supplied in updates, works with Oracle Database 11g Release 1 .

Check your kernel version by running the following command:

uname -rm

Ex:
# uname -rm
2.6.18-8.el5 x86_64

Required package versions (or later):

Note that there are a number of packages where both the 64-bit and 32-bit RPMs must be installed.  Fortunately, both are provided on the 64-bit Linux installation media.

If you've performed a "default RPMs" install as suggested by Oracle, there are still some required packages that must be installed:

To install the remaining packages, mount the Oracle Enterprise Linux media and move to the directory containing the RPMs.

Some required packages are dependent upon other packages, so the dependant packages must be installed as well.  Login as root and run the following commands to install the remaining required packages and their dependent packages:

Mount CD 2

mount -t iso9660 -r /dev/cdrom /media
cd /media/Server

rpm -ivh elfutils-libelf-devel*.x86_64.rpm glibc-devel-2* gcc-4*.x86_64.rpm gcc-c++-4*.x86_64.rpm libstdc++-devel-4*.x86_64.rpm glibc-headers*.x86_64.rpm libgomp*.x86_64.rpm

Ex:
# rpm -ivh elfutils-libelf-devel*.x86_64.rpm glibc-devel-2* gcc-4*.x86_64.rpm gcc-c++-4*.x86_64.rpm libstdc++-devel-4*.x86_64.rpm glibc-headers*.x86_64.rpm libgomp*.x86_64.rpm
warning: elfutils-libelf-devel-0.125-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:glibc-headers ########################################### [ 11%]
2:glibc-devel ########################################### [ 22%]
3:libgomp ########################################### [ 33%]
4:gcc ########################################### [ 44%]
5:libstdc++-devel ########################################### [ 56%]
6:gcc-c++ ########################################### [ 67%]
7:glibc-devel ########################################### [ 78%]
8:elfutils-libelf-devel-s########################################### [ 89%]
9:elfutils-libelf-devel ########################################### [100%]

cd /
eject

Mount CD 3

mount -t iso9660 -r /dev/cdrom /media
cd /media/Server

rpm -ivh compat-libstdc++-33* libaio-devel*.x86_64.rpm

Ex:
# rpm -ivh compat-libstdc++-33* libaio-devel*.x86_64.rpm
warning: compat-libstdc++-33-3.2.3-61.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:libaio-devel ########################################### [ 33%]
2:compat-libstdc++-33 ########################################### [ 67%]
3:compat-libstdc++-33 ########################################### [100%]

cd /
eject

Mount CD 4

mount -t iso9660 -r /dev/cdrom /media
cd /media/Server

rpm -ivh sysstat*

Ex:
# rpm -ivh sysstat*
warning: sysstat-7.0.0-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing... ########################################### [100%]
1:sysstat ########################################### [100%]

To verify that the required packages have been installed on your system, run the following command:

rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils \
compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \
glibc-common glibc-devel-2.5 libaio libaio-devel libgcc libstdc++ libstdc++-devel \
make sysstat

Ex: 
# rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils \
> compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \
> glibc-common glibc-devel-2.5 libaio libaio-devel libgcc libstdc++ libstdc++-devel \
> make sysstat
binutils-2.17.50.0.6-2.el5 (x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
compat-libstdc++-33-3.2.3-61 (x86_64)
elfutils-libelf-0.125-3.el5 (x86_64)
elfutils-libelf-devel-0.125-3.el5 (x86_64)
gcc-4.1.1-52.el5 (x86_64)
gcc-c++-4.1.1-52.el5 (x86_64)
glibc-2.5-12 (i686)
glibc-2.5-12 (x86_64)
glibc-common-2.5-12 (x86_64)
glibc-devel-2.5-12 (x86_64)
glibc-devel-2.5-12 (i386)
libaio-0.3.106-3.2 (x86_64)
libaio-0.3.106-3.2 (i386)
libaio-devel-0.3.106-3.2 (x86_64)
libgcc-4.1.1-52.el5 (x86_64)
libgcc-4.1.1-52.el5 (i386)
libstdc++-4.1.1-52.el5 (x86_64)
libstdc++-4.1.1-52.el5 (i386)
libstdc++-devel-4.1.1-52.el5 (x86_64)
make-3.81-1.1 (x86_64)
sysstat-7.0.0-3.el5 (x86_64)

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 11g Release 1.

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 11g Release 1 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 11g Release 1 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 D of the Oracle Database Installation Guide 11g Release 1 (11.1) for Linux.

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
chmod -R 775 /u01/app 

Configuring the Linux Kernel Parameters

Oracle Database 11g Release 1 requires the kernel parameter settings shown below. The values given are minimums, so if your system uses a larger value, don't change it.  Linux allows modification of most kernel parameters while the system is up and running, so there's no need to reboot the system after making kernel parameter changes.

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=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144

Note that OEL 5 already has values defined for kernel.shmall and kernel.shmmax.  Use the default values if they are the same or larger than the required values. 

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 <<EOF
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=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
EOF
/sbin/sysctl -p

Ex:
# cat >> /etc/sysctl.conf <<EOF
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
> 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=4194304
> net.core.wmem_default=262144
> net.core.rmem_max=4194304
> net.core.wmem_max=262144
> 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
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
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 = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
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 = 268435456
kernel.shmmax = 4294967295
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 = 4194304
# /sbin/sysctl -a | grep rmem_max
net.core.rmem_max = 4194304
# /sbin/sysctl -a | grep wmem_default
net.core.wmem_default = 262144
# /sbin/sysctl -a | grep wmem_max
net.core.wmem_max = 262144

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 <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

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

Change the default profile for bash and ksh as well as the default login script for cshell.

cat >> /etc/profile <<EOF
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 <<EOF
if ( \$USER == "oracle" ) then
 limit maxproc 16384
 limit descriptors 65536
 umask 022
endif
EOF

 
Part III: Installing Oracle

Oracle Database 11g Release 1 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 11g Release 1 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 11g Release 1 distribution:

mkdir 11gR1_db

To download Oracle Database 11g Release 1 from OTN, point your browser to the Oracle Database Download Page.  Read the OTN License agreement. If you agree with the restrictions and the license agreement, click on Accept License Agreement.

Click on the Linux x86  link (32-bit) or Linux x86-64 link (64-bit) and save the file in the directory you created for this purpose (11gR1_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 11gR1_db
For 32-bit
unzip linux_11gR1_database.zip
For 64-bit
unzip linux.x64_11gR1_database.zip

Install the Software and Create a Database

Log in using the oracle account.

Change directory to the directory containing the Oracle Database 11g Release 1 software.
Ex:
$ cd $HOME/11gR1_db/database

Start the Oracle Universal Installer.

$ ./runInstaller

  1. Select Installation Method
    • Select Basic Installation
    • Oracle Base Location: /u01/app/oracle
    • Oracle Home Location: /u01/app/oracle/product/11.1.0/db_1
    • Installation Type: Enterprise Edition (3.3GB)
    • UNIX DBA Group:  dba
    • 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/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. You may receive a warning related to swap file size if the default partition layout was used during OEL5 installation.  This may be safely ignored .  If one or more checks fail, correct the problem before proceeding. 
    • Click on Next
  4. Oracle Configuration Manager Registration
    • Leave this disabled for the demo and click on Next
  5. Summary
    • A summary of the products being installed is presented.
    • Click on Install.
  6. Install
    • Installation progress is displayed
  7. Configuration Assistants
    • The Oracle Net, Oracle Database, and iSQL*Plus configuration assistants will run automatically
    • Take note of the information presented in the Database Configuration Assistant pop-up window and click on OK.
  8. 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.
  9. End of Installation
    • Make note of the URLs presented in the summary, and click on Exit when ready.
  10. Congratulations! Your new Oracle Database 11g Release 1 database is up and ready for use.
     

 


Part IV: Configuring Storage

The database we created in Part III used a single filesystem for disk storage. However, there are several other ways to configure storage for an Oracle database.

This section explores other methods of configuring disk storage for a database. In particular, it describes creating an additional filesystem and using Automatic Storage Management (ASM).

Partition the Disks

In order to use either file systems or ASM, you must have unused disk partitions available.  This section describes how to create the partitions that will be used for new file systems and for ASM.

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 example uses /dev/sda (an empty disk with no existing partitions) to create a single partition for the entire disk.

Ex:
# fdisk /dev/sda

The number of cylinders for this disk is set to 30401.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 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-30401, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401):
Using default value 30401

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Now verify the new partition:

Ex:
# fdisk -l /dev/sda

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 30401 244196001 83 Linux

Repeat the above steps for each disk to be partitioned.  The following section on Filesystems uses a single disk partition, /dev/sda1.  The ASM example uses two disks: /dev/sda1 and /dev/sdb1.
 

Filesystems

Filesystems are the most widely used means of storing data file, redo logs, and control files for Oracle databases. Filesystems are easy to implement and require no third-party software to administer.

In most cases, filesystems are created during the initial installation of Linux. However, there are times when a new filesystem must be created after the initial installation, such as when a new disk drive is being installed.

This section describes building a new filesystem and using it in an Oracle database. Unless otherwise noted, all commands must be run as root.

Create the Filesystem

Use ext3 to create this new filesystem. Other filesystems work just as well, but ext3 offers the fastest recovery time in the event of a system crash.

Ex:
# mke2fs -j /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
30539776 inodes, 61049000 blocks
3052450 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1864 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Create the Mount Point

A filesystem must have a mount point, which is simply an empty directory where the new filesystem "attaches" to the system's directory tree. Mount points should be given names consistent with the Oracle Flexible Architecture (OFA) standard. For more information on OFA standards, see Appendix D of the Oracle Database Installation Guide 11g Release 1 (11.1) for Linux.

Because the /u01 directory was created in Part I, this example uses /u02.

Ex:
# mkdir /u02

Add the New Filesystem to /etc/fstab

So that the new filesystem will be mounted automatically when the system boots, you need to add a line to the /etc/fstab file that describes the new filesystem and where to mount it. Add a line similar to the one below to /etc/fstab, using a text editor.

/dev/sda1 /u02 ext3 defaults 1 2

Mount the New Filesystem

Mounting the filesystem makes it available for use. Until the filesystem is mounted, files cannot be stored in it. Use the following commands to mount the filesystem and verify that it is available.

mount /u02
df -h /u02

Ex:
# mount /u02
# df -h /u02
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 230G 188M 218G 1% /u02

Create Oracle Directories and Set Permissions

Now create a directory to store your Oracle database files. The directory name used in the example follows the OFA standard naming convention for a database with ORACLE_SID=demo1.

mkdir -p /u02/app/oracle/oradata/demo1
chown -R oracle:oinstall /u02/app
chmod -R 775 /u02/app

Create a New Tablespace in the New Filesystem

The new filesystem is ready for use. Next you create a new tablespace in the filesystem to store your database objects. Connect to the database as the SYSTEM user, and execute the CREATE TABLESPACE statement, specifying the data file in the new filesystem.

Ex:
$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Sun Nov 4 15:19:00 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create tablespace data1
2 datafile '/u01/app/oracle/oradata/demo1/data1_01.dbf' size 100m
3 extent management local
4 segment space management auto;

Tablespace created.

Now you can use the new tablespace to store database objects such as tables and indexes.

Ex:
SQL> create table demotab (id number(5) not null primary key,
 2 name varchar2(50) not null,
 3 amount number(9,2))
 4 tablespace data1;
 
Table created.

Automatic Storage Management (ASM)

ASM is a disk storage option that provides the services of a filesystem, logical volume manager, and software RAID in a platform-independent manner. ASM can stripe and mirror your disks, allow disks to be added or removed while the database is under load, and automatically balance I/O to remove "hot spots." It also supports direct and asynchronous I/O and implements the Oracle Data Manager API (simplified I/O system call interface) introduced in Oracle9i.

ASM is not a general-purpose filesystem and can be used only for Oracle database related files. Files in ASM can be created and named automatically by the database (by use of the Oracle Managed Files feature) or manually by the DBA.  ASM files are not accessible using operating system commands such as ls, cp, and dd.  To manage ASM files, use Oracle Enterprise Manager or other Oracle provided methods.

ASM is implemented as a separate Oracle instance that must be running if other databases are to be able to access it. Memory requirements for ASM are light: only 64 MB for most systems.
 

Installing ASM

ASM can use a variety of storage types including raw partitions, RAID LUNs, and NFS files.  For Linux systems, Oracle provides a custom device driver known as ASMLib, which is recommended for most ASM installations on Linux.  ASMLib is available for free download from OTN. This section walks through the process of configuring a simple ASM instance using ASMLib 2.0 and building a database that uses ASM for disk storage.

Determine Which Version of ASMLib You Need

ASMLib 2.0 is delivered as a set of three RPM packages.

Each Linux distribution has its own set of ASMLib 2.0 packages (OEL 5 uses the same RPMs as Red Hat Enterprise Linux 5 AS).  Within each distribution, each kernel version has a corresponding oracleasm package. The following paragraphs describe how to determine which set of packages you need.

First, determine which kernel you are using by logging in as root and running the following command:

uname -rm

Ex:
# uname -rm
2.6.18-8.el5 i686

The example shows that this is a 2.6.18 kernel, patch level 8, for Enterprise Linux 5 on 32-bit x86 compatible hardware (i686).

Use this information to find the correct ASMLib packages on OTN:

  1. Point your Web browser to http://www.oracle.com/technology/tech/linux/asmlib/index.html
  2. Select the link for your version of Linux (OEL5 users may use the Red Hat Enterprise Linux 5 AS link).
  3. Download the oracleasmlib and oracleasm-support packages for your version of Linux.  The files are grouped by architecture (AMD64 / Intel em64t for x86_64, IA64 for Itanium, and IA32 for x86).  At the top of each section is a Library and Tools heading.  Download both of the files under this heading - these are the support utilities and ASM libraries (oracleasm-support and oracleasmlib, respectively).
  4. Next, download the oracleasm package corresponding to your kernel. In the example above, the oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm package was used.  Note that there are two or three drivers listed under most of the kernel versions.  For example:

    Drivers for kernel 2.6.18-8.el5

    * oracleasm-2.6.18-8.el5xen-2.0.4-1.el5.i686.rpm
    * oracleasm-2.6.18-8.el5PAE-2.0.4-1.el5.i686.rpm
    * oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm

    Choose only one of these.  In this example, there are drivers for Xen (virtual machine architecture), PAE (for 32-bit systems with more than 4GB RAM), and the "standard" 32-bit kernel.

    Next, install the packages by executing the following command as root:

    rpm -Uvh oracleasm-kernel_version-asmlib_version.cpu_type.rpm \
    oracleasmlib-asmlib_version.cpu_type.rpm \
    oracleasm-support-asmlib_version.cpu_type.rpm
    
    Ex:
    # rpm -Uvh oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm \
    > oracleasm-support-2.0.4-1.el5.i386.rpm \
    oracleasmlib-2.0.3-1.el5.i386.rpm
    Preparing... ########################################### [100%]
    1:oracleasm-support ########################################### [ 33%]
    2:oracleasm-2.6.18-8.el5 ########################################### [ 67%]
    3:oracleasmlib ########################################### [100%]

Configuring ASMLib

Before using ASMLib, you must run a configuration script to prepare the driver. Run the following command as root, and answer the prompts as shown in the example below.

# /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 <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: [ OK ]
Loading module "oracleasm": [ OK ]
Mounting ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks: [ OK ]

Next you tell the ASM driver which disks you want it to use. Oracle recommends that each disk contain a single partition for the entire disk.  See Partitioning the Disks at the beginning of this section for an example of creating disk partitions.

Mark disks for use by ASMLib by running the following command as root:

/etc/init.d/oracleasm createdisk DISK_NAME device_name

Tip: Enter the DISK_NAME in UPPERCASE letters.

Ex:
# /etc/init.d/oracleasm createdisk VOL1 /dev/sda1
Marking disk "/dev/sdb1" as an ASM disk:                   [  OK  ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb1
Marking disk "/dev/sdb1" as an ASM disk:                   [  OK  ]
Verify that ASMLib has marked the disks: 
# /etc/init.d/oracleasm listdisks
VOL1
VOL2


Create the ASM Instance

ASM runs as a separate Oracle instance which can be created and configured using the Oracle Universal Installer.  Now that ASMLib is installed and the disks are marked for use, you can create an ASM instance.

Log in as oracle and start runInstaller:

$ ./runInstaller

  1. Select Installation Method
    • Select Advanced Installation
    • Click on Next
  2. Specify Inventory Directory and Credentials
    • Inventory Directory: /u01/app/oraInventory
    • Operating System group name:  oinstall
    • Click on Next
  3. Select Installation Type
    • Select Enterprise Edition
    • Click on Next
       
  4. Install Location
    • Oracle Base: /u01/app/oracle
    • Name:   OraDB11gASM
    • Path:      /u01/app/oracle/product/11.1.0/asm
      Note:Oracle recommends using a different ORACLE_HOME for ASM than the ORACLE_HOME used for the database for ease of administration.
    • Click on Next
  5. 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
  6. Select Configuration Option
    • Select Configure Automatic Storage Management (ASM)
    • Enter the ASM SYS password and confirm
    • Click on Next
  7. Configure Automatic Storage Management
    • Disk Group Name:  DATA
    • Redundancy
      - High mirrors data twice.
      - Normal mirrors data once.  This is the default.
      - External does not mirror data within ASM. This is typically used if an external RAID array is providing redundancy.
    • Add Disks
      The disks you configured for use with ASMLib are listed as Candidate Disks.  Select each disk you wish to include in the disk group.
    • Click on Next
       
  8. Privileged Operating System Groups
    • Database Administrator (OSDBA) Group: dba
    • Database Operator (OSOPER) Group: dba
    • ASM administrator (OSASM) Group: dba
    • Click on Next
  9. Oracle Configuration Manager Registration
    • Leave this disabled for the demo
    • Click on Next
  10. Summary
    • A summary of the products being installed is presented.
    • Click on Install.
  11. Install
    • Installation progress is displayed
  12. 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.
  13. Configuration Assistants
    • The Oracle Net, Oracle Database, and iSQL*Plus configuration assistants will run automatically
  14. End of Installation
    • Cick on Exit
  15. Congratulations! Your new Oracle ASM Instance is up and ready for use.


Create the Database

Once the ASM instance has been created, create a database that uses ASM for storage:

Log in as oracle and start runInstaller:

$ ./runInstaller

  1. Select Installation Method
    • Select Advanced Installation
    • Click on Next
  2. Select Installation Type
    • Select Enterprise Edition
    • Click on Next
       
  3. Install Location
    • Oracle Base: /u01/app/oracle
    • Name:   OraDb11g_home1
    • Path:      /u01/app/oracle/product/11.1.0/db_1
      Note:Oracle recommends using a different ORACLE_HOME for the database than the ORACLE_HOME used for ASM.
    • Click on Next
  4. 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
  5. Select Configuration Option
    • Select Create a Database
    • Click on Next
  6. Select Database Configuration
    • Select General Purpose
    • Click on Next
       
  7. Specify Database Configuration Options
    • Enter the Global Database Name and SID
    • Click on Next
       
  8. Specify Database Config Options
    • Accept the defaults or change as desired
    • Click on Next
       
  9. Select Database Management Option
    • Select Use Database Control for Database Management
    • Click on Next
  10. Specify Database Storage Option
    • Select Automatic Storage Management (ASM)
    • Click on Next
  11. Specify Backup and Recovery Options
    • Select Do not enable Automated backups
    • Click on Next
  12. Select ASM Disk Group
    • Select the DATA disk group created in the previous section
    • Click on Next
  13. Specify Database Schema Passwords
    • Select Use the same password for all the accounts
    • Enter the password and confirm
    • Click on Next
  14. Privileged Operating System Groups
    • Database Administrator (OSDBA) Group: dba
    • Database Operator (OSOPER) Group: dba
    • ASM administrator (OSASM) Group: dba
    • Click on Next
  15. Oracle Configuration Manager Registration
    • Leave this disabled for the demo
    • Click on Next
  16. Summary
    • A summary of the products being installed is presented.
    • Click on Install.
  17. Configuration Assistants
    • The Oracle configuration assistants will run automatically
    • When the configuration is complete, a pop-up window will appear with information about the database.  Make note of the URL and click on OK when ready.
  18. 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.
  19. End of Installation
    • Click on Exit
  20. Congratulations! Your new Oracle Database is up and ready for use.

Conclusion

Now that your database is up and running, you can begin exploring the many new features offered in Oracle Database 11g Release 1. A great place to start is with Oracle Enterprise Manager. If you're unsure where to begin, the Oracle Database Concepts 11g Release 1 and the 2-Day DBA guide will help familiarize you with your new database. OTN also has a number of guides designed to help you get the most out of Oracle Database 11g Release 1.


Appendix

Accessing the Database with SQL*Plus

Log into Linux as oracle. Set the environment.

Set the Oracle environment variables:

$ . oraenv
ORACLE_SID = [demo1] ? demo1
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 is /u01/app/oracle

Run SQL*Plus:

$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Sun Nov 4 23:56:47 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

Using Oracle Enterprise Manager 11g Database Control

In a Web browser, connect to the URL provided during the installation.

Ex:
https://ds1.orademo.org:1158/em (You may have to use the IP address instead of the host name if your database server isn’t in your DNS.)

User Name: SYSTEM
Password: <The password you chose during installation>
Connect As: Normal

Click on <Login>


 

Welcome to Oracle Enterprise Manager 11g Database Control.

Starting and Stopping Oracle Enterprise Manager Database Control:

$ emctl start dbconsole
$ emctl stop dbconsole

Starting and Stopping the Listener:

The listener accepts connection requests from clients and creates connections to the database once the credentials have been authenticated. Before you can use OEM, the listener must be up.

$ lsnrctl start
$ lsnrctl stop

Starting and Stopping the Database:

The easiest way to start and stop the database is from the OEM Console. To do that from the command line, use SQL*Plus while logged in as oracle, as follows:

Startup:

$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 5 00:00:31 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> startup
ORACLE instance started.

Total System Global Area 849530880 bytes
Fixed Size 1303216 bytes
Variable Size 377490768 bytes
Database Buffers 465567744 bytes
Redo Buffers 5169152 bytes
Database mounted.
Database opened.

SQL> exit

Shutdown:

$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 5 00:00:31 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> exit



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 12, 2019