Installing Oracle9i (9.2.0) on Red Hat Linux 8.0 using RAW devices

Steps for installing Oracle9i (9.2.0) on Red Hat Linux 8.0 using RAW devices.

This Content Component encountered an error
Jeff Hunter

Jeff Hunter is a SearchOracle.com guest contributor. Jeff is a senior DBA and author. He specializes in advanced performance tuning, Java programming, capacity planning, database security and physical/logical database design in a UNIX, Linux and Windows NT environments.

You can find more of Jeff's work at www.iDevelopment.info.

TABLE OF CONTENTS
   Overview
   Swap space considerations
   Install the Java Development Kit (JDK)
   Create Oracle account and directories
   Downloading/unpacking the Oracle9i installation files
   Run the Oracle Installer
   Errors during the relink phase of the install
   Creating an Oracle9i database on RAW devices
   Configuration files/scripts


Overview
[ Return to Table of Contents ]

The following article is a summary of the steps required to successfully install the Oracle9i (9.2.0) RDBMS software on Redhat Linux 8.0 and create a database using RAW devices. Keep in mind the following assumptions throughout this article:

  • The Linux install will be Red Hat Professional 8.0.
  • When installing Linux, I will install ALL software components (everything). This makes it easier than trying to troubleshoot missing software components.
  • The ORACLE_SID of the database to be created is O920DB.
  • The Linux server will be configured as follows:
    • Pentium IV Computer
    • 1.8 GHz Pentium IV
    • 512 MB RAM
    • 40 GB Internal HD (Master /dev/hda)
    • 40 GB Internal HD (Slave /dev/hdb)
    • 32 MB AGP Video Card
    • CD/ROM and Floppy
  • The Linux server will contain two internal IDE hard drives:
    • /dev/hda - This HD will contain the Linux operating system and Oracle9i RDBMS Software.
    • /dev/hdb - This HD will contain the RAW devices where all Oracle database files (data files, control files, online redo logs) will exist. We will be using LVM to create the partitions on this drive.
  • For the /dev/hdb hard drive, we will be using Logical Volume Manager (LVM) to create all of the partitions. It should be assumed that NO partitions exist on this drive. Instructions will be provided to remove any partitions that may already exist on this hard drive.


Swap space considerations
[ Return to Table of Contents ]

  • Installing Oracle9i requires a minimum of 512 MB of memory. (An inadequate amount of swap during the installation will cause the Oracle Universal Installer to either "hang" or "die.")
  • To check the amount of memory/swap you have allocated, type either:
    # free
    - OR -
    # cat /proc/swaps
    - OR -
    # cat /proc/meminfo | grep MemTotal
  • If you have less than 512 MB of memory (between your RAM and SWAP), you can add temporary swap space by creating a temporary swap file. This way you do not have to use a raw device or even more drastic, rebuild your system.
  • As root, make a file that will act as additional swap space, let's say about 300 MB:
    # dd if=/dev/zero of=tempswap bs=1k count=300000

    Now we should change the file permissions:
    # chmod 600 tempswap

    Finally we format the "partition" as swap and add it to the swap space: # mke2fs tempswap
    # mkswap tempswap
    # swapon tempswap



Install the Java Development Kit (JDK)
[ Return to Table of Contents ]

In order to use Oracle's HTTP [Apache] Server, you will need to download the appropiate SDK from Sun.

As per the JDK documentation, install JDK under /usr/local.
Then create a symbolic link to the JDK under /usr/local/java.

  • Sun's SDK 1.4.1
  • Download from: http://java.sun.com/j2se/1.4.1/download.html

    Download the "Linux self-extracting file / SDK" option (I still don't trust or use RPMs).

    Install as root:

      # cp j2sdk-1_4_1_01-linux-i586.bin /usr/local
      # cd /usr/local
      # chmod 755 j2sdk-1_4_1_01-linux-i586.bin
      # ./j2sdk-1_4_1_01-linux-i586.bin
      # ln -s /usr/local/j2sdk1.4.1_01 /usr/local/java
      # rm j2sdk-1_4_1_01-linux-i586.bin


Create Oracle account and directories
[ Return to Table of Contents ]

Create Oracle user account:

# groupadd -g 115 dba
# useradd -u 173 -c "Oracle Software Owner" -d /u01/app/oracle -g "dba" -m -s /bin/bash oracle
# passwd oracle

Create Oracle directories:

# mkdir /u01
# mkdir /u01/app
# mkdir /u01/app/oracle
# mkdir /u01/app/oracle/admin
# mkdir /u01/app/oracle/admin/O920DB
# mkdir /u01/app/oracle/admin/O920DB/adhoc
# mkdir /u01/app/oracle/admin/O920DB/adump
# mkdir /u01/app/oracle/admin/O920DB/arch
# mkdir /u01/app/oracle/admin/O920DB/backups
# mkdir /u01/app/oracle/admin/O920DB/bdump
# mkdir /u01/app/oracle/admin/O920DB/cdump
# mkdir /u01/app/oracle/admin/O920DB/create
# mkdir /u01/app/oracle/admin/O920DB/dba
# mkdir /u01/app/oracle/admin/O920DB/exp
# mkdir /u01/app/oracle/admin/O920DB/logbook
# mkdir /u01/app/oracle/admin/O920DB/pfile
# mkdir /u01/app/oracle/admin/O920DB/release
# mkdir /u01/app/oracle/admin/O920DB/report
# mkdir /u01/app/oracle/admin/O920DB/tuning
# mkdir /u01/app/oracle/admin/O920DB/udump
# mkdir /u01/app/oracle/product
# chown -R oracle:dba /u01/app/oracle

# mkdir /opt/bin
# chown oracle:dba /opt/bin
Oracle environment variable settings:

An example ".bash_profile" is provided in the configuration files/scripts section below.

Ensure to set the environment variable: LD_ASSUME_KERNEL=2.2.5

NOTE: Failing to set the LD_ASSUME_KERNEL parameter will cause the Oracle Universal Installer to hang!


Downloading/unpacking the Oracle9i installation files
[ Return to Table of Contents ]

  • Login as the newly created "oracle" user account. (su - oracle). Most of the actions throughout the rest of this document should be done as the "oracle" user account unless otherwise noted.
  • Download Oracle9i from Oracle's OTN site.
    (If you do not currently have an account with Oracle OTN, you will need to create one. This is a FREE account!)
  • Download the following files to a temporary directory:
    • lnx_920_disk1.cpio.gz (553,607,967 bytes)
    • lnx_920_disk2.cpio.gz (588,817,480 bytes)
    • lnx_920_disk3.cpio.gz (442,135,815 bytes)
  • Directions to extract the files.

1. Run "gunzip " on all the files.

      Eg. gunzip lnx_920_disk1.cpio.gz

2. Extract the cpio archives with the command: "cpio -idmv < "

    Eg. cpio -idmv < lnx_920_disk1.cpio

    Important note: Some browsers will uncompress the files but leave the extension the same (gz) when downloading. If the above steps do not work for you, try skipping step 1 and go directly to step 2 without changing the filename.

      Eg. "cpio -idmv < lnx_920_disk1.cpio.gz"
  • You should now have three directories called "Disk1, Disk2 and Disk3" containing the Oracle9i Installation files:
    • /Disk1
      /Disk2
      /Disk3


Run the Oracle Installer
[ Return to Table of Contents ]

As the "oracle" user account:

  • Set your DISPLAY variable to a valid X Windows display.

    % DISPLAY= :0.0
    % export DISPLAY

    NOTE: If you forgot to set the DISPLAY environment variable and you get the following error:

    Xlib: connection to ":0.0" refused by server
    Xlib: Client is not authorized to connect to Server

    You will then need to execute the following command to get "runInstaller" working again:
    % rm -rf /tmp/OraInstall

    If you don't do this, the Installer will hang without giving any error messages. Also make sure that "runInstaller" has stopped running in the background. If not, kill it.

  • Change directory to the Oracle installation files you downloaded and extracted. Then run: runInstaller.

    % cd <your temp directory>/Disk1
    % ./runInstaller

  • During the installation, DO NOT choose to "Create A Database." This how I answered the questions:
    • Inventory Location: /u01/app/oracle/oraInventory
    • UNIX Group Name: dba
    • You will be prompted to run /tmp/orainstRoot.sh as the "root" user account. After performing this action, continue the install by hitting the "Continue" button in the installer.
    • Destination:
      • Name: OraHome920
      • Path: /u01/app/oracle/product/9.2.0
    • Available products: Oracle9i Database 9.2.0.1.0
    • Installation types: Enterprise Edition (2.04 GB)
    • Database configuration: Software only

  • Errors during the "Link" phase
  • About 84% into the Link phase of the install, you will get an error when invoking the target of "install" in makefile: /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk. Leave this error message up and refer to the next section, Errors during the Relink Phase of the Install, on how to resolve and continue from this error. You will come back to this error dialog box after modify the $ORACLE_HOME/ctx/lib/env_ctx.mk file.

  • Continuing with the "Link" phase
  • The "Link" phase will now successfully continue to 100% complete. When the "Link" phase is complete, you will be prompted to run the $ORACLE_HOME/root.sh script as the "root" user account. Go ahead and perform this action. When prompted for the "local bin directory," I generally choose to put the files in /opt/bin keeping with by old conventions of Solaris. You may choose to use the default of /usr/local/bin if you would like. Just make sure that whatever directory you choose that it is in the PATH environment variable of the "oracle" user account.

  • Completing the installation
  • After running the root.sh script in the above step, you have successfully installed the Oracle9i RDBMS software. At the "End of Installation" screen, simply hit the "Exit" button. A few seconds after hitting the "Exit" button will bring up "Oracle Enterprise Manager" (OEM). I generally exit from the OEM application as I keep a central repository for all nodes and databases.

    From here, it is time to create the O920DB Oracle database. In the configuration files/scripts section of this document, I put together an example initO920DB.ora instance parameter file along with a set of CREATE DATABASE... scripts in an archive named create_database920.tar.

    Good Luck!



Errors during the relink phase of the install
[ Return to Table of Contents ]

During the "Link Phase" of the install, you will get an error while trying to make/install CTX. (The same issue exists in 9.0.1 on RedHat Linux).

The following errors will exist in $ORACLE_HOME/install/make.log

/lib/libdl.so.2: undefined reference to `__ctype_b_loc@GLIBC_2.3'
/lib/libdl.so.2: undefined reference to `_dl_addr@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_open@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_close@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_sym@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_vsym@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
make: *** [ctxhx] Error 1

This error occurs when the following is executed:

/usr/bin/make -f ins_ctx.mk install
ORACLE_HOME=/u01/app/oracle/product/9.2.0

Solution

The solution is to edit the file $ORACLE_HOME/ctx/lib/env_ctx.mk and go to "INSO_LINK =", add a "$(LDLIBFLAG)dl" to the line and save it.

Here is the full line with the added "$(LDLIBFLAG)dl" flag:

INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)

Set LD_ASSUME_KERNEL

You will also need to enter LD_ASSUME_KERNEL=2.2.5 in your .profile (or .bash_profile if you are using BASH) for the "oracle" user account so that they you can run programs like "dbssist" and "netca".

Return and retry

After making the above change, return to the popup error dialog box and hit "Retry". It should continue from here with no errors.


Creating an Oracle9i Database on RAW devices
[ Return to Table of Contents ]

Now to the heart of this document, and that is how to create a database using RAW devices instead of using files on a file system. So far, all of the action has taken place on the master IDE drive, /dev/hda. It is now time to work with that second hard drive in our system, /dev/hdb. As I mentioned in the first section of this document, the Linux operating system and the Oracle RDBMS software will be installed on /dev/hda, while we will be creating a database named O920DB on RAW devices on the /dev/hdb disk. Here is a short overview of how we will be accomplishing this:

  • We will be using the entire /dev/hdb hard drive for the Oracle database. There should be no partition tables on this disk. I will show how to remove any parition tables from the disk.
  • We will then create an LVM Physical Volume called /dev/pv1 for the entire /dev/hdb hard drive.
  • The demonstration will then continue by creating an LVM Volume Group and including the previously created LVM Physical Volume.
  • After creating the LVM Volume Group, we then continue by creating an LVM Logical Volume for each datafile, controlfile, and online redo log file for our new database. All together, we will be creating 24 Logical Volumes.
  • Use the raw command to bind RAW devices to our Logical Volumes created in the previous task.
  • We complete this section with a sample SQL script that creates a database named O920DB that utilizes our RAW deivces.

Removing any partitions on second IDE internal hard drive

I decided to use my second IDE 40GB hard drive as the one to store the Oracle database files. The device was recognized on my system as: /dev/hdb. Lets assume for the purpose of this document that the entire hard drive should be dedicated to Oracle database files and that no partitions will exist. If there are partitions on the /dev/hdb hard disk, there are several ways to remove them. The first way is to use the Linux fdisk utility. Using fdisk, you can simply walk through any of the primary / extended partitions and use the proper commands to remove them. Once you have removed all of the partitions, use the p command within fdisk to verify that no further partitions exist. When you are sure they are all removed, use the w command within fdisk to write your changes to the hard disk's partition table.

Another way to remove any entries in the hard disk's partition table is to use the dd command: The following commands will destroy the partition table on the disk being operated on. Be very sure it is the correct disk before continuing!

# dd if=/dev/zero of=/dev/hdb bs=1K count=1
1+0 records in
1+0 records out

# blockdev --rereadpt /dev/hdb
At this point, you should have a hard drive recognized as /dev/hdb with no partitions.

Create the LVM physical volume

In this step, we will create an LVM Physical Volume called /dev/pv1 for the entire hard disk /dev/hdb.

Before continuing with the syntax for creating the LVM Physical Volume, I want to mention that within the configuration files/scripts section of this document, I included a shell script named create_hdb_lvm.sh that contains all of the commands to create the LVM Physical Volume, LVM Volume Group, and LVM Logical Volumes for the /dev/hdb hard drive. Create an LVM Physical Volume named /dev/pv1 for the entire /dev/hdb hard drive using the following command:
# pvcreate /dev/hdb
pvcreate -- physical volume "/dev/hdb" successfully created

Create the LVM volume group

In this step, we will create an LVM Volume Group that will contain the LVM Physical Volume /dev/pv1.

Like mentioned in the previous section, all commands for creating the LVM Logical Volumes are contained in the script create_hdb_lvm.sh. Create an LVM Volume Group named that contains the LVM Physical Volume /dev/pv1.

# vgcreate -l 256 -p 256 -s 128k /dev/pv1 /dev/hdb
vgcreate -- INFO: maximum logical volume size is 8 GB
vgcreate -- doing automatic backup of volume group "pv1"
vgcreate -- volume group "pv1" successfully created and activated

Create all LVM logical volumes

Now that we have a LVM Volume Group that contains the block device /dev/hdb, it is time to create all of the LVM Logical Volumes that will be used to house all of the Oracle database files.

Like mentioned in the previous section, all commands for creating the LVM Logical Volumes are contained in the script create_hdb_lvm.sh. Create all required LVM Logical Volumes as determined by the number of Oracle database files you will need for the database. In our example, we will need to create 24 LVM Logical Volumes in order to store the 24 Oracle database files for our O920DB database.

# lvcreate -L 900m /dev/pv1 # SYSTEM Tablespace - (800m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol1" successfully created

# lvcreate -L 120m /dev/pv1 # Control File 1 - (110m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol2" successfully created

# lvcreate -L 120m /dev/pv1 # Control File 2 - (110m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol3" successfully created

# lvcreate -L 120m /dev/pv1 # Control File 3 - (110m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol4" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g01a.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol5" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g01b.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol6" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g01c.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol7" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g02a.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol8" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g02b.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol9" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g02c.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol10" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g03a.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol11" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g03b.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol12" successfully created

# lvcreate -L 60m /dev/pv1 # redo_g03c.log - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol13" successfully created

# lvcreate -L 250m /dev/pv1 # UNDOTBS Tablespace - (200m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol14" successfully created

# lvcreate -L 250m /dev/pv1 # TEMP Tablespace - (200m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol15" successfully created

# lvcreate -L 60m /dev/pv1 # DRSYS Tablespace - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol16" successfully created

# lvcreate -L 60m /dev/pv1 # CWMLITE Tablespace - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol17" successfully created

# lvcreate -L 200m /dev/pv1 # EXAMPLE Tablespace - (150m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol18" successfully created

# lvcreate -L 300m /dev/pv1 # PERFSTAT Tablespace - (250m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol19" successfully created

# lvcreate -L 60m /dev/pv1 # ODM Tablespace - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol20" successfully created

# lvcreate -L 60m /dev/pv1 # XDB Tablespace - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol21" successfully created

# lvcreate -L 150m /dev/pv1 # USERS Tablespace - (100m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol22" successfully created

# lvcreate -L 150m /dev/pv1 # INDX Tablespace - (100m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol23" successfully created

# lvcreate -L 100m /dev/pv1 # TOOLS Tablespace - (50m)
lvcreate -- doing automatic backup of "pv1"
lvcreate -- logical volume "/dev/pv1/lvol24" successfully created

Create RAW bindings

In this step, we will create (or edit) a script called /etc/init.d/dbora that contains all of the commands that will bind the volumes to RAW devices. Also included are the commands to change the ownership of the raw devices for use by the Oracle database user "oracle".

I put these commands in script since they will need to be executed on each machine startup. Keep in mind that in most cases, the commands to start and stop the database are included in the /etc/init.d/dbora file. You can simply put the commands to bind the volumes to raw and chown commands in the start) portion of your script.

A sample script named dbora is include in the configuration files/scripts section of this document.

# vgchange -a y /dev/pv1
vgchange -- volume group "pv1" successfully activated

# /usr/bin/raw /dev/raw/raw1 /dev/pv1/lvol1 # SYSTEM Tablespace
/dev/raw/raw1: bound to major 58, minor 0

# /usr/bin/raw /dev/raw/raw2 /dev/pv1/lvol2 # Control File 1
/dev/raw/raw2: bound to major 58, minor 1

# /usr/bin/raw /dev/raw/raw3 /dev/pv1/lvol3 # Control File 2
/dev/raw/raw3: bound to major 58, minor 2

# /usr/bin/raw /dev/raw/raw4 /dev/pv1/lvol4 # Control File 3
/dev/raw/raw4: bound to major 58, minor 3

# /usr/bin/raw /dev/raw/raw5 /dev/pv1/lvol5 # redo_g01a.log
/dev/raw/raw5: bound to major 58, minor 4

# /usr/bin/raw /dev/raw/raw6 /dev/pv1/lvol6 # redo_g01b.log
/dev/raw/raw6: bound to major 58, minor 5

# /usr/bin/raw /dev/raw/raw7 /dev/pv1/lvol7 # redo_g01c.log
/dev/raw/raw7: bound to major 58, minor 6

# /usr/bin/raw /dev/raw/raw8 /dev/pv1/lvol8 # redo_g02a.log
/dev/raw/raw8: bound to major 58, minor 7

# /usr/bin/raw /dev/raw/raw9 /dev/pv1/lvol9 # redo_g02b.log
/dev/raw/raw9: bound to major 58, minor 8

# /usr/bin/raw /dev/raw/raw10 /dev/pv1/lvol10 # redo_g02c.log
/dev/raw/raw10: bound to major 58, minor 9

# /usr/bin/raw /dev/raw/raw11 /dev/pv1/lvol11 # redo_g03a.log
/dev/raw/raw11: bound to major 58, minor 10

# /usr/bin/raw /dev/raw/raw12 /dev/pv1/lvol12 # redo_g03b.log
/dev/raw/raw12: bound to major 58, minor 11

# /usr/bin/raw /dev/raw/raw13 /dev/pv1/lvol13 # redo_g03c.log
/dev/raw/raw13: bound to major 58, minor 12

# /usr/bin/raw /dev/raw/raw14 /dev/pv1/lvol14 # UNDOTBS Tablespace
/dev/raw/raw14: bound to major 58, minor 13

# /usr/bin/raw /dev/raw/raw15 /dev/pv1/lvol15 # TEMP Tablespace
/dev/raw/raw15: bound to major 58, minor 14

# /usr/bin/raw /dev/raw/raw16 /dev/pv1/lvol16 # DRSYS Tablespace
/dev/raw/raw16: bound to major 58, minor 15

# /usr/bin/raw /dev/raw/raw17 /dev/pv1/lvol17 # CWMLITE Tablespace
/dev/raw/raw17: bound to major 58, minor 16

# /usr/bin/raw /dev/raw/raw18 /dev/pv1/lvol18 # EXAMPLE Tablespace
/dev/raw/raw18: bound to major 58, minor 17

# /usr/bin/raw /dev/raw/raw19 /dev/pv1/lvol19 # PERFSTAT Tablespace
/dev/raw/raw19: bound to major 58, minor 18

# /usr/bin/raw /dev/raw/raw20 /dev/pv1/lvol20 # ODM Tablespace
/dev/raw/raw20: bound to major 58, minor 19

# /usr/bin/raw /dev/raw/raw21 /dev/pv1/lvol21 # XDB Tablespace
/dev/raw/raw21: bound to major 58, minor 20

# /usr/bin/raw /dev/raw/raw22 /dev/pv1/lvol22 # USERS Tablespace
/dev/raw/raw22: bound to major 58, minor 21

# /usr/bin/raw /dev/raw/raw23 /dev/pv1/lvol23 # INDX Tablespace
/dev/raw/raw23: bound to major 58, minor 22

# /usr/bin/raw /dev/raw/raw24 /dev/pv1/lvol24 # TOOLS Tablespace
/dev/raw/raw24: bound to major 58, minor 23

# /bin/chmod 600 /dev/raw/raw1
# /bin/chmod 600 /dev/raw/raw2
# /bin/chmod 600 /dev/raw/raw3
# /bin/chmod 600 /dev/raw/raw4
# /bin/chmod 600 /dev/raw/raw5
# /bin/chmod 600 /dev/raw/raw6
# /bin/chmod 600 /dev/raw/raw7
# /bin/chmod 600 /dev/raw/raw8
# /bin/chmod 600 /dev/raw/raw9
# /bin/chmod 600 /dev/raw/raw10
# /bin/chmod 600 /dev/raw/raw11
# /bin/chmod 600 /dev/raw/raw12
# /bin/chmod 600 /dev/raw/raw13
# /bin/chmod 600 /dev/raw/raw14
# /bin/chmod 600 /dev/raw/raw15
# /bin/chmod 600 /dev/raw/raw16
# /bin/chmod 600 /dev/raw/raw17
# /bin/chmod 600 /dev/raw/raw18
# /bin/chmod 600 /dev/raw/raw19
# /bin/chmod 600 /dev/raw/raw20
# /bin/chmod 600 /dev/raw/raw21
# /bin/chmod 600 /dev/raw/raw22
# /bin/chmod 600 /dev/raw/raw23
# /bin/chmod 600 /dev/raw/raw24

# /bin/chown oracle:dba /dev/raw/raw1
# /bin/chown oracle:dba /dev/raw/raw2
# /bin/chown oracle:dba /dev/raw/raw3
# /bin/chown oracle:dba /dev/raw/raw4
# /bin/chown oracle:dba /dev/raw/raw5
# /bin/chown oracle:dba /dev/raw/raw6
# /bin/chown oracle:dba /dev/raw/raw7
# /bin/chown oracle:dba /dev/raw/raw8
# /bin/chown oracle:dba /dev/raw/raw9
# /bin/chown oracle:dba /dev/raw/raw10
# /bin/chown oracle:dba /dev/raw/raw11
# /bin/chown oracle:dba /dev/raw/raw12
# /bin/chown oracle:dba /dev/raw/raw13
# /bin/chown oracle:dba /dev/raw/raw14
# /bin/chown oracle:dba /dev/raw/raw15
# /bin/chown oracle:dba /dev/raw/raw16
# /bin/chown oracle:dba /dev/raw/raw17
# /bin/chown oracle:dba /dev/raw/raw18
# /bin/chown oracle:dba /dev/raw/raw19
# /bin/chown oracle:dba /dev/raw/raw20
# /bin/chown oracle:dba /dev/raw/raw21
# /bin/chown oracle:dba /dev/raw/raw22
# /bin/chown oracle:dba /dev/raw/raw23
# /bin/chown oracle:dba /dev/raw/raw24

Create the Oracle9i Database O920DB

If you have successfully made it to this point, you are almost done. The only part left now, is to create the O920DB database. I put together an example initO920DB.ora instance parameter file along with a set of CREATE DATABASE... scripts in an archive create_database920.tar in the configuration files/scripts section of this document.


Configuration files/scripts
[ Return to Table of Contents ]

Example:

The main script to run is: RUN_CRDB.sh.

.bash_profile
$HOME/.bash_profile for the "oracle" user account.

create_hdb_lvm.sh
An example shell script to create all Physical Volumes, Volume Groups and Logical Volumes for supporting the O920DB database.

dbora
An example shell script that binds all volumes to RAW devices on each machine startup.

initO920DB.ora
Sample instance parameter script for Oracle9i. Place this file in ~oracle/admin/O920DB/pfile before running the RUN_CRDB.sh script below.

create_database920.tar
An example "create database" set of scripts. Untar the file to ~oracle/admin/O920DB/create. If you decide to change the name of the ORACLE_SID, here are the files that need to be changed:

  • crdb.sh
  • create_database.sql

This was first published in June 2006

Dig deeper on Red Hat Enterprise Linux Server

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchDataCenter

SearchServerVirtualization

SearchCloudComputing

SearchEnterpriseDesktop

Close