Focus on Setup Creating the Database Layout Configuration File A database Layout Configuration File (LCF) allows you to configure the layout of your database to optimize the performance of your eHealth system. An LCF is an alternative to the basic eHealth database creation process that enables you to place the various database files on specific disks. You can use an LCF when you initially create the database during eHealth installation, or to improve database performance after you install eHealth. This document is intended for experienced Oracle database administrators who want to tailor the eHealth database to meet specific needs of their organization. Contents Designing Your eHealth Database Layout . . . 1 Understanding the Database Schema . . . . 2 Using Your Disk Space More Efficiently . 4 Manually Composing the LCF . . . . . . . . . . . . . 7 The Contents of the File . . . . . . . . . . . . . . . 7 Specifying the Configuration Variables . . 8 Providing the Software Locations . . . . . . . 9 Specifying the Database File Layout . . . . 10 Sample LCFs . . . . . . . . . . . . . . . . . . . . . . . . . . 11 For detailed information concerning the eHealth installation program, refer to New Installations of eHealth 6.0 for your platform. For information on using the eHealth Sizing Wizard to size your database and automatically create an LCF file, refer to the Using the eHealth Sizing Wizard topic. Creating an LCF allows you to configure the layout of database files to optimize performance. Designing Your eHealth Database Layout When you install eHealth on a new system, you have two options to configure your database layout: • Typical Installation – Allows you to specify the location of the eHealth and Oracle software, and up to nine locations for the eHealth database. The installation program then applies the default settings to configure the database based on the number of elements and the amount of as-polled data that you intend to store. The database tablespaces and datafiles are automatically distributed across the directories you specify. • Custom Installation – Uses an LCF to specify your database layout, enabling you to place both the software, and the various database files in specific locations. You must use an LCF to specify more than nine locations for the database. If you choose to perform a custom installation, you must create an LCF before starting the installation, as well as perform other steps described in the following sections. eHealth Release 6.0 – October 2006 Creating the Database Layout Configuration File Understanding the eHealth Basic Database Schema The basic eHealth 6.0 database schema contains approximately 150 tables stored in the 12 tablespaces listed in Table 1. Over time, the number of database tables grows as eHealth creates new tables based on polling intervals and rollup activity. Table 1. Basic eHealth 6.0 Database Schema (Sheet 1 of 2) Tablespace Name Contents or Usage Sizing Comments SYSTEM Oracle's default tablespace for all objects that do not have a storage clause (all eHealth objects have storage clauses) and for various system operations. Since eHealth does not use the SYSTEM tablespace for storage, it remains roughly the same size (200 – 250 MB) regardless of the setting of the CfgDbModelSize configuration variable (small, medium, large, or extra-large). NOTE: For more information on configuration variables, see Table 2 on page 8. NH_ROLLBACK eHealth tablespace to hold all “rollback segments.” eHealth creates 10 rollback segments and places them all in NH_ROLLBACK. Varies from 244 to 1000 MB, depending on the setting of the CfgDbModelSize configuration variable. NH_TEMP eHealth temporary tablespace to hold grouping and sorting operations during queries and reports. Varies from 1 to 7 GB on most systems, depending on the setting of the CfgDbModelSize configuration variable. This tablespace is heavily used during reporting operations. However, if you install eHealth Report Center, the size of NH_TEMP will increase. If you are polling a large number of elements (50K or more), NH_TEMP can grow to 24 GB. Poller configuration (NH_ELEMENT), and all other statically named tables that are not created during polling or rollups. Varies from 11 MB to 845 MB, depending on the setting of the CfgNumElements and CfgNumDaysRaw configuration variables, and many others. This tablespace is not involved in heavy transaction processing. For Traffic Accountant systems, this tablespace remains approximately 4 MB. All indexes, across all eHealth tables. Varies from 433 MB to 8 GB on polling systems, depending on the setting of the CfmNumElements and CfgNumDaysRaw configuration variables, and many others. However, each analyzed data table causes more indexes to be created. Customers running nonstandard poll rate and rollup schedules will cause NH_INDEX to fill up. NH_USERS NH_INDEX This tablespace is heavily involved in eHealth polling and reporting operations. For optimum performance, NH_INDEX should not be located on the same disk with NH_USERS, NH_DATA01, or NH_DATA02. NH_DATA01 • NH_DLG% - Raw Traffic Accountant data and all rollup data • NH_STATS% - Raw statistics data and all rollup data This tablespace is heavily involved in eHealth polling and reporting operations. 2 This tablespace is used for standard eHealth and Traffic Accountant eHealth systems. On polling systems, varies from 887 MB (small) to 16 GB (xlarge). This tablespace is quite large on all systems except Distributed eHealth Consoles (front-ends) which do not poll and do not have Traffic Accountant installed. For Distributed eHealth Consoles, this tablespace remains approximately 4 MB. Creating the Database Layout Configuration File Table 1. Basic eHealth 6.0 Database Schema (Sheet 2 of 2) Tablespace Name Contents or Usage Sizing Comments NH_DATA02 • NH_BSLN% - Baselines • NH_DAILY_EXCEPTIONS% • NH_DAILY_HEALTH% • NH_DAILY_SYMBOL% • NH_HOURLY_HEALTH% • NH_HOURLY_VOLUME% This tablespace is heavily involved in eHealth polling and reporting operations. On polling systems, varies from 744 MB (small) to 9 GB (xlarge). For eHealth Traffic Accountant and Distributed eHealth Consoles (front-ends) this tablespace remains approximately 4 MB. NH_CRN Report Center content store for usercreated reports, sample report files, and query data items for sample reports. The size of the content store varies depending on the number of users, the number of reports that are run and saved, and the number of element types that you monitor. You should monitor this tablespace regularly to ensure you have sufficient space. NH_REG01 Time-aligned statistics data for eHealth Report Center. The following tables are partitioned between the NH_REG01 and NH_REG02 tablespaces: Used only if eHealth Report Center is installed. Typically, the additional disk space required for Report Center is approximately half of the statistics tablespace size (NH_DATA01). Since the time-aligned data is partitioned between NH_REG01 and NH_REG02, each tablespace will be approximately 25% the size of NH_DATA01. • NH_REG0 (Base Samples – usually 5-minute) • NH_REG1 (Hourly Samples) • NH_REG2 (Daily Samples) • NH_REG_FAST (Fast Polled Data) NH_REG02 Time-aligned statistics data for eHealth Report Center. The following tables are partitioned between the NH_REG01 and NH_REG02 tablespaces: • NH_REG0 (Base Samples – usually 5-minute) • NH_REG1 (Hourly Samples) • NH_REG2 (Daily Samples) • NH_REG_FAST (Fast-Polled Data) Used only if eHealth Report Center is installed. Typically, the additional disk space required for Report Center is approximately half of the statistics tablespace size (NH_DATA01). Since the time-aligned data is partitioned between NH_REG01 and NH_REG02, each tablespace will be approximately 25% the size of NH_DATA01. NH_REG_INDEX01 Indexes for time-aligned data. The indexes are partitioned (locally) between the NH_REG_INDEX01 and NH_REG_INDEX02 tablespaces. Used only if eHealth Report Center is installed. Generally varies between 100 and 1000 M, but non-standard poll rates and rollup schedules may cause NH_REG_INDEX01 to grow considerably. NH_REG_INDEX02 Indexes for time-aligned data. The indexes are partitioned (locally) between the NH_REG_INDEX01 and NH_REG_INDEX02 tablespaces. Used only if eHealth Report Center is installed. Generally varies between 100 and 1000 M, but non-standard poll rates and rollup schedules may cause NH_REG_INDEX02 to grow considerably. 3 Creating the Database Layout Configuration File Using Your Disk Space More Efficiently As an alternative to allowing eHealth to create your database for you automatically, you can use a layout configuration file (LCF) to specify exactly where eHealth should place each datafile. This enables you to use your disk space more efficiently and ensure optimum performance of your eHealth system. To customize your database, you can use one of the following three methods: • Use an LCF during installation to size your database. For new installations, you can create an LCF before you install eHealth (or after starting the installation) to lay out your database as described in the next section, “Using an LCF during Installation to Size Your Database.” (If you want to resize an eHealth 5.6.5 or 5.7 database during an upgrade to 6.0, recreate the database after upgrading as described in “Recreating Your Database Using an LCF” on page 6.) • Extend your database to add more disk space; then generate a new LCF based on the updated configuration. After you install eHealth 6.0, you can use the nhManageDbSpace command to add datafiles to your eHealth tablespaces or move datafiles from one location to another. You can generate a new LCF from the existing database to record the changes. This method is described in “Extending Your Database to Add More Disk Space” on page 5. • Recreate your database using an LCF. You can create an LCF after you install eHealth 6.0, and then run the nhCreateDb command using the -i pathname argument to create a new database based on the LCF. This method is described in “Recreating Your Database Using an LCF” on page 6. Using an LCF during Installation to Size Your Database. For new installations, you can use the eHealth 6.0 Sizing Wizard to create a layout configuration file (LCF). The sizing wizard is a Web-based tool that helps you determine the disk space and memory requirements for your eHealth system, and configure your database layout to optimize performance. When you complete the steps in the sizing wizard, it automatically creates an LCF that you can use during installation. The eHealth 6.0 Sizing Wizard is available on the eHealth Support website at the following location: http://www4.concord.com/sizing60/swiz. To create an LCF and use it during new installations: 1. Access the eHealth 6.0 Sizing Wizard at http://www4.concord.com/sizing60/swiz. NOTE: If you do not have access to the Web, contact eHealth Technical Support to request the laptop version of the eHealth Sizing Wizard. 2. Respond to the sizing wizard prompts to properly size your eHealth system. 3. Examine the requirements on the Specifications page to determine your hardware, operating system, and disk space needs. 4. Respond to the prompts on the Layout page to specify the locations of the eHealth and Oracle software, and the Database file layout. 5. Download the LCF from the Download LCF page and store it in a secure place. 6. Run the eHealth installation program with the -useLcf argument, and specify the pathname of your LCF: 7. • Unix: ./Install -useLcf path\filename.lcf • Windows: ./setup -useLcf path\filename.lcf Proceed with the remainder of the installation. The installation program creates the eHealth database according to the specifications outlined in the LCF. NOTE: For more information on installing eHealth, refer to New Installations of eHealth 6.0 for your platform. 4 Creating the Database Layout Configuration File Extending Your Database to Add More Disk Space. To improve database performance after installing eHealth, you can use the nhManageDbSpace command to add datafiles to an eHealth tablespace, move datafiles from one location to another, and then generate a new LCF to create a record of the database layout. If you do not specify a name for the LCF in the command syntax, eHealth places the hostname_SID.lcf file in the ehealth/oracle/ database directory. To extend your database and create a new LCF as a record: 1. Move a datafile from one location to another by entering the following at the command line: nhManageDbSpace -move -datafile datafileName -newPath directory where datafileName is the name of the datafile that you need to move, and directory is the location where you want to move the datafile. 2. If necessary, repeat Step 1 to move another datafile. 3. Add a datafile to a tablespace by entering the following: nhManageDbSpace -add -newPath directory -tablespace tablespace -size fileSize where directory is the location of the new datafile, tablespace is the name of the tablespace to which you want to add the datafile, and fileSize is the initial size of the new datafile in megabytes. For example, to add a datafile of 100 MB to e:/oradata/SID/NH_INDEXxx.dbf, enter the following: nhManageDbSpace -add -newPath e:/ -tablespace NH_INDEXxx -size 100M NOTE: SID is the name of your eHealth database (the value of the ORACLE_SID environment variable). 4. If necessary, repeat Step 3 to add more datafiles. 5. Create a new LCF based on the information in the database by entering the following: nhManageDbSpace -createLCF The command creates an LCF based on the current eHealth database and saves it as ehealth/oracle/ database/hostname_SID.lcf, overwriting any existing LCF. For detailed instructions on using the nhManageDbSpace command, refer to the “Commands and Environment Variables” section of the eHealth Web Help. For more information on managing your eHealth database, refer to the eHealth Database Management Guide. 5 Creating the Database Layout Configuration File Recreating Your Database Using an LCF. After you install eHealth 6.0, you may decide that you want more control over where eHealth places the database datafiles. You can use the nhCreateDb command to recreate your database using an LCF. To recreate an eHealth database based on an LCF: 1. Create a copy of the LCF produced by the eHealth installation program (in the ehealth/oracle/database directory). It is named hostname_SID.lcf, where hostname is the name of your system and SID is the name of your eHealth database. Rename the copy as fileName.lcf and place the file in a secure place. 2. Use the eHealth 6.0 Sizing Wizard to size your eHealth system and specify the database layout. You can import the existing LCF into the sizing wizard by pasting it into the SSF/LCF Import section at the bottom of the Sizing page. For more information on using the sizing wizard, see “Using an LCF during Installation to Size Your Database” on page 4. NOTE: You can also modify the database layout manually. For more information, see “Manually Composing the LCF” on page 7. 3. After you finish specifying the location of your tablespaces and datafiles, save the LCF in a secure place. 4. Save your database by performing a Universal (ASCII) save. Enter the following at the command line: nhSaveDb -ascii -p pathname where pathname is a directory outside the database area that is large enough to hold the saved database. NOTE: When you specify -ascii, eHealth creates a universal (platform-independent) Oracle save. It does not create an ASCII database. If you do not specify -ascii, eHealth creates a standard (binary) Oracle RMAN save. Do not perform a standard save, since it will retain the existing database layout when you load it. 5. Destroy your database by entering the following: nhDestroyDb 6. Create a new database by entering the following: nhCreateDb -i pathname where pathname is the full pathname of the LCF. This command does not run interactively; it immediately creates the database using the parameters specified in the LCF. For example, the following command creates an eHealth database using an LCF named madison.lcf in the C:\temp directory: nhCreateDb -i C:/temp/madison.lcf For detailed instructions for using the nhCreateDb command, refer to the “Commands and Environment Variables” section of the eHealth Web Help. For more information on managing your eHealth database, refer to the eHealth Database Management Guide. 7. Load data from the platform-independent Oracle save into the new database by entering the following: nhLoadDb -p pathname where pathname is the location in which you saved the database in Step 4. 6 Creating the Database Layout Configuration File Manually Composing the LCF This section describes how to compose a layout configuration file manually, and the purpose and content of the data that you must specify. It contains the following sections: • “The Contents of the File” • “Specifying the Configuration Variables” • “Providing the Software Locations” • “Specifying the Database File Layout” NOTE: You can also use the eHealth 6.0 Sizing Wizard to automatically create a layout configuration file (LCF). For more information, see the Using the eHealth Sizing Wizard focus topic. The Contents of the File The LCF is composed of three types of information: • Configuration Variables – Attributes that describe your eHealth system and database. • Software Locations – Directories in which the eHealth and Oracle software are located. If you have an existing installation, these directories must be the same as those specified during the installation. If you have not yet installed eHealth, these values will override whatever you specify in the installation. • Database File Layout – Directories or tablespaces in which eHealth should store the datafiles, the size of each directory, and the locations of the datafiles on a local disk partition. Syntax Guidelines. Within each line of the LCF, you can use the following: • Spaces, tabs, and newlines to format the values • Full-line comments and end-of-line comments (denoted by the use of the # symbol) • Spaces within pathnames (if the pathname is enclosed in double quotation marks) • Slashes in either direction (backward or forward) • Explicit versioning in the file • The token {SID} that represents the eHealth database name NOTE: If you are using a localized version of eHealth, do not specify accented characters in the pathnames and directory names. 7 Creating the Database Layout Configuration File Specifying the Configuration Variables You can specify configuration variables such as CfgHostname and CfgDbModelSize to define the attributes that describe your eHealth system and database. To provide this information, use the following syntax: CfgSettingName = settingValue where settingName is the specific configuration variable and settingValue is the value of the variable. For example, CfgDbName specifies the name of the database. Table 2 lists the configuration variables that you can define in an LCF, indicates whether they are required or optional, and defines their purpose and required values. Table 2. Configuration Variables Configuration Variable Name Required Definition CfgHostname Yes Specifies the hostname of the eHealth system. The value must match the NH_HOSTNAME environment variable, if eHealth is installed. CfgDbModelSize Yes Specifies the size of the database. The following are valid values: • small (for systems that poll less than 3000 elements every 5 minutes) • medium (for systems that poll 3000 to 10,000 elements) • large (for systems that poll 10,000 to 25,000 elements) • xlarge (for systems that poll over 25,000 elements) CfgSID Yes Specifies the name of the eHealth database, which is also the Oracle SID. The value must match the NH_ORACLE_SID environment variable (default value EHEALTH), if eHealth is already installed. CfgRedoLogSize Yes Specifies the size of the database redo log. CfgNH_USER Yes Specifies the name of the eHealth user. The value must match the NH_USER environment variable, if eHealth is installed. CfgOverrideSpaceCheck No Overrides disk space checking (for sites that use disk compression). CfgPercentCapacityReserveDb No Specifies the percentage of growth that should be reserved for database files. A value of 1% creates a disk reserve of 1%; whereas a value of 100% creates a disk reserve of 100% (this would double the database disk space requirement for eHealth). By default, eHealth creates a 10% reserve for database files. CfgPercentCapacityReserveWeb No Specifies the percentage of disk space in the ehealth/web/output directory that should be reserved for eHealth growth or non-eHealth use. This directory contains reports scheduled for Web output and reports run on demand by Web users. A value of 1% would create a disk reserve of 1% of the size of the web/output directory. A value of 100% would create a disk reserve of 100%, double the size of the Web output directory. By default, eHealth creates a 20% reserve. NOTE: If you need to define additional configuration variables within the LCF (in addition to those listed in Table 2), refer to your system sizing file and contact eHealth Technical Support for guidance. 8 Creating the Database Layout Configuration File The following is an example of Configuration Variable information specified in an LCF: CfgSystemType CfgSID CfgNumElements CfgHostname CfgDbModelSize CfgDaysRaw CfgNH_USER CfgRedoLogSize = = = = = = = = BackEnd EHEALTH 1 system1 medium 1 nhuser 62M Providing the Software Locations In addition to listing the configuration variables, you must provide the input for the layout, specifying the directories into which the installation program must install software products (for example, eHealth and Oracle). If you have already installed eHealth, the following pathnames are required: • NH_HOME – The pathname must match the setting of the NH_HOME environment variable, which is the eHealth installation directory. • NH_ORACLE_HOME – The pathname must match the setting of the NH_ORACLE_HOME environment variable, which is the Oracle software installation directory. NOTE: If you are using an LCF to create your database, these environment variables do not exist yet. The following is an example: NH_HOME NH_ORACLE_HOME - /export/system1/mar30_rlt2 /export/system1/oracle92 When specifying the software locations in your LCF, follow these guidelines: • The settings for the NH_HOME and NH_ORACLE_HOME environment variables in the LCF must match the settings of these variables on the eHealth system. If you have already installed eHealth, do not try to override these settings by using a different value in the LCF. • You do not have to specify the size of each software product location. If you do, the installation program uses those values to calculate the disk space requirements. 9 Creating the Database Layout Configuration File Specifying the Database File Layout In addition to specifying the configuration variables and specifying the software locations, you can also specify the database file layout. You must include the following object types: • Each eHealth tablespace (listed in Table 1) at least once • Three CONTROL repositories (for the Oracle control files) • The ArchiveLogsDir repository (for the archive logs) • Eight repositories for the database redo log file Into each object (tablespace or directory), you can place any number of datafiles. To provide this information in the LCF, you must use the following syntax for each line (as defined in Table 3): objectType size pathname For an example, refer to the sample LCFs provided in the next section, “Sample LCFs.” Table 3. Database File Layout Field Name Definition objectType Name of the object (tablespace or directory) into which eHealth should place the datafile. The following are valid values: CONTROL SYSTEM NH_ROLLBACK NH_TEMP NH_USERS NH_INDEX NH_DATA01 NH_DATA02 NH_CRN NH_REG01 NH_REG02 NH_REG_INDEX01 NH_REG_INDEX02 ArchiveLogsDir REDO1A REDO1B REDO2A REDO2B REDO3A REDO3B REDO4A REDO4B size Specifies the size of the datafile in KB, MB, or GB. For example: 250M. If you specify a dash (-) for the size of the directory, eHealth automatically calculates the size for you. pathname Specifies the location of the datafile on the local disk partition. When specifying a database file layout, follow these guidelines: • Specify three Oracle control files and place them on three distinct disks. The pathnames to the control files are stored in the init.ora file. All other pathnames (to database files) are stored in those control files. In the event of a physical disk failure, Oracle uses these redundant control files to make recovery easier. • Place the three control files on three distinct disks to facilitate recovery after disk failure or power outage. • Do not specify a size for the control files. Instead, use a dash (-) to specify the size. • If any tablespace is over 20 GB, break it across several disks. • Place NH_INDEX on different disks than NH_DATA01 and NH_DATA02 to facilitate parallel seeks. • Place the NH_TEMP tablespace on different disks than NH_INDEX, NH_DATA01 or NH_DATA02. • Place the SYSTEM and NH_ROLLBACK tablespaces on disks without much transactional activity. • Since archive logs are written continuously, place the ArchiveLogsDir on disks without much other activity. • Place the REDO logs on disks without much transactional activity, grouped as follows: Disk1 – REDO1A and REDO3A; Disk2 – REDO1B and REDO3B; Disk3 – REDO2A and REDO4A; Disk4 – REDO2B and REDO4B. 10 Creating the Database Layout Configuration File Sample LCFs This section presents sample LCFs that you can follow to create your own LCFs. These samples are also located in the eHealth installation directory (ehealth/oracle/database) for your use. Each template illustrates a different database layout: • “Database over Several Disks (UNIX)” on page 11 illustrates a layout for an eHealth database on a UNIX system distributed over several disks. • “Database on a RAID (UNIX)” on page 13 illustrates a layout for an eHealth database on a UNIX system that is configured with an NFS-mounted Redundant Array of Independent Disks (RAID) of 200 GB. • “Database over Several Disks (Windows)” on page 14 illustrates a layout for an eHealth database on a Windows system that has fifteen local 20 GB Integrated Services Digital Network (ISDN) drives. Database over Several Disks (UNIX) Figure 1 is an LCF for an eHealth database on a UNIX system named “bluesky.” As noted in the comment section at the top of the file, it is configured with eight 17 GB partitions and two 33 GB partitions: # UNIX PARTITION | SIZE | MOUNT-POINT | EHEALTH USE # --------------------+--------+-------------------+-------------# /dev/dsk/c0t1d0s2 | 16.6G | /export/bluesky02 | INDEX # /dev/dsk/c0t2d0s2 | 16.6G | /export/bluesky03 | DATA # /dev/dsk/c2t0d0s2 | 16.6G | /export/bluesky04 | DATA # /dev/dsk/c2t1d0s2 | 16.6G | /export/bluesky05 | DATA # /dev/dsk/c2t2d0s2 | 33.4G | /export/bluesky06 | SYSTEM+TEMP+ROLLBACK # /dev/dsk/c2t3d0s2 | 33.4G | /export/bluesky07 | ArchiveLogs # /dev/dsk/c3t0d0s2 | 16.6G | /export/bluesky08 | REDO logs # /dev/dsk/c3t1d0s2 | 16.6G | /export/bluesky09 | REDO logs # /dev/dsk/c3t2d0s2 | 16.6G | /export/bluesky10 | REDO logs # /dev/dsk/c3t3d0s2 | 16.6G | /export/bluesky11 | REDO logs # # The eHealth system is configured to poll 50,000 elements and keep 3 days # of raw data. This only requires 65G of space, but the layout will # use some space on all disks to minimize disk contention. # # (C) Copyright 2006, CA. #------------------------------------------------------------------------------# - - - - - - - - - - - - - - - - - - - - - - - - # Configuration Variables: # - - - - - - - - - - - - - - - - - - - - - - - - CfgHostname = bluesky CfgDbModelSize = xlarge CfgSID = EHEALTH CfgRedoLogSize = 156M CfgNH_USER = nhuser # - - - - - - - - - - - - - - - - - - - - - - - - # Software Locations: # - - - - - - - - - - - - - - - - - - - - - - - - NH_ORACLE_HOME /export/bluesky01/oracle92 NH_HOME /export/bluesky01/eHealth (Figure 1 Continued on next page) 11 Creating the Database Layout Configuration File # - - - - - - - - - - - - - - - - - - - - - - - - # Database File Layout: # - - - - - - - - - - - - - - - - - - - - - - - - # Put control files on any CONTROL CONTROL CONTROL - three distinct disks: /export/bluesky02/oradata/{SID}/CONTROL01.ctl /export/bluesky03/oradata/{SID}/CONTROL02.ctl /export/bluesky04/oradata/{SID}/CONTROL03.ctl # Give archive logs their own disk: ArchiveLogsDir 9766M /export/bluesky07/oradata/{SID}/ArchiveLogs # Give REDO logs their own REDO1A REDO2A REDO3A REDO4A REDO1B REDO2B REDO3B REDO4B - 4 disks: /export/bluesky08/oradata/{SID}/REDO1A.log /export/bluesky10/oradata/{SID}/REDO2A.log /export/bluesky08/oradata/{SID}/REDO3A.log /export/bluesky10/oradata/{SID}/REDO4A.log /export/bluesky09/oradata/{SID}/REDO1B.log /export/bluesky11/oradata/{SID}/REDO2B.log /export/bluesky09/oradata/{SID}/REDO3B.log /export/bluesky11/oradata/{SID}/REDO4B.log # Give index its own disk: NH_INDEX 8162M /export/bluesky02/oradata/{SID}/NH_INDEX01.dbf # Spread all data across three disks: NH_USERS NH_USERS NH_USERS NH_DATA01 NH_DATA01 NH_DATA01 NH_DATA02 NH_DATA02 NH_DATA02 150M 150M 150M 6000M 6000M 6000M 3200M 3200M 3200M /export/bluesky03/oradata/{SID}/NH_USERS01.dbf /export/bluesky04/oradata/{SID}/NH_USERS02.dbf /export/bluesky05/oradata/{SID}/NH_USERS03.dbf /export/bluesky05/oradata/{SID}/NH_DATA01a.dbf /export/bluesky04/oradata/{SID}/NH_DATA01b.dbf /export/bluesky03/oradata/{SID}/NH_DATA01c.dbf /export/bluesky04/oradata/{SID}/NH_DATA02a.dbf /export/bluesky05/oradata/{SID}/NH_DATA02b.dbf /export/bluesky03/oradata/{SID}/NH_DATA02c.dbf # Put TEMP, ROLLBACK, and SYSTEM together: NH_TEMP 7000M /export/bluesky06/oradata/{SID}/NH_TEMP01.dbf NH_ROLLBACK 977M /export/bluesky06/oradata/{SID}/NH_ROLLBACK01.dbf SYSTEM 250M /export/bluesky06/oradata/{SID}/SYSTEM01.dbf # Report Center tablespaces: NH_REG_INDEX01 2040M /export/bluesky02/oradata/{SID}/NH_REG_INDEX01a.dbf NH_REG_INDEX02 2040M /export/bluesky02/oradata/{SID}/NH_REG_INDEX02a.dbf NH_CRN NH_REG01 NH_REG02 100M 4500M 4500M /export/bluesky03/oradata/{SID}/NH_CRN01.dbf /export/bluesky05/oradata/{SID}/NH_REG01a.dbf /export/bluesky04/oradata/{SID}/NH_REG02a.dbf Figure 1. LCF for Database over Several Disks (UNIX) 12 Creating the Database Layout Configuration File Database on a RAID (UNIX) Figure 2 is an LCF for an eHealth database on a UNIX system named “boston” that is configured with an NFSmounted RAID of 200 GB. All files will reside in one directory area. # UNIX PARTITION | SIZE | MOUNT-POINT | EHEALTH USE # --------------------+--------+-------------------+-------------# vmgr:/export/vol01 | 199.2G | /export/vol01 | EVERYTHING # # We have purposely configured this LCF to keep the size of each datafile under 8G. # (C) Copyright 2006, CA. #-----------------------------------------------------------------------------------------# - - - - - - - - - - - - - - - - - - - - - - - # Configuration Variables: # - - - - - - - - - - - - - - - - - - - - - - - CfgHostname = boston CfgDbModelSize = xlarge CfgSID = EHEALTH CfgRedoLogSize = 156M CfgNH_USER = nhuser # - - - - - - - - - - - - - - - - - - - - - - - # Software Locations: # - - - - - - - - - - - - - - - - - - - - - - - NH_ORACLE_HOME /export/vol01/oracle92 NH_HOME /export/vol01/eHealth - - # - - - - - - - - - - - - - - - - - - - - - - - - # Database File Layout: # - - - - - - - - - - - - - - - - - - - - - - - - # You must specify three (3) separate control files although # they are in the same directory (i.e., on the RAID device): CONTROL /export/vol01/oradata/{SID}/CONTROL01.ctl CONTROL /export/vol01/oradata/{SID}/CONTROL02.ctl CONTROL /export/vol01/oradata/{SID}/CONTROL03.ctl # The RAID controller does ArchiveLogsDir 9766M REDO1A REDO2A REDO3A REDO4A REDO1B REDO2B REDO3B REDO4B NH_INDEX 4100M NH_INDEX 4100M NH_USERS 450M NH_DATA01 5000M NH_DATA01 5000M NH_DATA01 5000M NH_DATA01 5000M NH_DATA02 3200M NH_DATA02 3200M NH_DATA02 3200M NH_TEMP 7000M NH_ROLLBACK 977M SYSTEM 250M NH_REG_INDEX01 2050M NH_REG_INDEX02 2050M NH_CRN 100M NH_REG01 5000M NH_REG02 5000M the rest: /export/vol01/oradata/{SID}/ArchiveLogs /export/vol01/oradata/{SID}/REDO1A.log /export/vol01/oradata/{SID}/REDO2A.log /export/vol01/oradata/{SID}/REDO3A.log /export/vol01/oradata/{SID}/REDO4A.log /export/vol01/oradata/{SID}/REDO1B.log /export/vol01/oradata/{SID}/REDO2B.log /export/vol01/oradata/{SID}/REDO3B.log /export/vol01/oradata/{SID}/REDO4B.log /export/vol01/oradata/{SID}/NH_INDEX01.dbf /export/vol01/oradata/{SID}/NH_INDEX02.dbf /export/vol01/oradata/{SID}/NH_USERS01.dbf /export/vol01/oradata/{SID}/NH_DATA01a.dbf /export/vol01/oradata/{SID}/NH_DATA01b.dbf /export/vol01/oradata/{SID}/NH_DATA01c.dbf /export/vol01/oradata/{SID}/NH_DATA01d.dbf /export/vol01/oradata/{SID}/NH_DATA02a.dbf /export/vol01/oradata/{SID}/NH_DATA02b.dbf /export/vol01/oradata/{SID}/NH_DATA02c.dbf /export/vol01/oradata/{SID}/NH_TEMP01.dbf /export/vol01/oradata/{SID}/NH_ROLLBACK01.dbf /export/vol01/oradata/{SID}/SYSTEM01. /export/vol01/oradata/{SID}/NH_REG_INDEX01a.dbf /export/vol01/oradata/{SID}/NH_REG_INDEX02a.dbf /export/vol01/oradata/{SID}/NH_CRN01.dbf /export/vol01/oradata/{SID}/NH_REG01a.dbf /export/vol01/oradata/{SID}/NH_REG02a.dbf Figure 2. LCF for Database on a RAID (UNIX) 13 Creating the Database Layout Configuration File Database over Several Disks (Windows) Figure 3 is an LCF for an eHealth database on a Windows system named “wintel” that has fifteen local 20 GB ISDN drives. The eHealth system polls 50,000 elements and saves three days of raw poll data. This requires 72 GB of space, and the layout uses some space on all disks to minimize disk contention. # - - - - - - - - - - - - - - - - - - - - - - - - # Configuration Variables: # - - - - - - - - - - - - - - - - - - - - - - - - CfgHostname = wintel CfgDbModelSize = xlarge CfgSID = EHEALTH CfgRedoLogSize = 156M CfgNH_USER = nhuser # - - - - - - - - - - - - - - - - - - - - - - - - # Software Locations: # - - - - - - - - - - - - - - - - - - - - - - - - NH_ORACLE_HOME c:\oracle92 NH_HOME c:\eHealth # - - - - - - - - - - - - - - - - - - - - - - - - # Database File Layout: # - - - - - - - - - - - - - - - - - - - - - - - - # Put control files on any three distinct disks: CONTROL D:\oradata\{SID}\CONTROL01.ctl CONTROL E:\oradata\{SID}\CONTROL02.ctl CONTROL F:\oradata\{SID}\CONTROL03.ctl # Put SYSTEM and TEMP together: NH_TEMP 7G D:\oradata\{SID}\NH_TEMP01.dbf SYSTEM 300M D:\oradata\{SID}\SYSTEM01.dbf # Leave ROLLBACK on its own disk: NH_ROLLBACK 1G E:\oradata\{SID}\NH_ROLLBACK01.dbf # Give archive logs their own disks: ArchiveLogsDir 9766M F:\oradata\{SID}\ArchiveLogs # Give REDO logs their own 4 disk: REDO1A G:\oradata\{SID}\REDO1A.log REDO2A I:\oradata\{SID}\REDO2A.log REDO3A G:\oradata\{SID}\REDO3A.log REDO4A I:\oradata\{SID}\REDO4A.log REDO1B H:\oradata\{SID}\REDO1B.log REDO2B J:\oradata\{SID}\REDO2B.log REDO3B H:\oradata\{SID}\REDO3B.log REDO4B J:\oradata\{SID}\REDO4B.log # Spread INDEX across three disks: NH_INDEX 3G K:\oradata\{SID}\NH_INDEX01.dbf NH_INDEX 3G L:\oradata\{SID}\NH_INDEX02.dbf NH_INDEX 3G M:\oradata\{SID}\NH_INDEX03.dbf # Spread all data across five disks: NH_USERS 100M N:\oradata\{SID}\NH_USERS01.dbf NH_USERS 100M O:\oradata\{SID}\NH_USERS02.dbf NH_USERS 100M P:\oradata\{SID}\NH_USERS04.dbf NH_USERS 100M Q:\oradata\{SID}\NH_USERS05.dbf NH_USERS 100M R:\oradata\{SID}\NH_USERS06.dbf NH_DATA01 3G R:\oradata\{SID}\NH_DATA01a.dbf NH_DATA01 3G Q:\oradata\{SID}\NH_DATA01b.dbf NH_DATA01 3G P:\oradata\{SID}\NH_DATA01c.dbf NH_DATA01 3G O:\oradata\{SID}\NH_DATA01d.dbf NH_DATA01 3G N:\oradata\{SID}\NH_DATA01e.dbf NH_DATA02 2G P:\oradata\{SID}\NH_DATA02a.dbf NH_DATA02 2G Q:\oradata\{SID}\NH_DATA02b.dbf NH_DATA02 2G R:\oradata\{SID}\NH_DATA02c.dbf NH_DATA02 2G N:\oradata\{SID}\NH_DATA02d.dbf NH_DATA02 2G O:\oradata\{SID}\NH_DATA02e.dbf NH_REG_INDEX01 2G K:\oradata\{SID}\NH_REG_INDEX01a.dbf NH_REG_INDEX02 2G L:\oradata\{SID}\NH_REG_INDEX02a.dbf NH_CRN 100M N:\oradata\{SID}\NH_CRN01.dbf NH_REG01 4G R:\oradata\{SID}\NH_REG01a.dbf NH_REG02 4G Q:\oradata\{SID}\NH_REG02a.dbf Figure 3. LCF for Database over Several Disks (Windows) 14