Oracle Database 10g Real Application Clusters Gordon Smith Director, RAC Product Management 1 Agenda Enterprise Grid Roadmap Oracle9i RAC is Proven Oracle RAC 10g for Everyone – – – – Integrated Clusterware Automatic Workload Management Enterprise Manager for RAC Performance and Diagnostics 2 Key IT Imperatives Highest Quality of Service – – Maximum availability Maximum scalability Most Efficient Management – Do much more Enterprise Grids Lowest Cost – With much less 3 Adaptive Proactive Agile Roadmap RAC 10g RAC For Everyone Oracle9i RAC HA & Scalability Now Most Efficient Management Enterprise Grids Low Cost Clusters Highest Quality Service Lowest Cost 4 Oracle9i RAC Momentum 2,500+ customers 550+ documented production customers 175+ production customer references 16% of new DB customers are RAC customers 20% of RAC deals are from repeat customers As of August 2003 5 Electronic Arts ROI Discounted Cash Outlay Comparison $ Millions 15 10 5 0 Year 1 Year 2 Year 3 Year 4 Year 5 Total RAC 5.03 0.65 0.58 0.59 0.51 7.36 Sun SMP 6.8 1.17 1.07 0.92 0.79 10.76 Takes into account: •Hardware costs •Software costs •H&S maintenance •DBA costs •SysAdmin costs 1st Year 5 Years Big SMP is 35%+ More Expensive Big SMP is 46%+ More Expensive Report available on RAC.US.ORACLE.COM 6 Oracle Database 10g: RAC for Everyone Key focus of RAC 10g is on management – Goal: ubiquitous adoption of RAC Part of much larger Oracle Database effort – – – Oracle9i reduced administration costs by half The Oracle Database 10g reduces administration costs by another half RAC is an integral part of the Oracle Database so it benefits from all this work 7 Oracle RAC 10g For Everyone Eliminate need for 3rd party components that add significantly to complexity and cost Automatic workload management Automatic fast failure notification (FaN) Single system image GUI management Improved diagnostic and verification tools Performance improvements 8 The Problem with Third Party Cluster Software No single point of support High Cost – – Multiple products to license Labor intensive to install, integrate, and manage Uneven quality & functionality across platforms Small # of nodes No common event or management APIs Applications Cluster Control/Failover APIs Resource Manager/Resource Agents Volume Manager/File system Messaging and Locking Membership Connectivity Hardware/OS Kernel 9 RAC 10g Integrated Clusterware – No need to purchase additional software Easy to install, manage High quality and functionality across all platforms – 64 nodes on all platforms Advanced functionality – Failure Notification (FaN) Support for third-party clusterware RAC, Other Apps Services Framework Cluster Control/Recovery APIs Automatic Storage Management Messaging and Locking Management APIs – Applications Event Services Complete Oracle cluster software solution Single-vendor support Low Cost Membership Connectivity Hardware/OS Kernel 10 Automatic Workload Management Application workloads can be defined as Services – – – Individually managed and controlled Assigned to instances during normal startup On instance failure, automatic re-assignment Service performance individually tracked Finer grained control with Resource Manager Integrated with other Oracle tools / facilities 11 Automatic Workload Management Order Entry Spare Supply Chain Normal Server Allocation 12 Automatic Workload Management Order Entry Supply Chain End of Quarter 13 Automatic Workload Management Order Entry Spare Supply Chain Normal Server Allocation 14 Automatic Workload Management Order Entry Spare Supply Chain Server Fails 15 Automatic Workload Management Order Entry Supply Chain Reallocate Spare server to Order Entry 16 Automatic Workload Management Defining Services Create a service for each workload you want to separately manage – A small number may be adequate Each service gets a globally unique name No application changes required – – Services specified in TNS connect data e.g, using Net Easy*Connection in 10g scott/tiger@//myVIP/myservice 17 Automatic Workload Management Defining Allocation Rules Using DBCA Rules specify automatic resource allocations – – PREFERRED instances during normal conditions AVAILABLE instances should failures occur 18 Automatic Workload Management Enterprise Manager Controls Performs service operations – – – Start / Stop Enable / Disable Relocate View service status – Including automatic resource allocation rules 19 Automatic Workload Management Performance Tracking Automatic Workload Repository (AWR) – Tracks performance by service e.g, average response times for calls – Applications can specify MODULE and ACTIONS for finer grained monitoring e.g. average response time for key transactions – Thresholds can be set to alert DBAs when performance doesn’t meet service levels 20 Automatic Workload Management Performance Tracking • Set MODULE / ACTION using JDBC • Note: no extra message exchange with server • – setting “bundled” with call String[] metrics = new String[OracleConnection.END_TO_END_STATE_INDEX_MAX]; metrics[OracleConnection.END_TO_END_MODULE_INDEX] = "myModule"; metrics[OracleConnection.END_TO_END_ACTION_INDEX] = "myAction"; OracleConnection conn = ds.getConnection(); conn.setEndToEndMetrics(metrics, 0); 21 Automatic Workload Management Performance Tracking • Set MODULE / ACTION using OCI • No extra message exchanged – “bundled” OCIAttrSet(session, OCI_HTYPE_SESSION,(dvoid *) “set salary", (ub4)strlen(“set salary"), OCI_ATTR_ACTION, error_handle); • Set MODULE / ACTION using PL/SQL • Does require extra message exchanges DBMS_APPLICATION_INFO.SET_MODULE 9 module_name => ‘add_employee’ action_name => ‘record contact info’); 22 Automatic Workload Management Performance Tracking 23 Automatic Workload Management Finer Grained Control Resource Manager – Services can be mapped to consumer groups for finer grain control e.g., service Online gets 80% of CPU while service Batch gets only 20% – Mapping example: Execute DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING (DBMS_RESOURCE_MANAGER.SERVICE_NAME,’ONLINE’,’HIGH_PRIORITY’); 24 Automatic Workload Management Integration with Other Tools Job Scheduler – Job classes mapped to services Parallel Query / DML – – Query coordinator connects to a service like any other client Parallel slaves inherit service from coordinator Oracle Streams Advanced Queuing – – Queues accessed by service Achieves location transparency 25 Failure Notification (FaNTM) with Oracle Application Server 10g Oracle 10g Clusterware App Server 10g RAC Fast, coordinated recovery without human intervention – – Oracle RAC 10g signals 10g JDBC Fast Connect Failover when instances failures occur Immediate recovery for mid-tiers < 4 seconds from 15 minutes self correcting 26 Failure Notification (FaNTM) JDBC Fast Connection Failover Processing Supports multiple connection caches Datasource for each cache mapped to a service Keeps track of service and instance for each connection Distributes new work requests across available instances JDBC / Mid-Tier Database Tier CACHES SERVICE 1 INSTANCE X SERVICE 2 INSTANCE Y SERVICE 3 INSTANCE Z 27 Failure Notification (FaNTM) JDBC Fast Connection Failover Processing When DOWN signal received from RAC 10g – – Routes new requests to surviving instances Throws exception if application was in midst of transaction When UP signal received from RAC 10g – – Creates new connections to new instances Distributes new work requests evenly to all available instances 28 Notification Callouts Users can write callout programs that are invoked when notifications occur – Notifications include node up/down, instance up/down, or service up/down Example usages: – – – Send email, page Log status info Start / stop programs 29 Single System Image Management Enterprise Manager 10g enables management of RAC environments as single system image Cluster Database page provides RAC – wide view – – – – Aggregates status, performance data across all instances Supports operations on database and services Drill down to pages for specific instances Drill up to cluster page Cluster page – – Shows hardware and operating system configuration, performance, and status across cluster Drill down to pages for specific nodes 30 Enterprise Manager Database Home Page 31 Enterprise Manager Database Performance Page Database view – Drill down for instance info View data by service – – – – Collected by AWR View top services, modules, actions Set thresholds See alerts 32 Enterprise Manager Cluster Home Page 33 Enterprise Manager Cluster HW Performance Cluster view Shows hardware utilization – – – CPU Memory Disk 34 Grid Control – Server Provisioning – – – Provision software to many systems at once Clone, store and distribute “known good” configurations Automate patch and update management Enterprise Manager Software Inventory 35 Grid Control – Server Provisioning – – – Provision software to many systems at once Clone, store and distribute “known good” configurations Automate patch and update management Enterprise Manager Software Inventory 36 Verification and Diagnostics New cluster configuration verification tool * – – Eliminates errors during installation and configuration changes Pre and post validation of cluster environment for each installation / configuration step Improved diagnostic tools ** – – – Faster problem resolution times Reduced need to reproduce problems Valuable for both cluster and non-cluster systems * Will be available from OTN ** Use under direction of Oracle Support 37 Performance Enhancements Faster instance recovery times – Several optimizations to shorten path length and perform some operations in parallel Improved overall performance – – Reduced path length Message aggregation Automatic adjustments to changing workloads – Dynamic re-mastering 38 Oracle RAC 10g - Only Solution for Enterprise Grids Runs all Applications Mission Critical Quality of Service on Industry Standard, Low Cost Servers RAC Made Easy for Everyone Complete, Integrated Oracle Clusterware Automatic Workload Management Provides Capacity on Demand 39 For more info … Consult the following white papers on rac.us.oracle.com and database.us.oracle.com – – – Oracle RAC 10g Overview Oracle RAC 10g Diagnostics and Verification Oracle RAC 10g Best Practices on Linux 40 Q U E S T I O N S A N S W E R S 41