Oracle 10g rac_overview


Published on

Published in: Education, Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Oracle RAC allows multiple nodes to run multiple instances of Oracle while accessing a single physical database. On Linux, the maximum number of nodes supported in a certified configuration is eight.
  • Oracle has had clustering functionality in their product for a long time. Previously, the clustering technology was more dependent on the Operating System. Oracle chose to incorporate more of the the clustering functionality into the Oracle database rather than rely on how the OS does clustering. Oracle 9i and 10g RAC have more of the key clustering capabilities within Oracle itself. This means that the clustering is done differently than it was with OPS. From the Oracle 9i RAC whitepaper off of the Oracle website (see “A cluster database lays on top of a hardware cluster. The hardware cluster architecture and the database cluster architecture may be the same; or may differ.”
  • Improved cluster aware tools: Oracle Universal Installer (OUI) Enterprise Manager (EM) Database Configuration Assistant (DBCA) Net Assistant (NetCA) Recovery Manager (RMAN) Command line interface (SRVCTL) The database configuration assistant (DBCA) has been enhanced for clustered operation for the fundamental operations: Create cluster database Create the server initialization file (SPFILE) Centralized, persistent Real Applications Clusters configuration storage Eliminates consistency problems with per node text file-based configuration files Add and delete instances Oracle Enterprise Manager has been enhanced at both the database level and at the drill down level for individual instances. These are some of the enhancements for the database as a whole. Report Generation: Generate/View reports for targets of type cluster database and cluster database instance Redo log assignment: Assign redo log groups to specific threads Wizards/Tools: Full support cluster support SPFILE Handling: View and update server side initialization parameter file Details of in-doubt transactions At the drill down level for each instance, Oracle Enterprise Manger provides detail information. Session Handling: List status of connected users, view latest SQL for the session, kill a session Lock Details: SQL DML enqueues, transaction enqueues and row level locks Resource Monitoring: Performance statistics of active resource plans For the cluster database: create/modify resource consumer groups and define/modify/activate resource plans
  • Real Application Clusters are designed as a “Shared Everything” architecture. This means that both server resources and storage resources are shared, with a single database image. This is beneficial for scalability and flexibility. However, the shared nature of all of the resources (particularly storage) make it more important than ever to institute a High Availability architecture, to avoid single points of failure.
  • Oracle RAC is “Shared Everything” clustering. This allows all nodes in the cluster to have access to the data at the same time. There is only one set of data that all of the nodes can use at all times.
  • According to Oracle Corporation, the ultimate goal for Real Application Clusters is to provide manageability that is comparable to a single computer with a single instance of the Oracle database. In other words, for the common management tasks, the goal is to have the system look and behave like a single system.
  • Each node has it’s own dedicated system memory as well as its own operating system, database instance and application software
  • Because the number of nodes in the cluster can grow as needed, and because they all have access to all of the same data, RAC can be used for both load-balancing and for failover: Load-balancing If you have the same application loaded on all of the nodes in the cluster, users can be distributed across all of the nodes. (In either a round-robin fashion or through distribution.) In either case, any user connecting through any node with see the same data. Failover Oracle RAC can also be used for failover. Since any 2 nodes will be configured exactly the same and have access to the same set of data, if one serer in the cluster goes down, the users can be transferred to another node in the cluster and the replacement node(s) will take over the duties of the failed server.
  • Listener The listener is a process that resides on the cluster server nodes. This process listens for incoming client connection requests and manages the traffic to the server. The listener brokers the client request, handing off the request to the server. Every time a client (or server acting as a client) requests a network session with a server, a listener receives the actual request. If the client's information matches the listener's information, then the listener grants a connection to the server.
  • Databases register with the listeners when started. Nodes in the cluster report their CPU usage to the registered listeners (pmon).
  • Then when a request comes in from a client, the Listener can assign the client to the least busy server.
  • Each node in the cluster has a different physical internet protocol address. However, users (or clients) connect to the database via a virtual database service name. Oracle automatically balances the user load among the multiple nodes in the cluster. The RAC database instances on the different nodes subscribe to all or some subset of database services. This allows you to choose whether specific application clients that connect to a particular database service can connect to some or all of the database nodes. If more nodes are added to the cluster, the CPU and memory resources of the new node are immediately made available to the rest of the cluster. (Data does not have to be re-partitioned.) This allows you to add nodes as you need them.
  • RAC specific enhancements include improvements that dramatically reduce the time to recover. These improvements include increased parallelism and reduced work by smarter algorithms. The Global Cache Service now only does the minimal amount of work needed to recover from node exits and joins to the cluster. The Global Resource Directory due to tight integration with the server processes is maintained optimally.
  • If a node in the shared disk cluster fails, the system dynamically redistributes the workload among the surviving cluster nodes.
  • Transparent Application Failover Real Application Clusters provide near-continuous availability by hiding failures from end-user clients and application server clients. Transparent Application Failover in the database transparently re-routes application (query) clients to an available database node in the cluster when the connected node fails. Application clients do not see error messages describing loss of service. Failures are also hidden from update clients, in a similar fashion, by way of a simple application coding technique. The failover routine calls the appropriate client library function to re-route the connection. Furthermore, you can configure database clients to pre-connect, or to have redundant idle connections. These redundant connections with another database node avoid delays if thousands of users must migrate servers during a node failure.
  • Oracle 9i RAC brought several improvements in scalability over Oracle Parallel Server in the following areas: Full Cache Fusion Enhanced coordination of cache management and distributed lock manager (DLM) Lock simplification and automation Global Cache Service coordinates local buffer cache and remote block transfers Enhanced IPC Resource configuration simplification and automation
  • Oracle 10 g RAC features a number of new features and improvements to existing features. These new features for Oracle 10g RAC are additive to the improvements introduced in Oracle 9i
  • Normally, when a node (that does not already have the data in memory) requests a data block, the node that does have the data (and thus has a lock on the data block) must write that data to disk and then the other nodes can access the same data block. This uses disk I/O to keep the data synchronized across multiple nodes. That means that the data has to be physically written to a drive which involves mechanical moving components, and therefore, is inherently slower than passing data from memory. It also means that the various nodes must communicate regarding lock status.
  • Cache Fusion in Oracle RAC allows immediate transfer of information from one node’s cache to another node without having to write to disk first.
  • Cache Fusion uses the collective caches of all the nodes in the cluster to satisfy database requests. Requests for a data block can now be satisfied by the local cache or any of the other caches (instead of having to go to the disk drive). Expensive disk I/Os are only performed when none of the collective caches contain the necessary data and when an update transaction performs a COMMIT operation that requires disk write guarantees.
  • No init.ora In previous Oracle Parallel Server releases, there were a number of sometimes difficult parameters that needed to be set in the init.ora file. In particular the GC_FILES_TO_LOCKS parameter was difficult to understand and correctly set. This was carried forward from Oracle7 when the DLM was external to the database. In Oracle 9i and 10g the DLM no longer exits; it has been integrated with the buffer cache manager and is now the Global Cache Service. With this integration there is no longer a need for configuration parameters and the memory taken up by resources in the Global Resource Directory is greatly reduced as compared to earlier releases. Resource Affinity and Dynamic Resource remastering Resource affinity optimizes the system in situations where update transactions are being executed on one instance. When activity shifts to another instance the resource affinity will correspondingly move to the new instance. If activity is not localized, then the resource ownership is hashed to the instances. Oracle 10g offers performance improvements in dynamic file and cache affinity.
  • Oracle 10g rac_overview

    1. 1. Oracle RAC Overview of Real Application Clustering Features and Functionality
    2. 2. Overview <ul><li>What is RAC? </li></ul><ul><li>Cache Fusion </li></ul><ul><li>Failover and Load-balancing </li></ul><ul><li>Transparent Application Failover (TAF) </li></ul><ul><li>Other RAC Features </li></ul>
    3. 3. RAC – What is it? <ul><li>Multiple instances of Oracle running on up to 8 nodes </li></ul><ul><li>Multiple instances share a single physical database </li></ul><ul><li>All instances can simultaneously execute transactions against the single database </li></ul><ul><li>Caches are synchronized using Oracle’s Global Cache Management technology (Cache Fusion) </li></ul>
    4. 4. <ul><li>Previous Oracle Clustering Products </li></ul><ul><ul><li>Oracle FailSafe on Windows </li></ul></ul><ul><ul><li>OPS (Oracle Parallel Server) on multiple platforms </li></ul></ul><ul><ul><li>OPS to RAC: 7.3 OPS  8i OPS  9i RAC  10g RAC </li></ul></ul><ul><li>The clustering mechanism used to be more dependent on the Operating System. </li></ul><ul><li>With 10g RAC, clustered database is built into Oracle </li></ul>History of Oracle RAC
    5. 5. Oracle RAC Features <ul><li>Full Cache Fusion </li></ul><ul><li>Enhanced coordination of cache management and distributed lock manager (DLM) </li></ul><ul><li>Lock simplification and automation </li></ul><ul><li>Global Cache Service coordinates local buffer cache and remote block transfers </li></ul><ul><li>Enhanced IPC </li></ul><ul><li>Resource configuration simplification and automation </li></ul><ul><li>Improved cluster aware tools </li></ul><ul><li>Enhanced DBCA </li></ul><ul><li>Oracle Enterprise Manager and Grid Control Integration Enhancements </li></ul>
    6. 6. RAC uses “Shared Everything” Users Database Server Server Server Server
    7. 7. How RAC clustering is done <ul><li>One set of data </li></ul><ul><li>All nodes in the cluster see the same set of data </li></ul><ul><li>All nodes have access </li></ul><ul><li>Any node can update the data </li></ul>
    8. 8. Increased Manageability <ul><li>One virtual system to configure and manage </li></ul><ul><ul><li>Single Oracle Database </li></ul></ul><ul><ul><li>Single management console </li></ul></ul><ul><ul><li>Single system image for the database integrated with the cluster </li></ul></ul><ul><li>Cluster-wide monitoring and diagnostics </li></ul><ul><li>Oracle Enterprise Manager Integration (9i) </li></ul><ul><li>Oracle DBConsole and Grid Control Integration (10g) </li></ul>
    9. 9. What’s shared; What’s not <ul><li>Shared </li></ul><ul><ul><li>Disk access </li></ul></ul><ul><ul><li>Resources that manage data </li></ul></ul><ul><ul><li>All instances have common data & controls files </li></ul></ul><ul><li>Not Shared </li></ul><ul><ul><li>Each node has its own dedicated: </li></ul></ul><ul><ul><ul><li>System memory </li></ul></ul></ul><ul><ul><ul><li>Operating system </li></ul></ul></ul><ul><ul><ul><li>Database instance </li></ul></ul></ul><ul><ul><ul><li>Application software </li></ul></ul></ul><ul><ul><li>Each instance has individual </li></ul></ul><ul><ul><ul><li>Log files and </li></ul></ul></ul><ul><ul><ul><li>Rollback segments </li></ul></ul></ul>
    10. 10. RAC can perform <ul><li>Load-balancing </li></ul><ul><li>Failover </li></ul>
    11. 11. Load-Balancing through the Listener Database Listener Listener Listener Listener Node 4 Node 1 Node 2 Node 3 Client
    12. 12. How workload is balanced <ul><li>Nodes report CPU usage to listeners </li></ul>Node 1 Database Client Node 2
    13. 13. How workload is balanced <ul><li>Listeners choose least busy node when request comes in from client </li></ul>Node 1 Database Client Node 2
    14. 14. Load-Balancing Users Database Node 4 Node 1 Node 2 Node 3
    15. 15. Failover <ul><li>If a node in the shared disk cluster fails, the system dynamically redistributes the workload among the surviving cluster nodes. </li></ul><ul><li>RAC checks to detect node and network failures. A disk-based heartbeat mechanism uses the control file to monitor node membership and the cluster interconnect is regularly checked to determine correct operation. </li></ul><ul><li>Reduced time to recovery with concurrent resource configuration and instance (cache) recovery </li></ul><ul><li>Enhanced failover reliability in 10g with the use of Virtual IP addresses (VIPs) </li></ul>
    16. 16. Failover Users Database X Server Server Server Server
    17. 17. Transparent Application Failover <ul><li>Masks failures to end users; they don’t need to log back into the system </li></ul><ul><li>Applications and users are transparently reconnected to another node </li></ul><ul><li>Applications and queries continue uninterrupted </li></ul><ul><ul><li>Transactions can failover and replay </li></ul></ul><ul><li>Login context maintained </li></ul><ul><li>DML transactions are rolled back </li></ul>
    18. 18. RAC Improvements for Oracle 9i <ul><li>Full Cache Fusion </li></ul><ul><li>Enhanced coordination of cache management and distributed lock manager (DLM) </li></ul><ul><li>Lock simplification and automation </li></ul><ul><li>Global Cache Service coordinates local buffer cache and remote block transfers </li></ul><ul><li>Enhanced IPC (InterProcess Communication) </li></ul><ul><li>Resource configuration simplification and automation </li></ul>
    19. 19. Oracle 10g RAC New Features <ul><li>Integrated Clusterware Management </li></ul><ul><ul><li>No third-party clusterware software required </li></ul></ul><ul><li>Automatic Workload Management </li></ul><ul><ul><li>Application workloads can be managed through named services </li></ul></ul><ul><li>Single System Image Management </li></ul><ul><ul><li>Enterprise Manager manages RAC instances as a single image </li></ul></ul><ul><li>Fast Connection Failover </li></ul><ul><ul><li>Fast recovery between the database and mid-tier applications </li></ul></ul><ul><li>Performance Improvements </li></ul><ul><ul><li>Reduced message traffic, memory usage, and other resources </li></ul></ul><ul><li>Zero Downtime Patching </li></ul><ul><ul><li>Patches may be applied one node at a time without downtime </li></ul></ul><ul><li>Cluster Verification and Improved Diagnostic Tools </li></ul><ul><ul><li>New cluster diagnostic tool and improved diagnostic tools </li></ul></ul>
    20. 20. Full Cache Fusion <ul><li>Is a major feature of RAC starting with 9i </li></ul><ul><li>The underlying technology that enables RAC </li></ul><ul><li>Protocol that allows instances to combine their data caches into a shared global cache </li></ul><ul><li>Allows any node to get the most up-to-date data information from the cache of any other node in the cluster without having to access the disk drives again. </li></ul><ul><li>Improved performance with 10g </li></ul>
    21. 21. What is Cache Fusion? When do I care about it? <ul><li>“Dirty” block of data is created </li></ul><ul><ul><li>Data from disk is read into memory on a node </li></ul></ul><ul><ul><li>Data is updated on that node </li></ul></ul><ul><ul><li>Data hasn’t been written to disk yet. </li></ul></ul><ul><li>Another node requests the data </li></ul>
    22. 22. “ ABC” block of data written to the disk drives in the database Node A Node B ABC Data
    23. 23. “ ABC” block of data read into memory on Node A Node A Node B ABC Data ABC Data
    24. 24. “ ABC” updated to “XYZ” in cache Node A Node B ABC Data ABC Data XYZ Data
    25. 25. Node B requests data block Node A Node B ABC Data ABC Data XYZ Data I want data! Gimme! Gimme!
    26. 26. Node A must write data block to disk drive Node A Node B ABC Data XYZ Data I want data! Gimme! Gimme! ABC Data XYZ Data write Previous to 9i RAC
    27. 27. Node B must read data block from disk drive Node A Node B ABC Data XYZ Data XYZ Data ABC Data XYZ Data read Previous to 9i RAC
    28. 28. Now with RAC Cache Fusion Node A Node B ABC Data ABC Data XYZ Data I want data! Gimme! Gimme! XYZ Data <ul><li>Data is transferred immediately via the interconnect </li></ul><ul><li>Shared cache minimizes slow I/O </li></ul>
    29. 29. Shared Cache Across Nodes Users Database Server Server Server Server Cache Cache Cache Cache
    30. 30. Resource Simplification and Automation <ul><li>No init.ora parameters required </li></ul><ul><li>Resource affinity </li></ul><ul><ul><li>to move the location of the resource masters for a database file to the instance where block operations are most frequently occurring. This optimizes </li></ul></ul><ul><li>Dynamic resource remastering </li></ul><ul><ul><li>Ability to move the ownership of a resource between instances of Real Application Clusters. </li></ul></ul><ul><ul><li>Dynamic resource remastering is used to implement resource affinity for increased performance. </li></ul></ul>
    31. 31. Review <ul><li>What does cache fusion avoid that was mandatory in previous versions of Oracle Parallel Server? </li></ul><ul><li>Which Oracle process is most important in managing user session failover? </li></ul><ul><li>If the purpose of the interconnect is NOT to serve as a “heartbeat”, where is the heartbeat? </li></ul>
    32. 32. Summary <ul><li>New Features </li></ul><ul><li>Shared Everything Clustering </li></ul><ul><li>Cache Fusion </li></ul><ul><li>RAC Clustering failover & load-balancing </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.