欢迎来到天天文库
浏览记录
ID:36598842
大小:209.10 KB
页数:23页
时间:2019-05-09
《Oracle架构与组成部分》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Oracle架构与组成部分本章目的完成本章之后,我们要掌握以下的内容:描述Oracle的架构与主要组成部分描述连接一个用户到数据库的过程中所涉及到的结构描述Oracle处理以下操作的步骤:Queries(查询)DMLstatements(数据操纵语言)COMMITs(提交)Database(数据库)概览Instance(实例)SGARedologbufferDatabuffercacheSharedpoolDatadict.cacheLibrarycachePMONDBW0SMONLGWRCKPTOthersUserprocessServer
2、processPGAControlfilesDatafilesRedologfilesArchivedlogfilesParameterfilePasswordfileOracleDatabaseFiles(Oracle数据库文件)PasswordfileParameterfileArchivedlogfilesControlfilesDatafilesRedologfilesDatabase其它几个关键的物理结构DatabasePasswordfileParameterfileArchivedlogfilesOracleIns
3、tance(Oracle实例)后端进程一个Oracle实例:是一个访问数据库的方式在数据库打开的时候,实例必须打开,并且一个实例只能对应一个数据库内存结构Instance(实例)SGARedologbufferDatabuffercacheSharedpoolPMONDBW0SMONLGWRCKPTOthers一个SQL语句处理一个使用者使用以下进程连接到一个Oracle的实例:使用者进程(UserProcess)服务器进程(ServerProcess)在sql语句的处理过程中,根据sql语句的类型,有相应的Oracle的组成部分参加进来返回行的
4、查询(Queries)记录改变的DML语句为确保交易能够恢复而进行的提交(Commit)有一些Oracle的组成部分不参加SQL语句的处理连接到一个Oracle的实例(Instance)ServerUserClientUserServerOracleserverServerUserServerApplicationserverBrowser处理一个查询(Queries)解析(Parse):在SGA里面搜索相同的语句检查语法,对象的名称及权限在解析的过程中锁住对象建立及存储执行计划(executionplan)执行(Execute):鉴别被选择的行提取
5、(Fetch):返回行到用户的进程共享池(SharedPool)库缓存(librarycache)包含SQL语句的文本,执行代码及执行计划数据字典缓存(datadictionarycache)包含表,列及对象定义和权限共享池的大小由初始化的参数SHARED_POOL_SIZE来决定SharedpoolDatadictionarycacheLibrarycache数据库高速缓冲区(DatabaseBufferCache)存放最近用到的数据库的块一个buffer的大小等于数据库的块的大小(DB_BLOCK_SIZE)Buffer的数量由初始化的参数
6、DB_BLOCK_BUFFERS来定义Databuffercache程序全局区域ProgramGlobalArea(PGA)服务器进程私有的内存区域,非共享只有服务器进程才可以对其进行写的操作包含:排序的区域(SortArea)会话的信息(Sessioninformation)指针的状态(Cursorstate)堆栈空间(Stackspace)ServerprocessPGASGARedologbufferDatabuffercacheSharedpoolDatabase11处理一个DML语句234UPDATEemp...Userproce
7、ssServerprocessControlfilesDatafilesRedologfiles重做日志缓冲区(RedoLogBuffer)大小由初始化参数LOG_BUFFER来决定记录对数据库的修改是一个顺序使用的一个内存区域这个内存区域被循环使用Redologbuffer回滚段(RollbackSegment)DMLstatement旧值(Oldimage)新值(Newimage)RollbacksegmentTableDatabaseInstanceLGWRSGARedologbufferDatabuffercacheSharedpo
8、ol处理一个COMMIT1234UserprocessServerprocessControlfile
此文档下载收益归作者所有