SAP HANA SPS 09 - What s New? Administration & Monitoring



Similar documents
SAP HANA SPS 09 - What s New? Development Tools

SAP HANA SPS 09 - What s New? SAP DB Control Center DBA Tool to manage Data Center

R49 Using SAP Payment Engine for payment transactions. Process Diagram

SAP HANA SPS 09 - What s New? HANA IM Services: SDI and SDQ

SAP HANA SPS 09 - What s New? SAP HANA Scalability

SAP S/4HANA Embedded Analytics

The Arts & Science of Tuning HANA models for Performance. Abani Pattanayak, SAP HANA CoE Nov 12, 2015

Citrix Receiver. Configuration and User Guide. For Macintosh Users

Partner Certification to Operate SAP Solutions and SAP Software Environments

SAP HANA SPS 09 - What s New? Backup/Recovery

Cost-Effective Data Management and a Simplified Data Warehouse

SAP HANA Backup and Recovery (Overview, SPS08)

Master Data Governance Find Out How SAP Business Suite powered by SAP HANA Delivers Business Value in Real Time

SAP Business One mobile app for Android Version 1.0.x November 2013

Setting up Visual Enterprise Integration (WM6)

Mobile app for Android Version 1.0.x, January 2014

Cut Costs and Improve Agility by Simplifying and Automating Common System Administration Tasks

SAP Fiori - Architecture

SAP SE - Legal Requirements and Requirements

SAP Audit Management A Preview

SAP Mobile Documents. December, 2015

Price and Revenue Management - Manual Price Changes. SAP Best Practices for Retail

SFSF EC to 3 rd party payroll Integration Software and Delivery Requirements

K75 SAP Payment Engine for Credit transfer (SWIFT & SEPA) Process Diagram

How to Configure an Example SAP Cloud Applications Studio (PDI) Solution for SAP Cloud for Customer

Managing Customer Relationships with SAP Business One

Landscape Deployment Recommendations for. SAP Fiori Front-End Server

Reimagining Business with SAP HANA Cloud Platform for the Internet of Things

Real-Time Reconciliation of Invoice and Goods Receipts powered by SAP HANA. Stefan Karl, Finance Solutions, SAP ASUG Presentation, May 2013

SAP HANA SPS 09 - What s New? SAP HANA Multitenant Database Containers

Design & Innovation from SAP AppHaus Realization with SAP HANA Cloud Platform. Michael Sambeth, Business Development HCP, SAP (Suisse) SA

SAP Operational Process Intelligence Security Guide

SAP HANA SPS 09 - What s New? Security

Complementary Demo Guide

K88 - Additional Business Operations for Loans. Process Diagram

SAP Learning Hub: Your Competitive Advantage for a Career in SAP Solutions

Get Growing with the Starter Package for SAP Business One

Mobile app for Android Version 1.2.x, December 2015

Downport to SAP GUI for documents Access Control Management

SAP BusinessObjects Business Intelligence 4 Innovation and Implementation

GR5 Access Request. Process Diagram

High Availability & Disaster Recovery. Sivagopal Modadugula/SAP HANA Product Management Session # 0506 May 09, 2014

SAP Business Intelligence Adoption V6.41: Software and Delivery Requirements. SAP Business Intelligence Adoption February 2015 English

Optimize Application Performance and Enhance the Customer Experience

Mobile app for ios Version 1.11.x, December 2015

Working Capital Analytics Overview. SAP Business Suite Application Innovation March 2015

SAP Business One mobile app for ios. Version 1.9.x September 2013

Software and Delivery Requirements

Upgrade: SAP Mobile Platform Server for Windows SAP Mobile Platform 3.0 SP02

SAP Best Practices for SAP Mobile Secure Cloud Configuration March 2015

Understanding Security and Rights in SAP BusinessObjects Business Intelligence 4.1

Simplify and Secure Cloud Access to Critical Business Data

Streamline Processes and Gain Business Insights in the Cloud

Real-Time Enterprise Management with SAP Business Suite on the SAP HANA Platform

SAP HANA Live & SAP BW Data Integration A Case Study

SAP Fiori Infrastructure rapid-deployment solution: Software and Delivery Requirements

SM250 IT Service Management Configuration

Mobile app for ios Version 1.10.x, August 2014

SAP BusinessObjects BI Clients

Who is my SAP HANA DBA? What can I expect from her/him? HANA DBA Role & Responsibility. Rajesh Gupta, Deloitte. Consulting September 24, 2015

Automate Complex Pay Rules While Streamlining Time and Attendance Management

Update on the SAP GUI Family. Q3/2014 Public

SuccessFactors Global Human Capital Management (HCM) Academy and Admin Training Schedule (Q3 Q4 2014)

Power Smart Business Operations with Real-Time Process Intelligence

Leverage the Internet of Things to Transform Maintenance and Service Operations

SAP Working Capital Analytics Overview. SAP Business Suite Application Innovation January 2014

SAP Document Center. May Public

EMC: Managing Data Growth with SAP HANA and the Near-Line Storage Capabilities of SAP IQ

Integration capabilities of SAP S/4HANA to SAP Cloud Solutions

Manual to Access SAP Training Systems Technical Description for Customer On-Site Training

Citrix Receiver. Configuration and User Guide. For Windows Users

Certificate SAP INTEGRATION CERTIFICATION

University Competence Center: Leading a Co-Innovation Project on SAP Cloud Appliance Library

Rapid database migration of SAP Business Suite to SAP HANA (V4.10): Software and Delivery Requirements. SAP HANA November 2014 English

In-Store Merchandise and Inventory Management. SAP Best Practices for Retail

PSM-PPM Integration SAP Product Structure Management

ITM204 Post-Copy Automation for SAP NetWeaver Business Warehouse System Landscapes. October 2013

Application Test Management and Quality Assurance

Formulate Winning Sales and Operations Strategies Through Integrated Planning

Protect Your Connected Business Systems by Identifying and Analyzing Threats

Why Cloud Platforms are the Secret Weapon to Make Your Business More Agile and Competitive

Driving Customer Value leveraging SAP s strategy for the Internet of Things Internet of Things Technology Forum Frankfurt

How To Use An Automotive Consulting Solution In Ansap

Your Intelligent POS Solution: User-Friendly with Expert Analysis

Improve Field Service Performance with Augmented Reality Software and Smart Glasses

Two UX Solutions Now Included with SAP Software

Automotive Consulting Solution. CHEP - EDI- Container Data

Greater Continuity, Consistency, and Timeliness with Business Process Automation

Resource Management for the Oil and Gas Industry

Powering Content-Rich Customer Success Centers for Omnichannel Support

Getting Started with the License Administration Workbench 2.0 (LAW 2.0)

Introduction to SAP HANA SQLScript Rich Heilman SESSION CODE: BT162

ABAP SQL Monitor Implementation Guide and Best Practices

Information Technology Meets Operational Technology in the Internet of Things

Multi Channel Sales Order Management: Mail Order. SAP Best Practices for Retail

Transcription:

SAP HANA SPS 09 - What s New? Administration & Monitoring (Delta from SPS08 to SPS09) SAP HANA Product Management November, 2014 2014 SAP AG or an SAP affiliate company. All rights reserved. 1

Content This presentation provides an overview of the main changes regarding administration, monitoring and supportability of the SAP HANA database between the SPS 08 version and the SPS 09 version. It covers changes to the SAP HANA cockpit, the SAP HANA studio administration perspective and changes to the SAP HANA database. Functionality of other SAP HANA studio perspectives (like the SAP HANA Modeler) is not covered in this presentation. 2

Agenda Improved Monitoring and Supportability New SAP HANA cockpit New SAP DB control center SAP HANA multitenant database containers SAP HANA studio enhancements Statistics service enhancements Improved resource monitoring Additional Features Shortened restart time Changed web dispatcher configuration New/enhanced monitoring views 3

Improved Monitoring and Supportability

SAP HANA Cockpit and SAP DB Control Center Overview SAP HANA cockpit Web-based tool for administration and monitoring of a single SAP HANA database SAP DB Control Center Web-based tool for administration and monitoring of your landscape of SAP databases Theme for SPS09: Support thousands of SAP Databases in Data Center or Cloud 5

SAP HANA Cockpit New web-based monitoring tool First version of SAP HANA cockpit available in addition to the SAP HANA studio Is an SAP Fiori Launchpad site that provides single point-of-access to a range of web-based applications for the administration of SAP HANA Is installed with SAP HANA as automated content Displays content as tiles arranged in groups The default homepage of tiles is customizable by modifying existing groups and creating new groups; tiles can be removed and added from any of the available tile catalogs Implements a role-based concept so that users only have access to those tile catalogs for which they are authorized Provides access to SAP HANA Administration Guide http://<host>:<port>/sap/hana/admin/cockpit Can also be opened from SAP HANA studio context menu 6

SAP HANA Cockpit Database Status Database Status Tile and Application The overall database status is displayed on the Database Status tile. Open the Database Status app by clicking the tile. The status of all the services in the system is displayed. For each service, detailed information about its memory and CPU consumption is available. If high priority alerts exist, this is shown on the tile as well as in the app. Direct access to the Alerts app is provided for further analysis of such alerts. The view is customizable, further columns can be added. 7

SAP HANA Cockpit Allocation Statistics Allocation Statistics Application You can visualize and explore the memory allocation history of the components of each service in the SAP HANA database using the Memory Allocation Statistics app Open the Memory Allocation Statistics app from the Database Status app by clicking the value in Used Memory column of the service whose memory allocation history you want to see. Tip: If the Used Memory column is not visible, click the configuration button in the footer toolbar and select it. 8

SAP HANA Cockpit Alerts Alert Tile and Application A summary of all latest alerts is available on the homepage of SAP HANA cockpit. To get more information about these alerts and to analyze the historical occurrence of alerts, you can drill down into the Alerts app. All latest alerts are displayed in list format on the left. To see more detailed information about a specific alert on the right, simply select it. The details include a display of past occurrences of this alert. To see all alerts, click All Alerts in the footer toolbar. Options for filtering, searching, and sorting are available to customize the list of alerts. To get to the check configuration, click the Configuration icon in the footer toolbar. 9

SAP HANA Cockpit Checks Check Tile and Application All checks are displayed in list format on the left. To see more detailed information about a specific check on the right, simply select it. The following configuration options are possible for checks: Change the threshold values that trigger alerts of different priorities. Set up e-mail notifications so that specific people are informed when alerts are issued. In addition, you can perform the following actions on checks: Run checks on a once-off basis, regardless of their configured schedule or status Switch checks off and on 10

SAP HANA Cockpit Memory Usage Used Memory Tile and Memory Overview Application Indicates total amount of memory currently used by the SAP HANA database in relation to the allocation limit For multiple-host systems, values are displayed for all worker hosts. The host with the highest (most critical) memory usage is also shown. This tile provides access to the Memory Overview app where you can analyze current memory usage in more detail. If the system is distributed, memory usage is available for each host individually. The initial view shows the memory usage of the master host. You can switch between hosts as necessary. 11

SAP HANA Cockpit CPU Usage CPU Usage Tile and Resource Utilization Application Indicates the percentage of CPU used by the SAP HANA system For multiple-host systems, values are displayed for all worker hosts. The host with the highest (most critical) CPU usage is also shown. This tile provides access to the Resource Utilization app where you can visualize and explore the usage history of key system resources (CPU, memory, and disk). 12

SAP HANA Cockpit Disk Usage Disk Usage Tile and Resource Utilization Application Indicates disk usage on disks belonging to the SAP HANA database Values are displayed for all disks. The disk with the highest (most critical) disk usage is also shown. This tile provides access to the Resource Utilization app where you can visualize and explore the usage history of key system resources (CPU, memory, and disk). 13

SAP HANA Cockpit Further Tiles I System Restarts Tile Indicates the number of services that have been manually or automatically restarted. If restarts have been detected, this tile provides access to the Alerts app where you can view the related alerts. Number of Dumps Tile Indicates the number of dump files in the system's trace directory. This tile provides access to the Trace tool of the SAP HANA Web-based Development Workbench. Note: The Trace tool of the SAP HANA Web-based Development Workbench opens in a new window and requires additional roles, either sap.hana.xs.ide.roles::traceviewer or the parent role sap.hana.xs.ide.roles::developer. Manage Users and Roles Tile Provides access to the Security tool of the SAP HANA Web-based Development Workbench where you can provision users Note: The Security tool of the SAP HANA Web-based Development Workbench opens in a new window and requires additional roles, either sap.hana.xs.ide.roles::securityadmin or the parent role sap.hana.xs.ide.roles::developer. 14

SAP HANA Cockpit Further Tiles II Manage Application Lifecycle Tile Provides access to SAP HANA Application Lifecycle Management Note: SAP HANA Application Lifecycle Management opens in a new window and requires the additional role sap.hana.xs.lm.roles::administrator. Tiles without drill down Query Load Indicates the number of current blocked transactions in the system, as well as expensive statements recorded by the expensive statements trace Active Sessions Indicates the number of current running and idle sessions in the system Running Jobs Indicates the number of jobs currently in progress General Information Provides information about system version, time of last upgrade, and platform 15

SAP HANA Cockpit Further Catalogs Further Catalogs Applications that provide core administration and monitoring features are available by default. Applications that allow you to manage optional components are only available if the optional component has been installed. Examples: SAP HANA dynamic tiering SAP HANA smart data streaming SAP DB Control Center Groups can be managed using the Group Panel, all available catalogs and tiles are shown in the Tile Catalog 16

SAP DB Control Center SAP DB Control Center Lets you perform aggregate monitoring of SAP database products, including SAP HANA Use control center to check the overall health of systems located within a data center or across your enterprise. Status displays focus on four high-level areas: Availability Performance Capacity Alerts Drill-down into details opens the system s cockpit (e.g. SAP HANA cockpit) which provides more information about the availability, capacity, performance, and alert status of the system http://<host>:<port>/sap/hana/dbcc 17

SAP HANA Multitenant Database Containers: Overview Multitenant database containers are a new way to run multiple applications/scenarios on one SAP HANA system 1 system database and multiple tenant databases Shared installation of database system software Strong isolation features, the system database and each of the tenant databases have their own: database users, database catalog, repository, persistence, backups, traces and log files Distinction between tasks performed at system level and those performed at database level Integration with data center operation procedures System database Application 1 Tenant database 1* SAP HANA system Application 2 Tenant database 2 *tenant database = database container 18

Multitenant Database Containers: Monitoring Concept Specific properties of SAP HANA multitenant database containers regarding administration/monitoring The system database plays a central role It is responsible for overall system and resource monitoring It can initiate both restarts of the system database itself and of individual tenant databases It can initiate both backups of the system database itself and of individual tenant databases. Recoveries are always initiated by the system database Tenant databases are always created/dropped by the system database Resource limits for tenant databases are configured on the system database Tenant databases are monitored individually Alert, trace, parameter and user configuration is done for each tenant database individually 19

SAP HANA Multitenant Database Containers: Monitoring Tools Monitoring Tools SAP HANA studio has been adapted to be able to Connect to the system database and any tenant database Display the database type in the Systems view Monitor the system database and any tenant database using the Administration editor Change database specific parameters SAP HANA cockpit can be used to monitor the system database and any tenant database DBACockpit and Solution Manager can be used to monitor the system database and any tenant database 20

SAP HANA Studio SQL Editor SQL Editor As a default, all SQL statements are now prepared before they are executed You can change the default behavior in the studio preferences 21

SAP HANA Studio Extended Performance Analysis I Plan Visualizer - Overview Visualization of execution plans will automatically display an Overview page Key KPIs are displayed to provide an overview before starting a detailed details Plan Visualizer - Statement Statistics Visualization of execution plans for SQLScript procedures also displays a set of statistics for each SQL statement involved in the procedure Provides easy drill-down into the most expensive SQL statement 22

SAP HANA Studio Extended Performance Analysis II Plan Visualizer - Tables Used Provides an overview on which tables have been used during the processing of a statement Displays 3 metrics per table: maximum number of entries processed, i.e. the overall output cardinality of any processing step on that table in the statement execution. number of accesses, i.e. how often a table has been accessed during statement execution maximum processing time, i.e. the maximum processing time across the possibly multiple table accesses Double-clicking on any row (table) leads to a corresponding operator list filtered for physical operators accessing the selected table. 23

SAP HANA Studio Extended Performance Analysis III Plan Visualizer - Network For queries executed in a distributed landscape, the Network view visualizes sequential network data transfers between different servers based on their given timestamps Information displayed: X-axis: servers involved Y-axis: time elapsed since query execution duration of network data transfers represented by rectangular bars size of data transferred in bytes Plan Visualizer - Performance Trace Displays list of operators for which performance trace data exists The data can be viewed by selecting any of the operators given in the list. The view consists of two main sections: left: list of operators you can select to view performance trace data right: performance trace data for the selected operator 24

SAP HANA Studio Extended Performance Analysis IV Plan Trace Collects SQL queries (along with their execution plans) executed in a given time frame for a particular application (session). Only 'SELECT' statements are currently traced - all other kinds of statements including procedures are planned to be supported in the future Plan trace configuration can be accessed in two ways: Context menu on a particular session in Administration editor -> Performance -> Sessions Administration editor -> Trace Configuration tab When an active trace is stopped, the Plan Trace Editor will be opened automatically, displaying the traced queries Double-clicking a particular statement (or using the context menu entry 'Visualize Plan ) displays the execution plan 25

SAP HANA Web-based Development Workbench SQL Console Extended SQL Console (part of the "Catalog" perspective) to support implicit and explicit performance measurement while executing a SQL statement Implicit performance measurement provides Execution Time information: DB, XS, and frontend layer Additional information: table locks, system alerts. Detailed performance analysis supports the repeated execution of statements thus allows to check whether performance characteristics are stable Expensive Statements Trace Available in the "Trace" perspective Supports filtering for passport-based application sessions For each statement metrics such as start time, number of processed records, etc. are displayed Summary provides information on the overall SQL load: number of statements executed number of unique statements executed number of result records 26

Embedded Statistics Service Re-activating Checks If the SQL statements to collect data suffer from heavy overall system load and do not return in the expected timeframe, the corresponding check or data collector is deactivated automatically. With SPS09 such checks and collectors get automatically enabled again after a specific interval (default: one hour) New Alerts Several new checks/alerts have been created in the areas of System Replication MVCC Discrepancy between host server times Disk usage in multiple-container systems SAP HANA dynamic tiering SAP HANA smart data streaming 27

Memory Limit Enhancements Memory Limit Enhancements User specific memory limit in addition to the global statement memory limit ALTER USER <username> SET PARAMETER STATEMENT MEMORY LIMIT = <gb> If both a global statement memory limit and a user statement memory limit are set, the user specific one (higher or lower) will precede Unsetting the user parameter will bring the global statement memory limit into effect for the user Setting the user parameter to 0 will disable any statement memory limit for the user You can set the statement memory limit for a user in the User editor of the SAP HANA studio. Statement Memory Limit Threshold Parameter statement_memory_limit_threshold in file global.ini, section memorymanager Allows to specify a percentage of total memory (as per global_allocation_limit). If this parameter is set, the global or user statement_memory_limit is only evaluated, if the total memory usage reaches this threshold. No statements have to be cancelled if the total memory usage is below this threshold. This feature allows expensive statements, which consume more than the allowed statement memory limit, to finish successfully during periods of low load, e.g. during the night. 28

CPU Time Measurement CPU Time Measurement Resource consumption collection has to be enabled manually: Configuration file global.ini, section resource_tracking, parameters enable_tracking and cpu_time_measurement_mode Expensive statements trace contains column CPU_TIME which shows the CPU usage of the traced statements Monitoring view M_SERVICE_THREADS shows CPU time values in columns CPU_TIME_SELF (CPU time of thread) and CPU_TIME_CUMULATIVE (CPU time of thread and associated children) which are also shown in the Threads view of the Administration editor in HANA studio 29

Additional Features

Additional Features Shortened Restart Time Fast HANA Restart Restart time of SAP HANA is mainly determined by the time needed to load the row store into memory Whenever the database was shutdown normally, the restart can be significantly sped up by re-using existing row store shared memory segments Parameter to enable this feature: file indexserver.ini, section row_engine: keep_shared_memory_over_restart = true/ false Preconditions for fast restart: Usage of Embedded Statistics Service Restart after normal shutdown During index server shutdown phase o No active write transaction o No versions on row store tables o No locks on tables Trace files indicate which kind of restart happens: Shutdown: Restart: Keeping RS shared memory at RowStore shutdown Preconditions for reuse of RS shared memory is satisfied RS shared memory will be used for RowStore segments at next service startup Reattaching RS shared memory for RowStore segments 2 RS segments loaded in 0.28 sec (457.143MB/s) 31

Additional Features Web Dispatcher Web Dispatcher The internal HANA Web Dispatcher has been converted to a native HANA service named "webdispatcher". It replaces the previous standalone executable "sapwebdisp_hdb". Main benefits and changes: Administration (start/stop) and monitoring (CPU, memory) of the internal web dispatcher are now available in HANA studio. Configuration via webdispatcher.ini in HANA studio. The previous profile sapwebdisp.pfl is removed, settings are migrated automatically. Changed trace file name to webdispatcher_<host>.<port>_dev_webdisp. Additional trace file webdispatcher_<host>.<port>.<3_digit_file_counter>.trc contains information like start/stop, configuration changes etc. The web dispatcher admin tool is now accessible at http://<host>:<port>/sap/hana /xs/wdisp/admin. Log on with a database user that has role sap.hana.xs.wdisp.admin::webdispatcheradmin to use it. In particular, you can use this tool to manage SSL certificates and other personal secure environments (PSEs) used by SAP HANA. SAP's command line cryptography tool SAPGENPSE is no longer required. 32

Additional Features Monitoring Views Enhancements regarding monitoring views The load monitor data is now available in SQL tables (M_LOAD_HISTORY_...). This provides faster access to the data and allows other tools than HANA studio (e.g. SAP HANA cockpit and DBACockpit) to display a graph of the load monitor KPIs. Columns CALLER (the service which called this thread) and CALLING (the service which the thread calls) have been added to monitoring view M_SERVICE_THREAD_SAMPLES. Enhanced MVCC monitoring (several new columns in M_MVCC_OVERVIEW, new view M_CS_MVCC) New monitoring views for new features, e.g. multitenant database containers, streaming,dynamic tiering, 33

Disclaimer This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. This presentation and SAP s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent. 34

How to find SAP HANA documentation on this topic? In addition to this learning material, you can find SAP HANA platform documentation on SAP Help Portal knowledge center at http://help.sap.com/hana_platform. The knowledge centers are structured according to the product lifecycle: installation, security, administration, development: SAP HANA Platform SPS What s New Release Notes Installation Administration Development References Documentation sets for SAP HANA options can be found at http://help.sap.com/hana_options: SAP HANA Options SAP HANA Advanced Data Processing SAP HANA Dynamic Tiering SAP HANA Enterprise Information Management SAP HANA Predictive SAP HANA Real-Time Replication SAP HANA Smart Data Streaming SAP HANA Spatial 35

Thank you Contact information Melanie Handreck SAP HANA Product Management AskSAPHANA@sap.com

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark information and notices. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SE s or its affiliated companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forwardlooking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. 37