oracle internal services阅读总结1

简介: 1、oracle内核层级 oracle内核由多层组成,主要层级在图1.1中展示。每一层依赖于它下一层的服务,但有时候也会以任何顺序直接调用任何一层。然而,控制层从来不会向上传递堆栈,除了返回调用结果的时候。

1、oracle内核层级

oracle内核由多层组成,主要层级在图1.1中展示。每一层依赖于它下一层的服务,但有时候也会以任何顺序直接调用任何一层。然而,控制层从来不会向上传递堆栈,除了返回调用结果的时候。

下面先看oracle内核各层图:


the oracle call interface(OCI): oracle调用接口是客户端程序连接oracle的最底层。这个接口有明文规定并且提供大部分oracle功能的访问,包括像对象迁移,复杂事务和会话的控制。高级请求的应用可直接调用OCI,这些在oracle其他开发工具中是不提供的。

关于oci的具体解读可以参照:http://blog.csdn.net/changyanmanman/article/details/6856799


the user program interface(UPI):OCI是基于用户程序接口(upi)的,有些UPI功能还不能通过OCI使用。一些oracle的工具实际上可以直接的调用UPI接口。预编译程序也可以调用UPI,但是间接的调SQLLIB 库。预编译程序时未公开的OCI的替代品。


the oracle program interface(OPI):用户程序接口(UPI)是客户端调用堆栈的最底层,oracle程序接口(OPI)是服务器段调用堆栈的最高层。在大多数配置中,使用NET8连接 UPI 和 OPI 。然而,在单任务可执行文件中,是没有间隙的。UPI的调用对应着直接调用OPI。


the comilation layer(KK):这是oracle内核的最高层。这一层负责解析和优化SQL语句,编译PL/SQL程序块。


execution layer(KX):这一层负责处理绑定变量和执行SQL,PL/SQL。。。同时负责触发器,PL/SQL执行时的递归调用。


distributed execution layer(K2):分布式执行层为分布式事务建立了事务分支,并且处理和管理两段式提交。


the network program interface(NPI):远程对象被SQL语句引用,网络程序接口(NPI)发送已经分解的语句组件到远程数据库实例并且接受数据。


the security layer(KZ):这层被编译和执行层调用来 确认请求对象和系统权限。


the query layer(KQ) :这一层为上层提供数据行,特殊情况下,这个查询层负责缓存数据字典中的数据行。为安全层(security layer) 和 编译层(compilation layers)是用。

the recursive program interface(RPI):递归程序接口被用来填充缓存从数据字典读取的数据,行缓冲区递归SQL语句 被以封开调用上下文的形式执行,但是并不在编译层(compilation layer)执行。


the access layer(KA):访问层负责访问数据段,这是内核下半部分的第一层。


the data layer(KD):这一层负责管理和解释在数据库段里的数据块,就像表,集群,索引等。


the transaction layer(KT):这一层负责分配事务的回滚段,数据块中相关事务列表的改变,undo数据生成的回滚段数据块的改变,事务控制特性 如 :保存点 和 一致性读。。这个事务层(KT)也负责空间管理,包括段空闲列表 和 表空间区分配的管理。


the cache layer(KC):缓存层管理数据库的缓冲区高速缓存。它利用操作系统独立的功能实现到数据文件的I/O读写。为本地访问缓冲区高速缓存提供并发控制功能,提供oracle并行服务器的并行缓存管理的实例锁功能,其他主要负责控制日志写入日志缓存区,日志写入日志文件。缓存层同样缓存控制文件信息。


the services layer(KS):服务层提供最低层次的服务,被用于高层次。像是错误捕获,debug,跟踪,参数控制,内存服务等等。特别的,服务层负责一般的并发控制,像latch,等待事件,队列锁和实例锁。这服务层也负责管理后台和用户进程会话,对象状态,内部进程信息,系统统计信息 的 数据结构。


the lock management layer(KJ):这一层负责锁实现的同步,并行服务数据库之间的交流。


the generic layer(KG):普通层提供了更高层次(像链表)  的 普通数据结构。更有兴趣的是 库缓存和 共享池(或会话内存)的内存分配堆。


the operating system dependencies(S):oracle使用操作系统的功能来实现I/O。进程调度,内存管理和其他的操作。实现的细节有操作系统决定。所以这些细节被分离为一个单独的层。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
SQL 开发框架 Oracle
Oracle数据库面试题总结
1、SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert、delete、update DDL(数据定义语言)create、drop、alter DCL(数据控制语言)grant:把权限授予用户、revoke:把权限从用户收回 TPL(TCL,事务控制语言):commit、rollback
169 0
|
Oracle 关系型数据库 BI
Oracle-分析函数_总结
Oracle-分析函数_总结
|
SQL Oracle 算法
Oracle总结【SQL细节、多表查询、分组查询、分页】下
在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了…印象中就只有基本的SQL语句和相关一些概念….写下本博文的原因就是记载着Oracle一些以前没注意到的知识点…以后或许会有用… 实例与数据库概念
256 0
Oracle总结【SQL细节、多表查询、分组查询、分页】下
|
SQL Oracle 关系型数据库
Oracle总结【SQL细节、多表查询、分组查询、分页】上
在之前已经大概了解过Mysql数据库和学过相关的Oracle知识点,但是太久没用过Oracle了,就基本忘了…印象中就只有基本的SQL语句和相关一些概念….写下本博文的原因就是记载着Oracle一些以前没注意到的知识点…以后或许会有用… 实例与数据库概念
120 0
Oracle总结【SQL细节、多表查询、分组查询、分页】上
|
SQL 存储 Oracle
Oracle总结【视图、索引、事务、用户权限、批量操作】三
在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了…那么本篇主要总结关于Oralce视图、序列、事务的一些内容… 在数据库中,我们可以把各种的SQL语句分为四大类… (1)DML(数据操纵语言):select,insert,update,delete (2)DDL(数据定义语言):create table,alter table,drop table,truncate table (3)DCL(数据控制语言):grant select any table to scott/revoke select any table from scott (4)TCL(事务
136 0
Oracle总结【视图、索引、事务、用户权限、批量操作】三
|
SQL Oracle 关系型数据库
Oracle总结【视图、索引、事务、用户权限、批量操作】二
在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了…那么本篇主要总结关于Oralce视图、序列、事务的一些内容… 在数据库中,我们可以把各种的SQL语句分为四大类… (1)DML(数据操纵语言):select,insert,update,delete (2)DDL(数据定义语言):create table,alter table,drop table,truncate table (3)DCL(数据控制语言):grant select any table to scott/revoke select any table from scott (4)TCL(事务
151 0
Oracle总结【视图、索引、事务、用户权限、批量操作】二
|
SQL 存储 Oracle
Oracle总结【视图、索引、事务、用户权限、批量操作】 一
在Oracle总结的第一篇中,我们已经总结了一些常用的SQL相关的知识点了…那么本篇主要总结关于Oralce视图、序列、事务的一些内容… 在数据库中,我们可以把各种的SQL语句分为四大类… (1)DML(数据操纵语言):select,insert,update,delete (2)DDL(数据定义语言):create table,alter table,drop table,truncate table (3)DCL(数据控制语言):grant select any table to scott/revoke select any table from scott (4)TCL(事务
134 0
Oracle总结【视图、索引、事务、用户权限、批量操作】 一
|
存储 SQL Oracle
|
存储 Oracle Java
|
SQL Oracle 关系型数据库

推荐镜像

更多