Posts

Showing posts from July, 2019

Oracle Cache Fusion ,GCS abd

Image
Introduction    Some logical questions in case of a RAC database would be around the shared and common components. For example, do the nodes share storage? Do the nodes share memory? How do the nodes communicate? Since this is not a RAC study guide, answering all such questions is out of scope for this article. But one question we are definitely trying to address here is the shared memory part. Though each instance has a local buffer cache, CACHE FUSION causes sharing of cache and hence resolves the problems like concurrency etc. Needless to say, the sharing is completely transparent to the end users.   First things first - What is Cache Fusion?   Whoever knows the basics of RAC should very well be aware of the fact that CACHE FUSION is one of the most important and interesting concepts in a RAC setup. As the name suggests, CACHE FUSION is the amalgamation of cache from each node/instance participating in the RAC, but it is not any physically secured memory component which can b

Oracle Lock issue

Image
Locking is a mechanism to ensure data integrity while allowing maximum concurrent access to data. It is used to implement concurrency control when multiple users access table to manipulate its data at the same time. Advantage of locking: a. Avoids deadlock conditions b. Avoids clashes in capturing the resources Types of Locks Within Oracle Oracle provides the following three main kinds of locks: DML locks DDL locks Internal locks and latches DML Locks DML locks or data locks guarantee the integrity of data being accessed concurrently by multiple users. DML locks help to prevent damage caused by interference from simultaneous conflicting DML or DDL operations. By default, DML statements acquire both table-level locks and row-level locks. The reference for each type of lock or lock mode is the abbreviation used in the Locks Monitor from Oracle Enterprise Manager (OEM). For example, OEM might display TM for any table lock within Oracle rather than show an indicator for the mode of

Data Dictionary

When you use the Database Configuration Assistant to create a database, Oracle automatically creates the data dictionary.  Thereafter, whenever the database is in operation, Oracle updates the data dictionary in response to every DDL statement. The data dictionary base tables are the first objects created in any Oracle database. They are created in the  SYSTEM  tablespace and must remain there. The data dictionary base tables store information about all user-defined objects in the database. catalog.sql ---> Creates the data dictionary and public synonyms for many of its views. Grants   PUBLIC   access to the synonyms catproc.sql --> Runs all scripts required for, or used with, PL/SQL catclust.sql--> Creates Oracle Real Application Clusters data dictionary views Script Name Needed For Run By Description catblock.sql Performance management SYS Creates views that can dynamically display lock dependency graphs caths.sql Heterogeneous Services
Classes of Wait Events Administrative Waits resulting from DBA commands that cause users to wait (for example, an index rebuild) Application Waits resulting from user application code (for example, lock waits caused by row level locking or explicit lock commands) Cluster Waits related to Oracle Real Application Clusters resources (for example, global cache resources such as 'gc cr block busy') Commit This wait class only comprises one wait event - wait for redo log write confirmation after a commit (that is, 'log file sync') Concurrency Waits for internal database resources (for example, latches) Configuration Waits caused by inadequate configuration of database or instance resources (for example, undersized log file sizes, shared pool size) Idle Waits that signify the session is inactive, waiting for work (for example, 'SQL*Net message from client') Network Waits related to network messaging (f