37.Oracle深度学习笔记——RAC的相关等待事件
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50891037
在性能BENCHMARK中碰到的几个等待事件:
gc cr multi block request
multi block一般情况下都是全表扫描或全索引扫描导致, gc cr multiblock request 会造成CPU 对内存的调度和管理,会消耗CPU时间。
当进程请求数据库块时,首先会在本地的CACHE里面查看是否存在,这种查看是根据DBA (Data Block Address) 转化为cache bufferschains,然后再从hash bucket确认是否存在。
如果在本地没发现有块的CACHE,进程就会请求resourcemaster授予共享访问给数据块,然后再去获取数据块的CACHE。
如果请求的BLOCK CACHE在远程的节点,resourcemaster就会使用内部通讯把远程的CACHE传输到本地。当请求的CACHE BUFFER是共享模式的,远程节点就会克隆一个然后传输到本地。非则,就建立PI映像,然后传输到本地。
这种等待产生的主要原因:
1. 数据库参数db_file_multiblock_read或者db_block_size设置太大,导致多