Oracle Services on RAC How They Work and What You Should Use Them For Five Things You Might Not Know.

Slides:



Advertisements
Similar presentations
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Advertisements

INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Oracle High Availability Solutions RAC and Standby Database Copyright System Managers LLC 2008.
Oracle Services on RAC Five Things You Might Not Know.
14.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Backup The flip side of recovery. Types of Failures Transaction failure –Transaction must be aborted System failure –Hardware or software problem resulting.
Harvard University Oracle Database Administration Session 2 System Level.
Installing software on personal computer
CERN - IT Department CH-1211 Genève 23 Switzerland t Oracle Data Guard for RAC migrations WLCG Service Reliability Workshop CERN, November.
Simplify your Job – Automatic Storage Management Angelo Session id:
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. James Harding - Database Manager.
INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Client-Server – Lecture 4 Copyright System Managers LLC 2007 all rights reserved.
Oracle Database Administration
Enabling Advanced Net8 Features. Configuring Advanced Network Address and Connect Data Information.
5 Copyright © 2008, Oracle. All rights reserved. Configuring the Oracle Network Environment.
5 Copyright © 2007, Oracle. All rights reserved. Configuring the Oracle Network Environment.
Recovery Manager Overview Target Database Recovery Catalog Database Enterprise Manager Recovery Manager (RMAN) Media Options Server Session.
12 Copyright © 2004, Oracle. All rights reserved. Oracle Net Services.
11 Copyright © 2005, Oracle. All rights reserved. Configuring the Oracle Network Environment.
CHAPTER 2 Implementing a Database. Introduction to Creating Databases After you’ve installed the Oracle software, the next logical step is to create a.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
Load Balancing & Failover (RAC) RAC 负载均衡和失效接管. About ACOUG  ACOUG: All China Oracle User Group 
5 Copyright © 2004, Oracle. All rights reserved. Using Recovery Manager.
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
By Lecturer / Aisha Dawood 1.  You can control the number of dispatcher processes in the instance. Unlike the number of shared servers, the number of.
Appendix A Starting Out with Windows PowerShell™ 2.0.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Deploying Oracle Names Jeff D’Abate Sr. Database Administrator Enterprise Application Services November 19, 2004.
Firmware Storage : Technical Overview Copyright © Intel Corporation Intel Corporation Software and Services Group.
6 Copyright © 2009, Oracle. All rights reserved. Configuring the Oracle Network Environment.
Installing Oracle9i RAC Release 2 on HP OpenVMS Systems.
B Copyright © 2009, Oracle. All rights reserved. Configuring Warehouse Builder in RAC Environments.
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
Oracle9i Performance Tuning Chapter 12 Tuning Tools.
FailSafe SGI’s High Availability Solution Mayank Vasa MTS, Linux FailSafe Gatekeeper
Week #3 Objectives Partition Disks in Windows® 7 Manage Disk Volumes Maintain Disks in Windows 7 Install and Configure Device Drivers.
3 Copyright © Oracle Corporation, All rights reserved. Basic Oracle Net Server Side Configuration.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Oracle 10g Clusterware (CRS) Overview 18 Aug 2005 John Sheaffer Platform Solution Specialist
ASM General Architecture
Donna C. Hamby Sr. Principal Instructor Oracle University Oracle Corporation.
Week 2 Lecture 1 Creating an Oracle Instance. Learning Objectives  Learn the steps for creating a database  Understand the prerequisites for creating.
3 Copyright © 2006, Oracle. All rights reserved. Using Recovery Manager.
Alwayson Availability Groups
Chapter 13Oracle9i DBA II: Backup/Recovery and Network Administration 1 Chapter 13 Network Administration and Server-side Configuration.
C Copyright © 2006, Oracle. All rights reserved. Services.
IWR Ideen werden Realität Forschungszentrum Karlsruhe in der Helmholtz-Gemeinschaft Institut für Wissenschaftliches Rechnen Oracle Network Configuration.
© 2005 Solution Beacon, LLC. All Rights Reserved. Release 11i Workshops Release 11i … Please Add RAC Session Leader Kevin Dahl, Solution Beacon Release.
DB Questions and Answers open session (comments during session) WLCG Collaboration Workshop, CERN Geneva, 24 of April 2008.
11 Copyright © 2009, Oracle. All rights reserved. Enhancing ETL Performance.
Hierarchical Management of the Dynamic Allocation of Resources in a Multi-Node System Oracle Corporation: Feb 2005 Benny Souder, Debashish Chatterjee,
1 Remote Installation Service Windows 2003 Server Prof. Abdul Hameed.
 Database Administration Oracle Database Instance Management Starting Up and Shutting Down أ. ندى الغامدي, أ. ندى الطوالة.
SQL Database Management
Bentley Systems, Incorporated
Chapter Objectives In this chapter, you will learn:
Module Overview Installing and Configuring a Network Policy Server
Network Load Balancing
Maximum Availability Architecture Enterprise Technology Centre.
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
Download 2018 Exact Oracle 1z0-134 Exam Study Guide - Oracle 1z0-134 Exam Dumps
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Oracle10g RAC Service Architecture
Exploring the Power of EPDM Tasks - Working with and Developing Tasks in EPDM By: Marc Young XLM Solutions
RAC Performance Lab.
RAC Networking Lab.
Designing IIS Security (IIS – Internet Information Service)
ZORAN BARAC DATA ARCHITECT at CIN7
Presentation transcript:

Oracle Services on RAC How They Work and What You Should Use Them For Five Things You Might Not Know

JEREMY SCHNEIDER Chicago ENFJ Music Theology Swing Dancing Motorcycles

Services What are services? Do you use RAC? Do you use services? (With or without RAC?) What do you hope to learn? What questions do you hope to have answered?

Memorize or Understand? *Thanks to Jared Still and Alex Gorbachev. Originally from: creating_passionate_users/2006/ 09/how_to_get_user.html

Memorize or Understand? Value Complexity Code Internals Implementation Details Design Purpose Goals

Five things you might not know Services are a lot more than just a connect method There are three different ways to setup services Service configuration is stored in four different places There are multiple layers of load balancing and connection failover Services don’t always do what you would expect

What is a SERVICE? ARDENT-SALES.LAB.ARDENTPERF.COM = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rh4lab10)(PORT = 1521)) (CONNECT_DATA = (SID = ORCL)) ) ARDENT-ACCT.LAB.ARDENTPERF.COM = (DESCRIPTION = (ADDRESS_LIST= (FAILOVER = on) (LOAD_BALANCE = on) (ADDRESS= (PROTOCOL = TCP)(HOST = rh4lab12)(PORT = 1521)) (ADDRESS= (PROTOCOL = TCP)(HOST = rh4lab13)(PORT = 1521)) (ADDRESS= (PROTOCOL = TCP)(HOST = rh4lab14)(PORT = 1521)) ) (CONNECT_DATA= (SERVICE_NAME = orcl.lab.ardentperf.com)) )

What is a SERVICE? rh4lab12:/home/oracle[orcl]$ lsnrctl stat [...] Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "orcl.lab.ardentperf.com" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclXDB.lab.ardentperf.com" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orcl_XPT.lab.ardentperf.com" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "test1.lab.ardentperf.com" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "test2.lab.ardentperf.com" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "test3.lab.ardentperf.com" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully

What is a SERVICE?

More than just a connect method Tuning and Monitoring Aid Integration with dynamic views All stats automatically collected and aggregated by service AWR integration Alerts for response time thresholds Resource Management Aid Consumer groups can be mapped to services, modules and actions Job Control Aid Tuning, resource management Enable/disable jobs

Single System Image (SSI) Two key properties of SSI: Every SSI has a boundary. SSI can exist at different levels. In cluster discussions SSI usually means OS (perspective of admin). Services create SSI for database client. A single system image is the illusion, created by software or hardware, that a collection of computing elements is a single computing resource. -- Gregory Pfister, In Search of Clusters

Single System Image (SSI) DatabaseServices (RAC, DG, replication) Operating Cluster System (vcs, hacmp, rhcs, etc) HardwareHypervisor (esx, lpar, ovm, etc)

Five things you might not know Services are a lot more than just a connect method There are four three different ways to setup services Service configuration is stored in four different places There are multiple layers of load balancing and connection failover Services don’t always do what you would expect

Three ways to setup services 1. Manual for Non-RAC Databases: SERVICE_NAMES parameter Text editor (init file) SQLPlus (spfile) DBMS_SERVICES 2. Manual for RAC Databases: srvctl and DBMS_SERVICES Best practice to always perform both steps in 11.1 and older. Never set SERVICE_NAMES! ~]$ srvctl add service -d db2rac1 \ > -s reports -r db2rac11,db2rac12 -P basic SQL> begin 2 dbms_service.create_service( 3 service_name=>'reports', 4 network_name=>'reports', 5 goal=>dbms_service.goal_none, 6 dtp=>FALSE, 7 aq_ha_notifications=>FALSE, 8 clb_goal=>dbms_service.clb_goal_long 9 ); 10 end; 11 / PL/SQL procedure successfully completed. ~]$ srvctl start service -d db2rac1 \ > -s reports ~]$ lsnrctl services Service "reports.lab.ardentperf.com" has 2 instance(s) Instance "db2rac11", status READY, has 2 handler(s) Instance "db2rac12", status READY, has 1 handler(s)

Three ways to setup services 3. Database Console/Grid Control Only point/click method in 11g Only available for RAC databases Many available options Service level thresholds Consumer groups, job classes Notification properties Load balancing goal DTP option

Three ways to setup services 4. DBCA Final steps of database creation (number 12 of 15) Services management page from DBCA main menu Only available in 10g Maintains server’s TNSNAMES.ORA Does not call DBMS_SERVICES

Five things you might not know Services are a lot more than just a connect method There are three different ways to setup services Service configuration is stored in four different places There are multiple layers of load balancing and connection failover Services don’t always do what you would expect

Where’s the configuration stored? tnsnames.oralistener.orasqlnet.ora init.ora or spfileinventoryoraInst.loc oratabOS startup scripts (init.d)workload repository (awr) data dictionarydatafile headersrollback/undo temporary tablespaceredo logcontrol file ASM disk headersvoting disk/quorumcluster registry (ocr)

Where’s the configuration stored? tnsnames.oralistener.orasqlnet.ora init.ora or spfileinventoryoraInst.loc oratabOS startup scripts (init.d)workload repository (awr) data dictionarydatafile headersrollback/undo temporary tablespaceredo logcontrol file ASM disk headersvoting disk/quorumcluster registry (ocr)

Where’s the configuration stored? tnsnames.oralistener.orasqlnet.ora init.ora or spfile oratabworkload repository (awr) data dictionarydatafile headers control file ASM disk headerscluster registry (ocr)

Where’s the configuration stored? Data Dictionary (Bulk of service configuration) DBA_SERVICES DBA_RSRC_GROUP_MAPPINGS DBA_THRESHOLDS DBA_SCHEDULER_JOB_CLASSES TNSNAMES.ORA Server-side Entries for LOCAL_LISTENER and REMOTE_LISTENER Client-side CONNECT_DATA Special entries for PRECONNECT services Cluster Registry Resource Start/stop script Dependencies Restart policy Stringpairs Instance list Preferred/available Enabled/disabled TAF polocy Initialization Parameters LOCAL_LISTENER REMOTE_LISTENERS DB_DOMAIN DISPATCHERS STATISTICS_LEVEL

Five things you might not know Services are a lot more than just a connect method There are three different ways to setup services Service configuration is stored in four different places There are multiple layers of load balancing and connection failover Services don’t always do what you would expect

Three layers of load balancing

Three layers of connection failover

Three layers of TNSNAMES ARDENTACCT.LAB.ARDENTPERF.COM = (DESCRIPTION_LIST = (LOAD_BALANCE = ON) (FAILOVER = ON) (DESCRIPTION =... ) (DESCRIPTION = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS_LIST =... ) (ADDRESS_LIST = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS= (PROTOCOL = TCP)(HOST = rh4lab12)(PORT = 1521)) (ADDRESS= (PROTOCOL = TCP)(HOST = rh4lab13)(PORT = 1521)) ) (CONNECT_DATA= (SERVICE_NAME = orcl.lab.ardentperf.com)) ) “Client TNSNAMES” load balancing and “Connect-Time” failover.

Three layers of runtime failover 1. Client-Side TAF The original runtime failover – existed since Oracle8 Use FAILOVER_MODE block in TNSNAMES file 2. Server-Side TAF New in 10g Attribute of service Overrides TNSNAMES 3. Fast Connection Failover New in 10g JDBC Connection Pools Utilizes FAN events

Five things you might not know Services are a lot more than just a connect method There are three different ways to setup services Service configuration is stored in four different places There are multiple layers of load balancing and connection failover Services don’t always do what you would expect

Unexpected behavior

Preferred-Available ≠ Single Node Performance What is an active-passive cluster? Note: services obsolete active_instance_count for all practical purposes Cluster overhead impacts performance Caution: Partitioning different kinds of work on the same objects? If clustering only for HA, avoiding RAC is often better

Unexpected behavior No Failback After preferred node comes back online, service will NOT automatically move back from available node. No Auto-Start 10g clusterware will attempt to return services to their last-known state. If you shutdown with srvctl then the service will not start after reboot.

Unexpected behavior Parallel Execution 10g and older versions PQ slaves inherit service name Slaves run on all nodes by default, ignoring PREFERRED and AVAILABLE nodes for service Execution controlled through INSTANCE_GROUPS and PARALLEL_INSTANCE_GROUPS 11g Slaves run only on nodes where service is active PARALLEL_INSTANCE_GROUPS overrides default behavior

Unexpected behavior SCAN and DB Clients 11gR1 and older versions Cannot handle multiple IP addresses returned by DNS or GNS No connect-time failover Include all three SCAN VIP addresses into TNSNAMES

Five things you might not know  Services are a lot more than just a connect method  There are four different ways to setup services  Service configuration is stored in four different places  There are multiple layers of load balancing and connection failover  Services don’t always do what you would expect How do I get started?

What is a SERVICE? Each service represents a workload with common: attributes service-level thresholds priorities The grouping is based on attributes of work that might include: the application function to be used the priority of execution for the application function the job class to be managed the data range used in the application function or job class A service is a logical abstraction of a single group of database clients or a single application. rman-repository development-wiki crm-prod cust-portal-bulk-load cust-portal-prod Example Service Names

Questions, comments, suggestions? A Q &