Tuesday, October 11, 2011

How to Turn off / Disable User Account Expiration

Oracle User Account Expired. How to disable or turn off EXPIRE
===========================================


Issue:

One of the critical User account got expired, expire to be turned off to avoid connection issue on application connectivity

Issue Details:


1. Found User account is about to expire and it is on GRACE Period

SQL> select username,account_status,LOCK_DATE,EXPIRY_DATE,CREATED,PROFILE from dba_users where username='TEST';

USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE CREATED PROFILE
------------------------------ -------------------------------- --------------- --------------- --------------- ------------------------------
TEST EXPIRED(GRACE) 18-OCT-11 09-APR-11 DEFAULT


2. Confirmed with profile settings that 180 expiration


SQL> select * from dba_profiles where profile='DEFAULT';

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
DEFAULT CPU_PER_CALL KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
DEFAULT IDLE_TIME KERNEL UNLIMITED
DEFAULT CONNECT_TIME KERNEL UNLIMITED
DEFAULT PRIVATE_SGA KERNEL UNLIMITED
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
DEFAULT PASSWORD_LOCK_TIME PASSWORD 1
DEFAULT PASSWORD_GRACE_TIME PASSWORD 7



3. To disable/Turn off the expiration, we need to set profile to UNLIMITED:


SQL> alter profile default limit PASSWORD_LIFE_TIME unlimited;

Profile altered.

4. While Checking the status, it still shows Expiry date as shown earlier, so, what could be cause or reason???


SQL> select username,account_status,CREATED,LOCK_DATE,EXPIRY_DATE,PROFILE from dba_users where username='TEST';

USERNAME ACCOUNT_STATUS CREATED LOCK_DATE EXPIRY_DATE PROFILE
------------------------------ -------------------------------- --------------- --------------- --------------- ------------------------------
TEST EXPIRED(GRACE) 09-APR-11 18-OCT-11 DEFAULT


5. Profile shows UNLIMITED, but why user account did not get effect???


SQL> select resource_name,limit from dba_profiles where profile='DEFAULT';

RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
COMPOSITE_LIMIT UNLIMITED
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME UNLIMITED

RESOURCE_NAME LIMIT
-------------------------------- ----------------------------------------
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7

16 rows selected.


6. Tried resetting the profile again to user, but no luck... :-(


SQL> alter user TEST profile default;

User altered.

SQL> select username,account_status,CREATED,LOCK_DATE,EXPIRY_DATE,PROFILE from dba_users where username='TEST';

USERNAME ACCOUNT_STATUS CREATED LOCK_DATE EXPIRY_DATE PROFILE
------------------------------ -------------------------------- --------------- --------------- --------------- ------------------------------
TEST EXPIRED(GRACE) 09-APR-11 18-OCT-11 DEFAULT


7. Tried setting account unlock...but still no luck....

SQL> alter user TEST account unlock;

User altered.

SQL> select username,account_status,CREATED,LOCK_DATE,EXPIRY_DATE,PROFILE from dba_users where username='TEST';

USERNAME ACCOUNT_STATUS CREATED LOCK_DATE EXPIRY_DATE PROFILE
------------------------------ -------------------------------- --------------- --------------- --------------- ------------------------------
TEST EXPIRED(GRACE) 09-APR-11 18-OCT-11 DEFAULT


SOLUTION:


8. Then found that, when user is already in GRACE Period, even altering profile, will NOT take effect until the password is changed

Setting the PASSWORD_LIFE_TIME Profile Parameter to a Low Value

Be careful if you plan to set the PASSWORD_LIFE_TIME parameter of CREATE PROFILE or ALTER PROFILE to a low value (for example, 1 day). If the user who is assigned this profile is concurrently logged in when you make this modification, then Oracle Database sets the user's account status from OPEN to EXPIRED(GRACE)with the warning error ORA-28002: the password will expire within n days. You may not be notified of this change because the user can still connect to the Oracle database. You can find the concurrently logged in users by querying the USERNAME column of the V$SESSION dynamic performance view.

Note the following:

If the user is not logged in when you set PASSWORD_LIFE_TIME to a low value, then the user's account status does not change when the user does log in.

You can set the PASSWORD_LIFE_TIME parameter to UNLIMITED, but this only affects accounts that have not entered their grace period. If the user has already entered the grace period, then he or she must change the password.


Ref: http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authentication.htm#i1007339



SQL> alter user TEST identified by test;

User altered.


SQL> select username,account_status,CREATED,LOCK_DATE,EXPIRY_DATE,PROFILE from dba_users where username='TEST'

USERNAME ACCOUNT_STATUS CREATED LOCK_DATE EXPIRY_DATE PROFILE
------------------------------ -------------------------------- --------------- --------------- --------------- ------------------------------
TEST OPEN 09-APR-11 DEFAULT

Monday, October 10, 2011

Alert Log : Diskgroup Mounted & Dismounted

I could see the following messages in Alertlog , was curious to know the reason behind it…

Mon Oct 10 11:49:00 2011

SUCCESS: diskgroup ARCH_QA was mounted

SUCCESS: diskgroup ARCH_QA was dismounted

SUCCESS: diskgroup ARCH_QA was mounted

SUCCESS: diskgroup ARCH_QA was dismounted

Mon Oct 10 11:50:00 2011

SUCCESS: diskgroup ARCH_QA was mounted

SUCCESS: diskgroup ARCH_QA was dismounted

SUCCESS: diskgroup ARCH_QA was mounted

SUCCESS: diskgroup ARCH_QA was dismounted

Mon Oct 10 11:51:00 2011

SUCCESS: diskgroup ARCH_QA was mounted

SUCCESS: diskgroup ARCH_QA was dismounted

SUCCESS: diskgroup ARCH_QA was mounted

SUCCESS: diskgroup ARCH_QA was dismounted

This is expected behavior. The messages you see are not errors (that is why they are prefixed with "SUCCESS"). The database instance is creating and then closing archive logs one at a time in the ARCH_QA disk group. Whenever a database closes its last file in a disk group, it dismounts the disk group. Whenever a database accesses a disk group when it does not have any other files open in the disk group, it mounts the disk group.

If you do not want to see the log messages frequently, you can put a mirrored control-file, or mirrored online redo, or dummy online tablespace data file on the diskgroup. This message will not be output frequently in this case. Because CKPT keeps opening a control-file, LGWR keeps opening an online redo, DBW keeps opening an online tablespace data file. So, the diskgroup is not dismounted until the database shutdown.

TailPiece: we get this messages only for respective ASM disk groups for archive logs are written and in a high number

Ref: Why FRA Diskgroup Gets Mounted/Dismounted ? [ID 603204.1]

Friday, October 7, 2011

Cross Platform Database : Best Approach

How to Move Huge Database from Sun to Linux : Best Approach

You wanna transfer your huge database cross platform sun to linux ??

Lets Look at the options:

1. Best Option : RMAN

RMAN Cross-Platform Transportable Databases and Tablespaces


2. Other Options:

Export/Import
Datapump : Expdp/Impdp
Transport tablespace


Please share your ideas,best methods/practice ....

Thursday, October 6, 2011

All About ADI in Oracle Applications

What is ADI? How this is used? Let's see the complete details about it...

Oracle ADI is a spreadsheet-based extension to Oracle Applications that offers full cycle accounting and asset management within the comfort and familiarity of a spreadsheet. Oracle ADI combines a spreadsheet’s ease of use with the power of Oracle Applications, to provide true desktop integration during every phase of your accounting cycle. You can create budgets, record transactions, add assets, reconcile inventory, and run financial statements and inventory reports all without leaving your spreadsheet.

You can run Oracle ADI as a stand-alone application, without installing the full client version of Oracle General Ledger (GL) or Oracle Assets on your PC. This gives you the ability to confirm and reconcile inventory, revise budgets, create journal entries, and define financial and asset reports from any location, without being connected to your server. You only need to connect when you want to transfer data to or from Oracle Applications.

Figure describes how ADI integrates with other applications.

ADI


Oracle ADI Key Features
Oracle ADI key features are as follows:
■ Budget Wizard, Journal Wizard, Report Wizard, and Analysis Wizard to
simplify your work with GL.
■ Account Hierarchy Editor to graphically create, maintain, and review account
structure hierarchies.
■ Spreadsheet-based interface to simplify asset creation and physical inventory
process.
■ Request Center for submitting, monitoring, and publishing your reports.


Oracle ADI Integrations
Oracle ADI integrates with the following modules:
Oracle General Ledger
GL is a comprehensive financial management solution that enhances financial
controls, data collection, information access, and financial reporting throughout the
enterprise. It is part of the Oracle E-Business Suite, an integrated set of applications
that are engineered to work together.
Oracle Assets
Oracle Assets is a comprehensive asset management solution that ensures
maintenance of accurate property and equipment inventory as well as optimal
accounting and tax strategies. It is part of the Oracle E-Business Suite, an integrated
set of applications that are engineered to work together.

Ref: http://download.oracle.com/docs/cd/B15436_01/current/acrobat/115csadiug.pdf

EBS 11i Application Desktop Integrator (ADI) Certified on 10gR2 Database

Client Applications Desktop Integrator (ADI) is now certified with Oracle E-Business Suite Release 11i running on the 10gR2 Database. Customers may continue using the client-installed ADI even after upgrading their E-Business Suite Release 11i environment to the 10gR2 Database.

This certification applies to all ADI functionality, including:

  • General Ledger Journal Wizard
  • Budget Wizard
  • Report Wizard
  • Analysis Wizard
  • Account Hierarchy Editor
  • Request Center
  • Assets Integrators

Note that this certification applies only to Client ADI with Applications 11i. Client ADI cannot be used with Oracle E-Business Suite Release 12; webADI is available for Release 12 users.

For more details (and a useful Frequently Asked Questions summary for ADI), see:

Ref: http://blogs.oracle.com/stevenChan/entry/ebs_11i_application_desktop_integrator_10gr2_certification


Wednesday, October 5, 2011

Unable to View Concurrent Requests Ouput Files

ISSUE:

"Unable to view Concurrent Requests log/output files"..

We are running 11.5.10.2 and recently did a clone of production to test. However, in the test environment when I run a concurrent request I am no longer able to view the logs or outputs through Oracle.

ERROR

An error occurred while attempting to establish an Applications File Server connection with the node FNDFS_TESTDB There may be a network configuration problem, or the TNS listener on node FNDFS_TESTDB may not be running. Please contact your system administrator.


CHECKING:

a) Check whether Concurrent Request log & Output files generated in $APPLCSF/log & $APPLCSF/out to confirm this is NOT Concurrent issue

RESEARCH:

• ADI: Unable To View Reports In ADI [ID 1018797.102]
• How To Set RRA:Service Prefix for Multiple Instances on One Server [ID 235785.1]
• Tracing the sqlnet connection in ADI [ID 223136.1]
• Troubleshooting the "Error Occurred While Attempting to Establish an Applications
File Server Connection" [ID 117012.1]

SOLUITION Path:

1. Perform the RRA Setup Diagnostic Test

This Step will identify all Profile Settings & TNSNames.ora,Hostname in
FND_CONCURRENT_QUEUES table in one go.

Ref: 11i : Oracle Application Object Library Report Review Agent Setup Test
[ID 200358.1]


Command-Line Usage Instructions

• If the latest Oracle Diagnostics patch has been installed, this diagnostic script
is already available on your system. Change directory to $IZU_TOP/bin and execute
the test from there.

• If the latest Oracle Diagnostics patch has not been installed, download and unzip
the latest Oracle Diagnostics patch (see Note 167000.1)
Once unzipped, the Oracle Diagnostics patch can be installed in the normal way
using adpatch (see Note 167000.1) or the test can be executed directly from the
patch directory. Change directory to /izu/bin and execute the test
from there.

• Run the test as follows:

UNIX
$ ./FNDValidateFNDFS115.sh

Windows NT/2000
> sh FNDValidateFNDFS115.sh

2. CrossCheck for multiple Node Name

Verify that the nodename specified in the FNDFS_ entry is the
same as the nodename in the above error message. This should also match the
node name returned from the following select statement:

SQL> select distinct LOGFILE_NODE_NAME
from FND_CONCURRENT_REQUESTS;

3. If this is Cloned Instance from PROD, then check whether any profile values still
pointing to PROD

SQL> select a.profile_option_value,b.profile_option_name from
fnd_profile_option_values a , fnd_profile_options b
where a.profile_option_id=b.profile_option_id
and upper(profile_option_value) like '%PROD%' ;

SQL> select * from fnd_profile_options where profile_option_id=&ID;
SQL> select * from fnd_profile_option_values where profile_option_id=&ID;

4. Mostly issue could be either RRA Profile setting issue or any other profile
setting pointing to PROD

Thursday, September 29, 2011

Oracle APPS : Workflow Tables

Oracle Applications - Workflow Tables (Quick Review)

Important WF Tables:

wf_user_role_assignments
wf_user_roles
wf_roles
wf_items
wf_item_attributes
wf_item_attribute_values
wf_item_attributes_tl
wf_activities
wf_activities_tl
wf_activity_attributes
wf_activity_attributes_tl
wf_activity_transitions
wf_deferred--wf_control

WF_NOTIFICATION_ATTRIBUTES
WF_MESSAGES
WF_MESSAGES_TL
WF_MESSAGE_ATTRIBUTES
WF_MESSAGE_ATTRIBUTES_TL
WF_ETS
WF_PROCESS_ACTIVITIES


WF_ACTIVITIES table stores the definition of an activity. Activities can be Processes, notifications, functions or folders. A process activity is a modelled workflow process, which can be included as an activity in other processes to represent a subprocess. A notification activity sends a message to a performer. A functions activity performs an automated function that is written as a PL/SQL stored procedure. A folder activity is not part of a process, it provides a means of grouping activities.

WF_ITEMS is the runtime table for workflow processes. Each row defines one work item within the system.

WF_ITEM_ATTRIBUTES table stores definitions of attributes associated with a process. Each row includes the sequence in which the attribute is used as well as the format of the attribute data.

WF_NOTIFICATIONS holds the runtime information about a specific
instance of a sent message. A new row is created in the table each time a message is sent.

Thursday, September 15, 2011

DBA_Objects shows identical object on same schema?

MATERIALIZED VIEW
=================

Whenever a Materialized view created, you should see 2 entries in dba_objects with same name. Because, it creates a table(segment) and a materialized view.
So, We should NOT get confused that why 2 objects has same name on same schema.

SQL> create materialized view mv1 as select * from i;
Materialized view created.

SQL>select object_name,object_id,data_object_id,object_type,status from dba_objects where object_name='MV1'

OBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE STATUS
------------------------------ ---------- -------------- ------------------- -------
MV1 4838577 4838577 TABLE VALID
MV1 4838579 MATERIALIZED VIEW VALID


SQL> alter MATERIALIZED VIEW MV_MOVEMENT_PROCESSES compile;

SQL> execute dbms_mview.refresh('MINE1.MV_MOVEMENT_PROCESSES');
PL/SQL procedure successfully completed.

Sunday, August 21, 2011

Im Back!!

Hi All,

I m back to my Blog after a long gap.
You will see my intensive knowledge sharing all my experience in the recent past.

Your Suggestions & Contributions are most welcome!!!


Happy Knowledge Sharing.....

Thursday, January 8, 2009

Why there is a diff btwen DBA_SEGMENTS & DATAPUMP of particular schema size

Why there is a difference between DBA_SEGMENTS & DataPUMP of size of particular schema
======================================================================================

1. SELECT SUM(bytes)/1024/1024/1024 AS size_gig FROM DBA_SEGMENTS WHERE OWNER= 'XXX';

2. $ expdp estimate_only=y schemas=xxx

In Common, data pump export would show less value than the size computed from dba_segments/extents


ESTIMATE_ONLY - Use this parameter to estimate the required export file size without starting an actual export job.
ESTIMATE - The ESTIMATE parameter will tell you how much space your new export job is going to consume.
Estimate_only shows the export dump file size not a schema size.

Also, DBA_SEGMENTS contains INDEX segments too,

So, The following query may give you close result

select sum(bytes)/1024/1024/1024 as size_gig, segment_type
from dba_segments
where owner='ENDUR01'
group by segment_type;

Wednesday, January 7, 2009

How to get the Schema/User size

In SQLPLUS run any of the following scripts to find the total size occupied by a particular schema.


1.

SQL> SELECT sum(bytes)/1024/1024 FROM user_segments;


The output above query would be similar as follows:


SUM(BYTES)/1024/1024
——————–
2552.75


-- OR --

2.

SQL> SELECT tablespace_name, Sum(bytes)/1024/1024 AS total_size_mb
FROM dba_segments
WHERE owner = Upper(&User_Name)
GROUP BY owner, rollup(tablespace_name)


-- OR --

3. To be more precise on particular table which excluding index,lob segments etc

SQL> SELECT sum(bytes)/1024/1024/1024 as size_gig, segment_type
FROM dba_segments
WHERE owner='XXX'
GROUP BY segment_type;

Wednesday, December 31, 2008

RAC for Beginners

Real Application Clusters (RAC)


Oracle RAC, introduced with Oracle9i, is the successor to Oracle Parallel Server (OPS). Oracle RAC allows multiple instances to access the same database (storage) simultaneously. RAC provides fault tolerance, load balancing, and performance benefits by allowing the system to scale out, and at the same time since all nodes access the same database, the failure of one instance will not cause the loss of access to the database.

Oracle RAC 10g is a shared disk subsystem. All nodes in the cluster must be able to access all of the data, redo log files, control files and parameter files for all nodes in the cluster. The data disks must be globally available in order to allow all nodes to access the database. Each node has its own redo log file(s) and UNDO tablespace, but the other nodes must be able to access them (and the shared control file) in order to recover that node in the event of a system failure.

The difference between Oracle RAC and OPS is the addition of Cache Fusion. With OPS a request for data from one node to another required the data to be written to disk first, then the requesting node can read that data. With cache fusion, data is passed along a high-speed interconnect using a sophisticated locking algorithm.

With Oracle RAC 10g, the data files, redo log files, control files, and archived log files reside on shared storage on raw-disk devices, a NAS, ASM, or on a clustered file system

Oracle RAC is composed of two or more database instances.
They are composed of Memory structures and background processes same as the single instance database.

Oracle RAC instances use two processes

==> GES(Global Enqueue Service)
==> GCS(Global Cache Service) this enable cache fusion.

Oracle RAC instances are composed of following background processes:

ACMS—Atomic Controlfile to Memory Service (ACMS)
GTX0-j—Global Transaction Process
LMON—Global Enqueue Service Monitor
LMD—Global Enqueue Service Daemon
LMS—Global Cache Service Process
LCK0—Instance Enqueue Process
RMSn—Oracle RAC Management Processes (RMSn)
RSMN—Remote Slave Monitor


LMON

The background Global Enqueue Service Monitor (LMON) monitors the entire cluster to manage global resources. LMON manages instance and process failures and the associated recovery for the Global Cache Service (GCS) and Global Enqueue Service (GES). In particular, LMON handles the part of recovery associated with global resources. LMON-provided services are also known as cluster group services (CGS)

This process monitors global enques and resources across the cluster and performs global enqueue recovery operations.This is called as Global Enqueue Service Monitor.


LCKx

The LCK process manages instance global enqueue requests and cross-instance call operations. Workload is automatically shared and balanced when there are multiple Global Cache Service Processes (LMSx).

This process is called as Instance enqueue process.This process manages non-cache fusion resource requests such as libry and row cache requests.

LMSx

The Global Cache Service Processes (LMSx) are the processes that handle remote Global Cache Service (GCS) messages. Current Real Application Clusters software provides for up to 10 Global Cache Service Processes. The number of LMSx varies depending on the amount of messaging traffic among nodes in the cluster. The LMSx handles the acquisition interrupt and blocking interrupt requests from the remote instances for Global Cache Service resources. For cross-instance consistent read requests, the LMSx will create a consistent read version of the block and send it to the requesting instance. The LMSx also controls the flow of messages to remote instances.

This process is called as Global Cache service process.This process maintains statuses of datafiles and each cahed block by recording information in a Global Resource Dectory(GRD).This process also controls the flow of messages to remote instances and manages global data block access and transmits block images between the buffer caches of different instances.This processing is a part of cache fusion feature.


LMDx

The Global Enqueue Service Daemon (LMD) is the resource agent process that manages Global Enqueue Service (GES) resource requests. The LMD process also handles deadlock detection Global Enqueue Service (GES) requests. Remote resource requests are requests originating from another instance.

This process is called as global enqueue service daemon. This process manages incoming remote resource requests within each instance.

DIAG

The diagnose daemon is a Real Application Clusters background process that captures diagnostic data on instance process failures. No user control is required for this demo.

ACMS

ACMS stands for Atomic Controlfile Memory Service.In an Oracle RAC environment ACMS is an agent that ensures a distributed SGA memory update(ie)SGA updates are globally committed on success or globally aborted in event of a failure.

GTX0-j

The process provides transparent support for XA global transactions in a RAC environment.The database autotunes the number of these processes based on the workload of XA global transactions.

RMSn

This process is called as Oracle RAC management process.These pocesses perform managability tasks for Oracle RAC.Tasks include creation of resources related Oracle RAC when new instances are added to the cluster.

RSMN

This process is called as Remote Slave Monitor.This process manages background slave process creation andd communication on remote instances. This is a background slave process.This process performs tasks on behalf of a co-ordinating process running in another instance.

CRS

CRS (Cluster Ready Services) is a new feature for 10g Real Application Clusters that provides a standard cluster interface on all platforms and performs new high availability operations not available in previous versions. CRS manages cluster database functions including node membership, group services, global resource management, and high availability. CRS serves as the clusterware software for all platforms. It can be the only clusterware or run on top of vendor clusterware such as Sun Cluster, HP Serviceguard, etc.


CRS automatically starts the following resources:
· Nodeapps
o Virtual Internet Protocol(VIP) address for each node
o Global Services Daemon
o Oracle Net Listeners
o Oracle Network Services (ONS)
· Database Instance
· Services


Oracle Clusterware (Cluster Ready Services in 10g/ Cluster Manager in 9i) - provides infrastructure that binds multiple nodes that then operate as single server. Clusterware monitors all components like instances and listeners. There are two important components in Oracle clusterware, Voting Disk and OCR (Oracle Cluster Registry)

OCR & Voting Disk

Oracle, 10g RAC, provided its own cluster-ware stack called CRS. The main file components of CRS are the Oracle Cluster Repository (OCR) and the Voting Disk.
The OCR contains cluster and database configuration information for RAC and Cluster Ready Services (CRS). Some of this information includes the cluster node list, cluster database instance-to-node mapping information, and the CRS application resource profiles. The OCR contains configuration details for the cluster database and for high availability resources such as services, Virtual Inerconnect Protocoal (VIP) addresses.

The Voting Disk is used by the Oracle cluster manager in various layers. The Node Monitor (NM) uses the Voting Disk for the Disk Hearbeat, which is essential in the detection and resolution of cluster "split brain".


Cache Fusion:-

Oracle RAC is composed of two or more instances. When a block of data is read from datafile by an instance within the cluster and another instance is in need of the same block,it is easy to get the block image from the insatnce which has the block in its SGA rather than reading from the disk. To enable inter instance communication Oracle RAC makes use of interconnects. The Global Enqueue Service(GES) monitors and Instance enqueue process manages the cahce fusion

Cache Fusion and Global Cache Service (GCS)
Memory-to-memory copies between buffer caches over high-speed interconnects

· fast remote access times
· memory transfers for write or read access
· transfers for all types (e.g data, index, undo, headers )
· Cache coherency across the cluster
· globally managed access permissions to cached data
· GCS always knows whether and where a data block is cached
· a local cache miss may result in remote cache hit or disk read

@@@ Article is still under edit... will be adding more info @@@@