从Oracle8开始,DLM数据库(存储有关资源,锁,进程的信息)已集成在Oracle SGA中。DLM内存区用于存储所有锁相关的master节点。DLM不提供锁定资源的能力,但是它会将资源提供为可锁定实体。在Oracle8i中,主节点与目录节点是固定的这对锁资源申请访问并不友好。从Oracle9i开始,这种固定的对应方式被取代,Oralce使用动态remaster技术,通过lookup表运用hash算法将换算后的master key与实际的master做一一对应。
资源:应用程序访问的任何对象
客户端:任何要求资源的进程
锁:客户端对资源的意图
DLM服务:允许客户端应用程序创建,修改和删除共享的锁。
DLM数据库:存储有关资源,锁,进程的信息
资源在Oracle中定义为(程序访问的任何对象)。每个资源都需要有当前授予的用户锁列表,此列表称为Grant Q。此外还有相对应的Convert Q,即等待转换的锁队列。此外,有些资源拥有用于存储少量锁定值的块(LVB),一般16字节。例如,并行查询子进程在申请的PS资源(Parallel SlaveSynchronization)的时候使用它存储kxfpqd结构传递给其他节点。这两种资源类型具有不同的数据结构。客户端(用户)必须锁定资源才能使