1,mutex是操作系统的一种对象;
2,mutex保护对于oracle共享内存结构的访问
3,通过mutex实现对于共享内存结构的序列式访问
4,通过不同方式使用或定位mutex,比如:parent cursor有它独立的mutex
,child cursor有它独立的mutex;
不同的mutex保护不同的共享内存结构
---------------------------------------------------
mutex与latch的几点不同:
1,mutex比latch更小,操作更快;原因在于它们比latch包含的内部指令更少
2,mutex比latch占用的内存资源和空间更少,mutex比latch发生竞争的机会更低
比latch可以提供更多的保护和更强的伸缩性
3,mutex还有一个很不错的特性:多个持有共享模式的并发会话可以同时引用它;
mutex发挥2个作用:1,与latch一样序列化访问内存结构资源;
2,防止对象从memory buffer老化,即保证让对象pin住
4,因为latch和mutex是2个独立的结构,所以一个会话可同时持有latch和mutex
5,oracle自10g r2用mutex代替一部分之前latch的机制;为了提升library cache
中cursor执行速度和hard parse time;便用mutex代替了latch;
在这个情景下,用mutex替代了library cache latches和library cache pins
6,mutex比latch占用的cpu资源更少
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-756587/ ,如需转载,请注明出处,否则将追究法律责任。