ORACLE的体系结构
2015-08-06 15:03
176 查看
ORACLE的工作原理
1 在数据库服务器上启动ORACLE实例。
2 应用程序在客户端的用户进程中运行,启用ORACLE网络服务驱动器与服务器建立连接。
3 服务器运行ORACLE网络服务驱动器,建立专用的服务器进程执行用户进程。
4 客户端提交事务。
5 服务器进程获取SQL语句并检查共享池中是否有相似的SQL语句,
如果有,服务器进程再检查用户的访问权限,否则分配新的SQL共享区分析并执行SQL语句。
6 服务器从实际的数据文件或SGA中取得所需数据。
7 服务器进程在SGA中更新数据,进程DBWN在特定条件下将更新过的数据块写回磁盘,进程LGWR在重做日志文件中记录事务。
8 如果事务成功,服务器进程发送消息到应用程序中。
========================================================================================================================
ORALCE服务器
1 ORALCE服务器是由ORALCE数据库和ORACLE实例组成。
2 ORALCE数据库是一个数据的集合, 存放在数据文件里,该集合被视为一个逻辑单元。
3 ORALCE实例由管理数据库的后台进程和内存结构所构成。
========================================================================================================================
ORACLE实例
ORACLE实例是后台进程和内存结构的集合。
启动ORACLE实例的过程 ———— 分配内存,启动后台进程
ORACLE实例的内存包括SGA和PGA
当启动实例的时候分配SGA,当启动服务器进程的时候分配PGA
一般情况下,SGA:PGA = 8:1 分配内存
ORACLE实例的后台进程包括SMON,PMON,DBWR,LGWR,CKPT
========================================================================================================================
SGA(SYSTEM GLOBAL AREA)系统全局区
1 数据区信息存储于SGA,由多个数据库进程共享。
2 SGA包括:共享池,数据缓冲区,日志缓冲区,Large池,Java池,Steam池
3 共享池是对SQL,PL/SQL程序进行语法分析,编译,执行的内存区域。
如果执行SELECT * FROM EMP 语句时,会对SQL语句进行语法分析>编译>生成执行计划>运行执行计划等,
这些操作都是在共享池中完成,如果再次执行SELECT * FROM EMP 语句时,会在共享池中查找是否有相同的SQL,如果
5、SGA(System Global Area): 系统全局区
i0、数据库信息存储于SGA,由多个数据库进程共享。
i1、SGA包括:共享池、数据缓冲区、日志缓冲区、Large池、Java池、Stream池。
i2、共享池
1)、共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。
如在执行SELECT * FROM emp语句时,会对sql语句进行语法分析->编译->生成执行计划->运行执行计划等,这些操作都在共享池中完成;如果再次执行SELECT * FROM emp语句时,会在共享池中查找是否有相同的sql,如果存在则省去编译、生成执行计划操作步骤而是直接运行执行计划,因此养成良好的编码习惯对于提高oracle执行效率非常有帮助。
2)、共享池由库缓存和数据字典缓存组成。
3)、共享池的大小直接影响数据库的性能。
ORACLE的工作原理
1 在数据库服务器上启动ORACLE实例。
2 应用程序在客户端的用户进程中运行,启用ORACLE网络服务驱动器与服务器建立连接。
3 服务器运行ORACLE网络服务驱动器,建立专用的服务器进程执行用户进程。
4 客户端提交事务。
5 服务器进程获取SQL语句并检查共享池中是否有相似的SQL语句,
如果有,服务器进程再检查用户的访问权限,否则分配新的SQL共享区分析并执行SQL语句。
6 服务器从实际的数据文件或SGA中取得所需数据。
7 服务器进程在SGA中更新数据,进程DBWN在特定条件下将更新过的数据块写回磁盘,进程LGWR在重做日志文件中记录事务。
8 如果事务成功,服务器进程发送消息到应用程序中。
========================================================================================================================
ORALCE服务器
1 ORALCE服务器是由ORALCE数据库和ORACLE实例组成。
2 ORALCE数据库是一个数据的集合, 存放在数据文件里,该集合被视为一个逻辑单元。
3 ORALCE实例由管理数据库的后台进程和内存结构所构成。
========================================================================================================================
ORACLE实例
ORACLE实例是后台进程和内存结构的集合。
启动ORACLE实例的过程 ———— 分配内存,启动后台进程
ORACLE实例的内存包括SGA和PGA
当启动实例的时候分配SGA,当启动服务器进程的时候分配PGA
一般情况下,SGA:PGA = 8:1 分配内存
ORACLE实例的后台进程包括SMON,PMON,DBWR,LGWR,CKPT
========================================================================================================================
SGA(SYSTEM GLOBAL AREA)系统全局区
1 数据区信息存储于SGA,由多个数据库进程共享。
2 SGA包括:共享池,数据缓冲区,日志缓冲区,Large池,Java池,Steam池
3 共享池是对SQL,PL/SQL程序进行语法分析,编译,执行的内存区域。
如果执行SELECT * FROM EMP 语句时,会对SQL语句进行语法分析>编译>生成执行计划>运行执行计划等,
这些操作都是在共享池中完成,如果再次执行SELECT * FROM EMP 语句时,会在共享池中查找是否有相同的SQL,如果
5、SGA(System Global Area): 系统全局区
i0、数据库信息存储于SGA,由多个数据库进程共享。
i1、SGA包括:共享池、数据缓冲区、日志缓冲区、Large池、Java池、Stream池。
i2、共享池
1)、共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。
如在执行SELECT * FROM emp语句时,会对sql语句进行语法分析->编译->生成执行计划->运行执行计划等,这些操作都在共享池中完成;如果再次执行SELECT * FROM emp语句时,会在共享池中查找是否有相同的sql,如果存在则省去编译、生成执行计划操作步骤而是直接运行执行计划,因此养成良好的编码习惯对于提高oracle执行效率非常有帮助。
2)、共享池由库缓存和数据字典缓存组成。
3)、共享池的大小直接影响数据库的性能。
相关文章推荐
- oracle (+)是什么意思
- Oracle发布OSS suite新版本,适应开放的新环境
- 2015年8月5日--联合查询 ,层次查询
- oracle 全文检索实践
- oracle简单语句
- oracle 的left join和(+)真的可以起到一样的效果吗?
- CentOs 6.3_64静默安装oracle11g_r2
- Oracle垃圾数据清理相关问题
- Oracle垃圾数据清理相关问题 分类: Oracle 2015-08-06 11:14 12人阅读 评论(0) 收藏
- oracle查看和更新统计表的信息
- jdbc-connect-oracle12c-pdb/cdb(jdbc连接oracle12c的pdb和cdb)
- Oracle11gr2新增APPEND_VALUES提示
- Oracle初探(六)
- 如何在Oracle官网上找到以前版本的JDK?
- Oracle On 、Where、Having 区别
- Oracle database datafile header中记录的datafile的大小
- Timesten加速oracle - (大容量、高时效、秒杀等交易场景解决技术研究)
- mysql和oracle的连接
- oracle数据库启动错误 SP2-1503:无法初始化oracle调用界面
- 连接mysql,oracle,sqlServer数据库的方式