The Oracle Database Appliance by Dell: Architecture and Features
By Zafar Mahmood and Nicolas Pujol (Issue 2 2001)
Dell and Oracle collaborated to design the Oracle Database Appliance by Dell, which extends the advantages of the appliance model to database servers. A turnkey solution, it combines simplified deployment with optimized performance.
The Oracle® Database Appliance by Dell, designed jointly by Dell and Oracle, is a pretested, factory-installed, auto-tuning database appliance server, capable of supporting up to 450 concurrent users. The appliance offers a high-performance, reliable database solution with simplified installation, configuration, and management.
The appliance model provides both flexibility and ease of use—meeting a wide range of business needs. The appliance is well suited to large enterprises or medium-sized businesses needing departmental or distributed databases (data marts) in remote locations such as branch offices, retail stores, hotel chains, and schools. The appliance also allows small- and medium-sized businesses to deploy a leading, enterprise-quality database easily and cost-effectively.
The Oracle Database Appliance by Dell is a turnkey solution—the hardware and software have been validated, factory installed, and tuned by Dell and Oracle. Dell can provide 24x7 support for the hardware, as Oracle can for the software. Compared to the installation and management of a database on a general-purpose server, the Oracle Database Appliance saves substantial time and Information Technology (IT) resources, both in the initial setup and in ongoing maintenance.
Deploying a database on a general-purpose server requires considerable effort from dedicated IT resources. Configuring and tuning the hardware, operating system, and database frequently presuppose extensive technical expertise. Deploying an Oracle database server typically requires five steps:
- Setting up and configuring the hardware
- Installing and tuning the operating system (OS)
- Designing and configuring the file system for Oracle tablespaces and data files
- Installing and configuring the Oracle relational database management system (RDBMS)
- Tuning the system for optimal performance of the particular application, whether online transaction processing (OLTP), a decision support system (DSS), or a multipurpose application
The entire deployment process usually takes several days and sometimes several weeks of installation, configuration, and tuning. Installing an Oracle Database Appliance, on the other hand, should typically take about 60 minutes.
Furthermore, while the success of a manual configuration relies heavily on IT technical expertise, the Oracle Database Appliance configures itself and automatically tunes the system parameters for optimal performance. Therefore, an on-site Oracle expert is usually not needed to successfully deploy an Oracle appliance.
Oracle Database Appliance hardware
The Dell® PowerEdge® 6450 provides the server platform for the Oracle Database Appliance; external storage is used for the database. SCSI or Fibre Channel solutions may be used for external storage, and an optional tape backup is available.
Figure 1 summarizes the guidelines for recommended configurations. Larger configurations support heavier workloads and also provide faster response times. Even in environments involving complex queries, larger configurations can support up to 450 concurrent users.
Figure 1. Oracle Database Appliance recommended configurations
File and database components
The file system on the Oracle Database Appliance has been configured to provide optimal performance. The appliance has two internal, 10,000-rpm disks for the OS and Oracle system files. Figure 2 shows the Oracle Appliance Manager console of an appliance with the file systems mounted on the two internal disks. For optimal performance, the Oracle redo log files are kept on the internal disks, separate from the Oracle data files. The two internal drives are mirrored to provide fault tolerance in case of a disk failure.
Figure 2. Oracle Appliance Manager console
The Oracle data files are stored on external storage enclosures, which may be either Fibre Channel or SCSI-based RAID-10. The PowerVault® 210S is a SCSI-based enclosure, while the PowerVault 650F and 630F are Fibre Channel solutions. For SCSI-based solutions, the appliance is configured to use the Dell PowerEdge RAID Controller Version 2, Dual Channel (PERC 2/DC) RAID controller card, which has a dedicated Peripheral Component Interconnect (PCI) bus. The RAID card is plugged into the third slot of the PowerEdge 6450. Each channel on the PERC 2/DC RAID controller card can reach peak data transfer rates of 80 MB/sec.
RAID-10 is configured on the PowerVault 210S drives by creating mirrored sets on the disks across both channels of the PERC 2/DC RAID controller and then striping as shown in Figure 3 . This method of creating RAID volumes provides fault tolerance while maximizing the read and write performance of the data files.
Figure 3. RAID striping
System parameters for optimal performance
The auto-scaling and tuning features of the Oracle Database Appliance help save database administration time by automatically adjusting many of the system parameters for optimal performance. The system sets various initialization parameters, such as CPU_COUNT, SHARED_POOL_SIZE, and DB_BLOCK_BUFFERS, to reflect the resources available on the appliance.
Figure 4 compares the system parameter settings of two appliances: a smaller configuration with two CPUs and 2 GB of RAM, and a larger configuration with four CPUs and 4 GB of RAM. These parameters were obtained from database reports from the Oracle Appliance DBA studio. Several key system parameters are described below.
Figure 4. Comparison of system parameter settings
CPU_COUNT: CPU_COUNT specifies the number of CPUs available to the Oracle database. On machines with a single CPU, CPU_COUNT is 1. This parameter determines the default value for the LOG_SIMULTANEOUS_COPIES parameter. LOG_SIMULTANEOUS_COPIES specifies the maximum number of redo buffer copy latches available to write log entries simultaneously.
SHARED_POOL_SIZE: SHARED_POOL_SIZE specifies the size, in bytes, of the shared pool, which stores shared cursors, stored procedures, control structures, and other structures. Larger shared pools improve performance in multi-user systems; however, smaller pools consume less memory. If PARALLEL_AUTOMATIC_TUNING is set to FALSE, Oracle also allocates parallel execution message buffers from the shared pool.
SHARED_POOL_RESERVED_SIZE: The parameter SHARED_POOL_RESERVED_SIZE reserves a portion of the shared pool space for large, continuous requests for shared pool memory. This reserved pool space helps prevent performance degradation arising from situations where pool fragmentation forces the database to search for segments of unused pool space to process requests.
Database buffers: The total size of the database buffer cache is equal to the number of database block buffers multiplied by the database block size. DB_BLOCK_SIZE can be specified only when the database is first created, so the DB_BLOCK_BUFFERS parameter is manipulated to control the size of the buffer cache. Effective use of the buffer cache can greatly reduce the I/O load on the database.
Fixed size: The installed Oracle products and options determine the fixed size, which changes only if the installed products are altered or removed.
Redo buffer: The redo buffer is a circular buffer in the Shared Global Area (SGA) and contains information about changes made to the database. The buffer's contents are flushed to the redo log files by the log writer (LGWR) background thread. The parameter LOG_BUFFERS sets the size of the redo log buffer in the SGA. In general, larger redo log buffers reduce redo log file I/O, particularly if transactions are long or numerous. In a busy system, a redo buffer size of at least 65,536 bytes is reasonable.
Variable size: The variable size is determined by parameters such as SHARED_POOL_SIZE, PROCESSES, SESSIONS, and TRANSACTIONS at startup. These parameters control the maximum numbers of user processes, sessions created by users on the system, and transactions allowed on the system at one time.
A variety of software components working in conjunction provide the Oracle Database Appliance functionality. Figure 5 illustrates the logical structure of the software components on the appliance. These components range from the OS to backup services.
Figure 5. Software component structure
Operating system. The database runs on a slimmed-down OS kernel, which comes installed on the appliance. This operating system contains only the necessary functionality to optimally run the appliance database with a predefined or standard device driver set.
Intelligent agent. The intelligent agent automatically monitors and configures the appliance's performance and services, thus reducing the work of local IT staff. For example, if administrators need to add memory or a disk to the appliance, they power down the system, add the hardware, and power back up. The intelligent agent recognizes the upgrades and automatically reconfigures the database to take advantage of the system improvements. The intelligent agent also communicates with the Oracle Enterprise Manager to monitor the appliance for predefined events, listen for jobs, and run them on the appliance.
Maintenance services. The Oracle Appliance maintenance services allow users to view error logs, diagnose and debug problems, and edit configuration files remotely via the Oracle Enterprise Manager console. For example, users can view and edit network, intelligent agent, and Oracle Portal configuration files such as Tnsnames.ora, Sqlnet.ora, Snmp_rw.ora, Nmiconf.lst, Svppcart.dat, and Wdbsvr.app. Users can also view, archive, and delete logs generated by most appliance services, including appliance maintenance logs.
Remote management. Remote management services enable the Oracle Database Appliance to be managed remotely via the Oracle Enterprise Manager console.
Backup services. The Oracle Database Appliance also provides backup and recovery services on the appliance machine. The Oracle Enterprise Manager console is used to schedule jobs for periodic backups of the Oracle database or OS files.
Auto-tuning and performance monitoring
The Oracle Database Appliance has the ability to auto-scale and configure the storage, memory, and CPU usage for optimal performance. The Oracle data files are created using the Oracle RDBMS auto-extend features. Additional RAID volumes can be created simply by adding disks. The appliance automatically scales to incorporate the new volumes into the existing file system by enabling the auto-extension feature of the data files. Similarly, when an additional CPU or RAM is added to the appliance, the initialization parameter file is automatically updated to use the added power.
The appliance continually monitors for performance bottlenecks and automatically triggers a job to rectify any problems it identifies. For example, contention for available rollback segments may sometimes occur on a database server with a large number of concurrent users and a heavy transaction load. One of the appliance's registered events tracks the number of available rollback segments in relation to the number of concurrent users. If the number of available rollback segments dips below a predefined threshold, the appliance automatically creates another public rollback segment and makes it available to database users. Figure 6 shows the Oracle Enterprise Manager console as the job to fix rollback segment contention is performed.
Figure 6. Oracle Enterprise Manager console
High performance meets streamlined management
The Oracle Database Appliance by Dell provides a simple and cost-effective way to deploy an Oracle database. Developed and tested by Dell and Oracle, the appliance provides a complete database solution, including the server, storage, and the entire software stack.
The remote management capabilities, simplicity of deployment, and automatic tuning features of the appliance contribute to its low total cost of ownership—making the Oracle Database Appliance by Dell an excellent choice for businesses of all sizes.
Zafar Mahmood (email@example.com) is a solutions consultant for Solutions Engineering in the Dell Enterprise Systems Group. Zafar came to Dell from Oracle's Worldwide Solutions Support and has been involved in database performance optimization, database systems, and LAN implementation for over five years. Zafar has a Masters degree in Electrical Engineering with a specialization in Computer Communications from the City University of New York.
Nicolas Pujol (firstname.lastname@example.org) works in product marketing for Server Software Development in the Enterprise Systems Group at Dell. His responsibilities include designing and managing Oracle and Novell® solutions. Nicolas has an MBA from the University of Texas at Austin, a Masters of Management degree from Lyon Graduate School of Business, and a B.A. in Finance and Accounting from the University of Paris.
For more information
For more information about the Oracle Database Appliance by Dell or other Oracle solutions from Dell, please call your Dell representative or visit www.dell.com