Hace unos meses atrás, escribí sobre le nuevo paquete que permitía simplificar en un 90% la instalación de la base de datos Oracle versión 11gR2 en Oracle Linux 6.
Recién, en el sitio de RSS de OTN, han publicado un artículo, que hubiera deseado hacerlo yo, pero por motivos de tiempo, trabajo y otras obligaciones, no fue posible. Por dicha, para Ginny Henningsen y Michele Casey, si lo fué.
Se los comparto literalmente, para los que no tienen acceso fácil, al sitio.
By Ginny Henningsen; updated by Michele Casey
How to simplify the installation of Oracle Database 11g on Oracle
Linux 6 by installing the oracle-rdbms-server-11gR2-preinstall
RPM
package.
Published September 2012
Note: This article applies to
Oracle Linux 6. A previous article, "How
I Simplified Oracle Database Installation on Oracle Linux," describes how to
perform a similar task on Oracle Linux 5.
Introducing the oracle-rdbms-server-11gR2-preinstall
RPM for
Oracle Linux
Before installing Oracle Database 11g on a system, you need to
preconfigure the operating environment since the database requires certain
software packages, package versions, and tweaks to kernel parameters. (Be sure
to review the appropriate Oracle Database installation guide to familiarize
yourself with hardware, software, and operating system requirements.)
|
oracle-rdbms-server-11gR2-preinstall
. This RPM performs a number of
preconfiguration steps, including the following:- Automatically downloading and installing any additional software packages
and specific package versions needed for installing Oracle Grid Infrastructure
and Oracle Database 11g Release 2 (11.2.0.3), with package dependencies
resolved via
yum
orup2date
capabilities. - Creating the user
oracle
and the groupsoinstall
(forOraInventory
) anddba
(forOSDBA
), which are used during database installation. (For security purposes, this user has no password by default and cannot log in remotely. To enable remote login, please set a password using thepasswd
tool.) - Modifying kernel parameters in
/etc/sysctl.conf
to change settings for shared memory, semaphores, the maximum number of file descriptors, and so on. - Setting hard and soft shell resource limits in
/etc/security/limits.conf
, such as the locked-in memory address space, the number of open files, the number of processes, and core file size. - Setting
numa=off
in the kernel for x86_64 machines.
oracle-rdbms-server-11gR2-preinstall
parses the
existing /etc/sysctl.conf
and
/etc/security/limits.conf
files and updates values only as needed
for database installation. Any precustomized settings not related to database
installation are left as is.The
oracle-rdbms-server-11gR2-preinstall
RPM package is
accessible through the Oracle Unbreakable Linux
Network (ULN, which requires a support contract), from the Oracle Linux
distribution media, or from the Oracle
public yum repository. Thus, whether or not your system is registered with
ULN to access Oracle patches and support, you can use
oracle-rdbms-server-11gR2-preinstall
to simplify database
installation on Oracle Linux. In addition, the Oracle public yum repository now
includes all security and bug errata, ensuring systems are secured and stable
with the latest security updates and bug fixes.
Installing the oracle-rdbms-server-11gR2-preinstall
RPM
The remainder of this article steps through the procedure that I used for
installing oracle-rdbms-server-11gR2-preinstall
on Oracle Linux via
the Oracle public yum repository. I started with a system running Oracle Linux
Release 6 Update 3 for x86_64, a 64-bit version of Oracle Linux that I
downloaded from the Oracle software
delivery cloud (requires registration or login). First, I set up a
yum
configuration file that pointed to the correct repository, and
then I installed the oracle-rdbms-server-11gR2-preinstall
RPM from
that repository.Here are the steps for preconfiguring a system for Oracle Database installation using
oracle-rdbms-server-11gR2-preinstall
:- As an authorized user (for example,
root
), retrieve the file that configures repository locations:# cd /etc/yum.repos.d # wget http://public-yum.oracle.com/public-yum-ol6.repo
- Using a text editor, modify the file, changing the field
enabled=0
toenabled=1
to reflect repositories that correspond to the machine's operating system release.
Here is an excerpt ofpublic-yum-old6.repo
with the changed lines in boldface.
[ol6_latest] name=Oracle Linux $releasever Latest ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/ gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 gpgcheck=1 enabled=1 [ol6_UEK_latest] name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/ gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 gpgcheck=1 enabled=1
Because the target system is running Oracle Linux Release 6 Update 3 for x86_64, which installs the Oracle Unbreakable Enterprise Kernel by default, there are two repositories to enable,[ol6_latest]
and[ol6_UEK_latest]
. - Next, install the
oracle-rdbms-server-11gR2-preinstall
RPM using theyum install
command.
The output in Listing 1 shows how the installation checks dependencies and then downloads and installs the required packages.
# yum install oracle-rdbms-server-11gR2-preinstall Loaded plugins: refresh-packagekit, rhnplugin, security Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6 will be installed --> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: gcc for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: libaio-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: glibc-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 --> Running transaction check ---> Package compat-libcap1.x86_64 0:1.10-1 will be installed ---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed ---> Package gcc.x86_64 0:4.4.6-4.el6 will be installed --> Processing Dependency: cpp = 4.4.6-4.el6 for package: gcc-4.4.6-4.el6.x86_64 --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.6-4.el6.x86_64 ---> Package gcc-c++.x86_64 0:4.4.6-4.el6 will be installed --> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.6-4.el6.x86_64 ---> Package glibc-devel.x86_64 0:2.12-1.80.el6_3.4 will be installed --> Processing Dependency: glibc-headers = 2.12-1.80.el6_3.4 for package: glibc-devel-2.12-1.80.el6_3.4.x86_64 --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.80.el6_3.4.x86_64 ---> Package ksh.x86_64 0:20100621-16.el6 will be installed ---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed ---> Package libstdc++-devel.x86_64 0:4.4.6-4.el6 will be installed --> Running transaction check ---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed --> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64 --> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64 ---> Package cpp.x86_64 0:4.4.6-4.el6 will be installed ---> Package glibc-headers.x86_64 0:2.12-1.80.el6_3.4 will be installed --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.80.el6_3.4.x86_64 --> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.80.el6_3.4.x86_64 ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed --> Running transaction check ---> Package kernel-uek-headers.x86_64 0:2.6.32-300.32.1.el6uek will be installed ---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: oracle-rdbms-server-11gR2-preinstall x86_64 1.0-6.el6 ol6_latest 15 k Installing for dependencies: cloog-ppl x86_64 0.15.7-1.2.el6 ol6_latest 93 k compat-libcap1 x86_64 1.10-1 ol6_latest 17 k compat-libstdc++-33 x86_64 3.2.3-69.el6 ol6_latest 183 k cpp x86_64 4.4.6-4.el6 ol6_latest 3.7 M gcc x86_64 4.4.6-4.el6 ol6_latest 10 M gcc-c++ x86_64 4.4.6-4.el6 ol6_latest 4.7 M glibc-devel x86_64 2.12-1.80.el6_3.4 ol6_latest 970 k glibc-headers x86_64 2.12-1.80.el6_3.4 ol6_latest 600 k kernel-uek-headers x86_64 2.6.32-300.32.1.el6uek ol6_latest 713 k ksh x86_64 20100621-16.el6 ol6_latest 684 k libaio-devel x86_64 0.3.107-10.el6 ol6_latest 13 k libstdc++-devel x86_64 4.4.6-4.el6 ol6_latest 1.5 M mpfr x86_64 2.4.1-6.el6 ol6_latest 156 k ppl x86_64 0.10.2-11.el6 ol6_latest 1.3 M Transaction Summary ================================================================================ Install 15 Package(s) Total download size: 25 M Installed size: 61 M Is this ok [y/N]: Downloading Packages: -------------------------------------------------------------------------------- Total 710 kB/s | 25 MB 00:35 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : mpfr-2.4.1-6.el6.x86_64 1/15 Installing : libstdc++-devel-4.4.6-4.el6.x86_64 2/15 Installing : cpp-4.4.6-4.el6.x86_64 3/15 Installing : ppl-0.10.2-11.el6.x86_64 4/15 Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 5/15 Installing : kernel-uek-headers-2.6.32-300.32.1.el6uek.x86_64 6/15 Installing : glibc-headers-2.12-1.80.el6_3.4.x86_64 7/15 Installing : glibc-devel-2.12-1.80.el6_3.4.x86_64 8/15 Installing : gcc-4.4.6-4.el6.x86_64 9/15 Installing : gcc-c++-4.4.6-4.el6.x86_64 10/15 Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64 11/15 Installing : libaio-devel-0.3.107-10.el6.x86_64 12/15 Installing : ksh-20100621-16.el6.x86_64 13/15 Installing : compat-libcap1-1.10-1.x86_64 14/15 Installing : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 15/15 Verifying : gcc-4.4.6-4.el6.x86_64 1/15 Verifying : compat-libcap1-1.10-1.x86_64 2/15 Verifying : ksh-20100621-16.el6.x86_64 3/15 Verifying : glibc-devel-2.12-1.80.el6_3.4.x86_64 4/15 Verifying : libaio-devel-0.3.107-10.el6.x86_64 5/15 Verifying : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 6/15 Verifying : gcc-c++-4.4.6-4.el6.x86_64 7/15 Verifying : glibc-headers-2.12-1.80.el6_3.4.x86_64 8/15 Verifying : libstdc++-devel-4.4.6-4.el6.x86_64 9/15 Verifying : compat-libstdc++-33-3.2.3-69.el6.x86_64 10/15 Verifying : mpfr-2.4.1-6.el6.x86_64 11/15 Verifying : kernel-uek-headers-2.6.32-300.32.1.el6uek.x86_64 12/15 Verifying : cpp-4.4.6-4.el6.x86_64 13/15 Verifying : ppl-0.10.2-11.el6.x86_64 14/15 Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 15/15 Installed: oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6 Dependency Installed: cloog-ppl.x86_64 0:0.15.7-1.2.el6 compat-libcap1.x86_64 0:1.10-1 compat-libstdc++-33.x86_64 0:3.2.3-69.el6 cpp.x86_64 0:4.4.6-4.el6 gcc.x86_64 0:4.4.6-4.el6 gcc-c++.x86_64 0:4.4.6-4.el6 glibc-devel.x86_64 0:2.12-1.80.el6_3.4 glibc-headers.x86_64 0:2.12-1.80.el6_3.4 kernel-uek-headers.x86_64 0:2.6.32-300.32.1.el6uek ksh.x86_64 0:20100621-16.el6 libaio-devel.x86_64 0:0.3.107-10.el6 libstdc++-devel.x86_64 0:4.4.6-4.el6 mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6 Complete!
Listing 1: Installing theoracle-rdbms-server-11gR2-preinstall
RPM
The yum installation logs messages about kernel changes in the file/var/log/oracle-rdbms-server-11gR2-preinstall/results/orakernel.log
, and it makes backups of current system settings in the directory/var/log/oracle-rdbms-server-11gR2-preinstall/backup
. - At this point, the system is ready for the installation of Oracle Database.
For example, to install Oracle Database 11g Release 2, follow the
directions in Chapter 4, "Installing Oracle Database," of the Database
Installation Guide for Linux."
Here are the steps I followed while installing Oracle Database 11g Release 2 in my test environment. Make sure you review all documentation and follow recommended best practices before installing into your production environment.
- As
root
, create a parent directory in a file system that has sufficient space to be the target location for the downloaded files:# mkdir /home/OraDB11g # cd /home/OraDB11g
The amount of disk space needed in the file system varies according to the specific installation type, but roughly twice the size of the zip archives, or 5 GB, is enough to house the software and data files. - Into this target directory, download the installation media files from the Oracle Database Software Downloads page on Oracle Technology Network.
- Extract the files:
# unzip linux.x64_11gR2_database_1of2.zip # unzip linux.x64_11gR2_database_2of2.zip
- Log in as the user
oracle
. Change directory to thedatabase
directory and enter the following command to run the Oracle Universal Installer:$ cd /home/OraDB11g/database $ ./runInstaller
oracle-rdbms-server-11gR2-preinstall
installation. During the kernel settings check, the installer might flag a few settings as "failed," and you should investigate these failures. In some cases, you still might be able to continue with the database installation. If you check kernel settings in/etc/sysctl.conf
, you'll see thatoracle-rdbms-server-11gR2-preinstall
has modified and added the necessary settings to ensure the minimum requirements are met, as defined in section 2.10.1, "Displaying and Changing Kernel Parameter Values," in Chapter 2, "Oracle Database Preinstallation Requirements," of the Oracle Database Installation Guide 11g Release2 (11.2) for Linux. Below is the list of requirements:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
If necessary, you can (asroot
) edit the file/etc/sysctl.conf
to specify a setting manually, for example:
# vi /etc/sysctl.conf # /sbin/sysctl -p
The Oracle Universal Installer performs additional checks, such as verifying theglibc
version, sufficient disk space, environmental variable and path settings, and sufficient physical memory and swap space. Generally, installingoracle-rdbms-server-11gR2-preinstall
takes care of the prerequisites so that you can proceed directly with installing the database. - As
Final Thoughts
Installing theoracle-rdbms-server-11gR2-preinstall
RPM can save
time when installing Oracle Database 11g on Oracle Linux. The RPM
addresses most Oracle Database installation prerequisites and greatly simplifies
the installation process.See Also
Here are the resources referenced earlier in this document:- Oracle Unbreakable Linux Network: https://linux.oracle.com
- Oracle public yum repository: http://public-yum.oracle.com/
- Oracle software delivery cloud (requires registration or login): https://edelivery.oracle.com/linux
- Chapter 4, "Installing Oracle Database," of the Database Installation Guide for Linux: http://docs.oracle.com/cd/E11882_01/install.112/e24321/inst_task.htm#BABBBHJH
- Oracle Database Software Downloads page on Oracle Technology Network: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
- "About the Oracle RDBMS Pre-Install and Oracle Validated RPMs" from Chapter 1, "Overview of Oracle Database Installation": http://download.oracle.com/docs/cd/E11882_01/install.112/e16763/install_overview.htm#BABDBHCJ
- Chapter 2, "Oracle Database Preinstallation Requirements": http://download.oracle.com/docs/cd/E11882_01/install.112/e16763/pre_install.htm#BABFDGHJ
- "Downloading Oracle Software" from Chapter 4, "Installing Oracle Database," which describes how to download installation files from the Oracle Technology Network Website: http://docs.oracle.com/cd/E11882_01/install.112/e16763/inst_task.htm#autoId6
About the Authors
Ginny Henningsen has worked for the last 15 years as a freelance writer developing technical collateral and documentation for high-tech companies. Prior to that, Ginny worked for Sun Microsystems, Inc. as a Systems Engineer in King of Prussia, PA and Milwaukee, WI. Ginny has a BA from Carnegie-Mellon University and a MSCS from Villanova University.Michele Casey is the Director of Product Management for Oracle Linux. She has worked with commercial Linux distributions and open source projects as a product manager since 2006. She has also held positions as a system administrator, project manager, and technical support engineer.
Revision 1.0, 09/17/2012 |