Cheap Web Hosting | Free Web Hosting | Dedicated Server | Windows Hosting | Free Web Space | Web Hosting | FrontPage | Business Web Hosting
cheap web hosting
Search the Web

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

Oracle on Linux


Versions and Distributions

The current production release of Oracle on Linux is version 8.0.5. Oracle has announced that 8i will be released the week of April 12th. Both the Standard and Enterprise Edition versions of Oracle are available for Linux. However, there are a few, understandable exceptions with regard to full Enterprise functionality. For example, there is currently no Oracle Parallel Server Option available for Linux. In addition, neither the ConText nor Image Cartridges are currently available.

The version 7 release of Oracle has never been distributed for Linux, nor is there any consideration of this for the future. Interestingly, some enterprising individuals have been able to port version 7 distributions of Oracle for SCO to Linux. If you are interested in a back-port, the Linux and Oracle forum archives noted below should prove helpful.

Oracle Corporation has expressed a strong interest in maintaining a commitment to the Linux platform. Recent bulletins have noted that Oracle for Linux will be supported for both the 64-bit Alpha and Merced chips.

Oracle for Linux can be obtained through Oracle's standard retail channels in a CD-ROM distribution and via download from Oracle's Web site. The 8.0.5 version of Oracle can be downloaded from the Oracle Technology Network (OTN), http://technet.oracle.com/tech/linux/downld.htm. Several different download methods are available in an effort to reduce redundant transmissions due to network failure. As a single distribution, the standard version is 145MB in size. There are also several patches, some of which are required.

Oracle version 8.0.5 requires Linux version 2.0.34 or above. In addition, the system GNU C Library (GLIBC) version 2.0.6 is also required. The Oracle8 Installation Guide for Linux specifies GNU C Library version 2.0.7, but OTN has confirmed that version 2.0.6 is sufficient. The important thing to note, however, is that a vendor's distribution of Linux 2.0.34 might not include the required GNU C Library. Furthermore, the standard C Library, regardless of its version, is not acceptable. The GNU C Library is required.

This has been a troubling aspect for many installations. The Linux distribution standards appear to allow some flexibility in this area, so you need to note explicitly which libraries are contained within your distribution. Those Linux vendors who do not include the GLIBC with their distributions generally make it available for free from their Web sites. The GLIBC can also be obtained from various Linux distribution hosts on the Web, including http://prep.ai.mit.edu. and ftp://ftp.gnu.org/pub/gnu/glibc.


Sidebar: As one recent Linux email poster expressed it, "Linux is Linux is Linux!" Therefore, any Linux distribution that meets Oracle's requirements will satisfy core functionality. This fact is reassuring and comforting from a marketing and growth perspective. However, I'm personally more inclined to follow conservative, stability-oriented issues. I use Oracle for its functional capacity. My objectives are not met until the application works effectively and the conceptual requirements are fulfilled; not just when transactions are committed. I can appreciate those who venture out and work with new resources. It is these efforts that expand the marketplace, foster competition, reduce costs, and nurture new technologies. It is implicitly these people we have to thank for Linux.

When it comes to a new bridge, however, that will span my project from requirements to production, I would prefer to see a few people cross over before me.

So, I like to use what other people are using if it will satisfy my requirements. Generally, these products will prove less troublesome to implement. They are not particularly technically superior to other products or better programmed, but more of their flaws have been found and corrected. With regard to Linux distributions, Red Hat appears to fit this bill.


Red Hat Software is the leading distributor of Linux in the U.S. Oracle Corporation has announced strategic alliances with various Linux vendors, three of whom are specifically Linux distributors: Red Hat Software, Pacific HiTech, and SuSE, Inc. SuSE, Inc. is the leading distributor of Linux in Europe while Pacific HiTech has a similar role in the Far East. Oracle version 8.0.5 is supported on Red Hat Linux 5.1 and 5.2. In the examples used throughout this appendix, Red Hat version 5.2 is the Linux distribution being used.

Installation

In the following discussion, I assume that the reader has an understanding of, if not experience with, Oracle installations on UNIX. Therefore, I will direct attention to Linux-specific issues only. For more information on using Oracle on UNIX (specifically Solaris), see Appendix A. Every Oracle installation, regardless of platform, requires five distinct steps:

  1. Obtain any applicable patches.
  2. Satisfy Operating System requirements.
  3. Satisfy Oracle Database requirements.
  4. Execute installer.
  5. Apply patches.

Patches

In addition to the 8.0.5 distribution, there are usually several patches available for every Oracle platform, and Linux is no different. The necessity of certain patches is sometimes dependent on your individual functional requirements. For example, there is no need to acquire a patch if it only addresses the Multithreaded Server and you don't use this feature. Patchsets, on the other hand, are generally required for all installations. As you will see in the following examples, in certain circumstances, individual patches are also required.


Caution: When researching for patches on Oracle's Web site, be careful not too confuse the Standard or Enterprise Edition of version 8.0.5 with the Early Adopter's release. The latter requires not only different patches, but more of them.


The safest method to ensure you have the appropriate patches is simply to check with Oracle's Web site immediately prior to installation. At the time of this writing, patchset 8.0.5.1 is available (file: linux_80510patchset.tgz), whereas 8.0.5.2 is expected in late Spring, 1999.

In addition to the 8.0.5.1 patchset, there is also a Linux-specific patch also required by Oracle (file: lnxpatch.tgz). The readme files included with these or any other patches should be reviewed prior to continuing on to the next step. The patches can dictate changes to the Operating System, Database requirements, or different steps to be followed in the install process.

Patches for Linux can be obtained from Oracle's Web site at ftp://oracle-ftp.oracle.com/server/patch_sets/LINUX/80patchsets/80510/

Operating System Requirements

Fulfilling Operating System requirements is often the most difficult aspect of an Oracle installation on UNIX. Oracle refers to many of these tasks as "Tasks to Perform as the root user." They all address, in one way or another, operating system resources. The tasks can be broken down as follows:

  • Ensure that the minimum memory requirements are met. Oracle requires at least 32MB of RAM. However, you are strongly encouraged to use at least 48MB. The BETA or "Early Adapter's" release of 8.0.5 required 48MB.
  • Verify swap space requirements.
  • Ensure that enough free disk space exists for the Oracle code, not the database data files. The Oracle for Linux complete distribution consumes approximately 400MB.
  • Double-check to be sure that the operating system and any ancillary software meets Oracle's requirements[md]Linux 2.0.34 and GNU C Library version 2.0.6.
  • Create the oratab file. One very frustrating aspect of the Oracle installation on Linux is the fact that many of the Oracle shell scripts reference the Bourne shell location as, /usr/bin/sh. This is true with the oratab_create.sh script. Unfortunately, unlike many UNIX installations, Linux does not by default maintain a copy of, or a link to, the Bourne shell executable in this directory. Your workaround is one of three choices: edit the file to correct sh location, copy the sh executable to the /usr/bin directory (or use a link), or finally, "dot" execute the offending script. See a Linux text for more information on performing these operations.
  • Create a local bin directory.
  • Create the Oracle account.
  • Create a DBA group and, if necessary, a group for operators.
  • Identify and allocate to the Oracle account disk space for the software distribution and ultimately the database files.
  • Configure Linux Kernel for Oracle. This item not only sounds difficult, it can be complex in some situations. In contrast to the others tasks, this one can appear quite intimidating and is why it will be discussed in greater detail in the following section.
Configuring the Linux Kernel for Oracle
A predominant element of the Oracle architecture is the Shared Global Areas (SGA). This piece of memory is shared between the multiple processes or threads that constitute an Oracle instance. Shared memory requires a different construct from the operating system, and therefore, modifications to the kernel are needed in order to implement it.

Controlling access by the various processes to the shared memory and other logical structures within Oracle requires the use of system semaphores (locks). The semaphores and shared memory functionality are usually grouped together as the Interprocess Communication (IPC) module or driver. Many UNIX platforms implement this functionality by default in their standard distributions. Adjustments might still be needed to support the desired Oracle configuration, for example, a large SGA or a significant number of Oracle processes or users.

It is important to distinguish the availability or implementation of this functionality from parameters that adjust the degree of functionality. In other words, on any UNIX platform, prior to starting Oracle, you need to determine if shared memory and semaphores are implemented. As I noted previously, this functionality generally exists. Next, you need to decide if enough shared memory and/or semaphores are available to support your Oracle environment.

One easy method to determine whether the IPC extension is implemented is to query the IPC status as illustrated in Figure x.1.

Figure x.1

If the IPC driver or module is not installed, this command should not be available. Another method is to examine the current kernel configuration as illustrated in Figure x.2.

Figure x.2

This X-Window screen is produced by moving (cd) to the /usr/src/linux directory and entering the command make xconfig and then accessing the General setup parameters. As you can see, the System V IPC drivers have been activated in this system.

After you have confirmed that the IPC drivers are initiated, the next consideration is to determine if their settings are sufficient for your database. This information can be found in many Linux systems by searching the files referenced by the following table.

Table x.1 - IPC Parameter File Locations
IPC Parameter File Location
Shared Memory /usr/src/linux/include/asm/shmparam.h
Semaphores /usr/src/linux/include/linux/sem.h

Within these files you will find the parameters addressed in the installation manual. Unfortunately, in contrast to many UNIX systems, if these parameters do not satisfy your database needs, you do need to rebuild your kernel with the new versions of these files. Most UNIX systems simply require you to change these files and then