#!/bin/sh

# +-----------------------------------------------------------+
# | CREATE PHYSICAL VOLUME                                    |
# | ----------------------                                    |
# |   1.) Use the -d option if you would like DEBUG           |
# |       infomration.                                        |
# |   2.) If creating an LVM Physical Volume on a partition,  |
# |       (i.e. /dev/hdb1), then make sure the partition is   |
# |       created as an LVM partition (i.e. Linux Partition   |
# |       Type = [8e  Linux LVM]) and then use the following  |
# |       command:      pvcreate /dev/hdb1                    |
# +-----------------------------------------------------------+

pvcreate /dev/hdb


# +-----------------------------------------------------------+
# | CREATE VOLUME GROUP                                       |
# | -------------------                                       |
# |   1.) The maximum possible logical volumes is indicated   |
# |       by the -l option and is declared to be 256 in this  |
# |       example. The absolute maximum is 256.               |
# |   2.) The maximum possible physical volume is indicated   |
# |       by the -p option and is declared to be 256 in this  |
# |       example. The absolute maximum is 256.               |
# |   3.) Each physical extent size will be 128k.             |
# +-----------------------------------------------------------+

vgcreate -l 256 -p 256 -s 128k /dev/pv1 /dev/hdb


# +-----------------------------------------------------------+
# | CREATE ALL LOGICAL VOLUMES                                |
# | --------------------------                                |
# |  1.) Each logical volume group will be bound to a RAW     |
# |      device (using the RAW command).                      |
# |  2.) Each Oracle database file will be contained in one   |
# |      of the logical volumes through the use of its RAW    |
# |      binding name.                                        |
# +-----------------------------------------------------------+

lvcreate -L 900m /dev/pv1     # SYSTEM Tablespace     (800m)
lvcreate -L 120m /dev/pv1     # Control File 1        (110m)
lvcreate -L 120m /dev/pv1     # Control File 2        (110m)
lvcreate -L 120m /dev/pv1     # Control File 3        (110m)

lvcreate -L 60m  /dev/pv1     # redo_g01a.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g01b.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g01c.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g02a.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g02b.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g02c.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g03a.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g03b.log         (50m)
lvcreate -L 60m  /dev/pv1     # redo_g03c.log         (50m)

lvcreate -L 250m /dev/pv1     # UNDOTBS Tablespace    (200m)
lvcreate -L 250m /dev/pv1     # TEMP Tablespace       (200m)

lvcreate -L 60m  /dev/pv1     # DRSYS Tablespace      (50m)
lvcreate -L 60m  /dev/pv1     # CWMLITE Tablespace    (50m)
lvcreate -L 200m /dev/pv1     # EXAMPLE Tablespace    (150m)
lvcreate -L 300m /dev/pv1     # PERFSTAT Tablespace   (250m)
lvcreate -L 60m  /dev/pv1     # ODM Tablespace        (50m)
lvcreate -L 60m  /dev/pv1     # XDB Tablespace        (50m)
lvcreate -L 150m /dev/pv1     # USERS Tablespace      (100m)
lvcreate -L 150m /dev/pv1     # INDX Tablespace       (100m)
lvcreate -L 100m /dev/pv1     # TOOLS Tablespace      (50m)

