Author Archive
Reverse Path Filtering and RAC
This is a quick note about reverse path filtering and impact of that feature to RAC. I encountered an interesting problem recently with a client and it is worth blogging about it, with a strong hope that it might help one of you in the future. Problem Environment is 11.2.0.2 GI, Linux 5.6. In a 3 node cluster, Grid Infrastructure (GI) comes up cleanly in just one node, but never comes ...
All about RAC and MTU
Let's first discuss how RAC traffic works before continuing. Environment for the discussion is: 2 node cluster with 8K database block size, UDP protocol is used for cache fusion. (BTW, UDP and RDS protocols are supported in UNIX platform; whereas Windows uses TCP protocol). UDP protocol, fragmentation, and assembly UDP Protocol is an higher level protocol stack, and it is implemented over IP Protocol ( UDP/IP). Cache Fusion uses UDP protocol to send packets over ...
_gc_fusion_compression
We know that database blocks are transferred between the nodes through the interconnect, aka cache fusion traffic. Common misconception is that packet transfer size is always database block size for block transfer (Of course, messages are smaller in size). That's not entirely true. There is an optimization in the cache fusion code to reduce the packet size (and so reduces the bits transferred over the private network). Don't confuse this note with Jumbo ...
Collaborate 2012 presentations
2012_326_Riyaj_scan_vip_haip_doc 2012_326_Riyaj_SCAN_VIP_HAIP_ppt 2012_327_Riyaj_pstack_truss_doc 2012_327_Riyaj_pstack_truss_etc
Temporary tablespace in RAC
Temporary tablespaces are shared objects and they are associated to an user or whole database (using default temporary tablespace). So, in RAC, temporary tablespaces are shared between the instances. Many temporary tablespaces can be created in a database, but all of those temporary tablespaces are shared between the instances. Hence, temporary tablespaces must be allocated in shared storage or ASM. We will explore the space allocation in temporary tablespace in RAC, in this blog entry. In ...
gc buffer busy acquire vs release
Last week (March 2012), I was conducting Advanced RAC Training online. During the class, I was recreating a 'gc buffer busy' waits to explain the concepts and methods to troubleshoot the issue. Definitions Let's define these events first. Event 'gc buffer busy' event means that a session is trying to access a buffer,but there is an open request for Global cache lock for that block already, and so, the session must wait for the ...
What is ‘rdbms ipc message’ wait event?
Introduction There was a question about the wait event 'rdbms ipc message' in Oracle-l list. Short answer is that 'rdbms ipc message' event means that a process is waiting for an IPC message to arrive. Usually, this wait event can be ignored, but there are few rare scenarios this wait event can't be completely ignored. What is 'rdbms ipc message' wait means? It is typical of Oracle Database background processes to wait for more ...
Nologging redo size
It is probably easy to calculate hourly redo rate or daily redo rate using AWR data. For example, my script awr_redo_size.sql can be used to calculate daily redo rate, and awr_redo_size_history.sql can be used to calculate hourly redo rate. Hourly redo rate is especially useful since you can export to an excel spreadsheet, graph it to see redo rate trend. Introduction to Direct Mode Writes Direct mode operations write directly in to the database file ...
Troubleshooting LMS processes
This was created circa July 2011. Enjoy. [wpvideo mabMGh2o]
SCN – What, why, and how?
In this blog entry, we will explore the wonderful world of SCNs and how Oracle database uses SCN internally. We will also explore few new bugs and clarify few misconceptions about SCN itself. What is SCN? SCN (System Change Number) is a primary mechanism to maintain data consistency in Oracle database. SCN is used primarily in the following areas, of course, this is not a complete list: Every redo record has an SCN version of the redo record ...
