ORACLE数据库体系统结构课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ORACLE体系统结构1ORACLE体系统结构连接到OracleServer处理查询处理DML处理COMMIT2连接到ORACLESERVER3用户客户服务器ServerprocessOracleserverUserprocessORACLE实例4后台进程数据高速缓存实例SGA重做日志高速缓存共享池ORACLE数据库5控制文件重做日志数据文件数据库参数文件口令文件归档日志处理查询6用户进程服务器进程SELECT*FROMEMPORADERBYename;StatementHandleHandleOKOKResults解析执行提取共享池7共享池尺寸:SHARED_POOL_SIZE库高速缓存:存放SQL语句文本、解析代码和执行计划数据字典高速缓存:包含表、列定义以及权限信息库高速缓存数据字典高速缓存共享池SGA数据高速缓存8存储最近访问的数据块缓冲区个数:DB_BLOCK_BUFFERS缓冲区尺寸:DB_BLOCK_SIZESGAPGA9服务器进程PGA排序区会话信息游标状态堆栈空间处理DML语句10库高速缓存数据字典高速缓存共享池重做日志缓冲区数据高速缓存InstanceSGA控制文件重做日志数据文件数据库服务器进程UPDATEempSETsal=sal*1.2WHEREempno=7369①②③④⑤①回滚段11新数据TableDML语句旧数据回滚段重做日志缓冲区12尺寸:LOG_BUFFER记录实例所进行的修改DBWR13DBWR数据高速缓存数据文件控制文件重做日志SGA实例LGWR14DBWR数据高速缓存LGWR重做日志缓区存SGA实例数据文件控制文件重做日志处理COMMIT15库高速缓存数据字典高速缓存共享池重做日志缓冲区数据高速缓存InstanceSGA控制文件重做日志数据文件数据库服务器进程①②③④用户进程LGWR服务进程在ORACLESERVER所在的机器上运行在专用服务配置中只对一个用户进程服务使用不同的PGA处理由客户产生的请求,并将结果返回客户查询的处理过程:•分析SQL命令并生成执行方案。•从数据缓高速缓存中读取数据。•将执行结果返回给用户。16后台进程17SGADBWRCKPTLGWRARCHRECOLCKnSMONSharedPoolDatabaseBufferCacheRedoLogBufferPMONLMD0LMONDBFilesLogFilesArchiveLogsRemoteDBClusteredInstancesGMSnetworksharedmemorydiskIO进程监视进程(PMON)•PMONProcessMonitor•清除异常终止的连接,并撤消异常中断的用户进程,并释放该进程已获得的系统资源或锁。•释放分配给终止进程的SGA资源。•有规律的被唤醒,也可由其他进程调用。18系统监视进程SMON19•SMONSystemMonitor•回收不再使用的临时段空间。•合并连续的空闲空间。•进行实例恢复。•其他任务。写日志进程LGWR20LGWR(LogWriter)将重做日志缓冲区的重做日志条目写入到联机重做日志文件的进程。注意:直到Oracle在LGWR完成将重做信息从重做缓冲区刷新到联机重做日志文件之后,Oracle才认为一个事务已完成。在LGWR成功地将重做日志项写入联机重做文件时(并不是改变数据文件中的数据),将一个成功码返回给服务器进程。写日志文件21当提交事务处理时(Commit)。当重做日志缓冲区已满三分之一时。当重做日志缓冲区中记录了超过1MB的更改时。在DBWR将数据高速缓存中修改的数据块写入到数据文件以前。发生LGWR超时(3秒)。检查点进程(CKPT)CKPTCheckpointProcess.负责向数据库发出检查点,检查点用于同步数据库的所数据文件、控制文件和重做日志。当发出检查点时,系统会修改控制文件与数据文件的头部,同时会促使DBWR进程将所有脏缓冲区写入到数据库文件中。22检查点发生的时间当数据库管理员手动请求时,即使用SQL命令:ALTERSYSTEMCHECKPOINT当达到初始化参数LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT和FAST_START_IO_TARGET设置值时。每次日志切换时(LogSwitch)。当已通过正常事务处理或者关闭实例时(normal、transactional、immediate)。23数据写入进程(DBWR)DBWRDatabaseWrite将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU(LeastRecentlyUsed)算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动。脏缓冲区个数达到指定阈值(db_block_max_dirty_target)。服务器进程找不到自由缓冲区。系统发出检查点(checkpoint)。为了提高DBWR进程的性能,Oracle最多允许定义10个DBWR进程,设置初始参数db_writer_processes完成。24自动归档进程(ARCH)数据库可以工作在归档模式或者非归档模式下,在归档模式下,发生故障时可以进行数据的完全恢复。将完成的日志文件写入归档目录维护对数据库的修改历史,确保不会由于磁盘的故障丢失数据归档的方式有两种,一种是手工归档,一种是启动自动归档进程,在日志文件组出现切换时,系统自动完成将旧日志文件的内容拷贝到磁盘或者脱机存储介质上(如磁带机)。25ARCH的参数说明LOG_ARCHIVE_START确定了该进程的启动/不启动状态。LOG_ARCHIVE_DEST_n当数据库在归档模式下操作时,该参数确定了日志文件的归档目标。LOG_ARCHIVE_FORMAT当数据库在归档模式下操作时,该参数确定了归档日志文件的缺省文件名格式。26恢复进程(RECO)分布式数据库恢复。恢复两阶段提交时由于连路问题处于准备提交阶段的事务。27查看系统参数及后台进程动态性能视图v$bgprocess中记录有关于后台进程的信息。动态性能视图v$parameter中记录有关于系统参数的信息。SQLselect*fromv$bgprocesswherepaddr'00';PADDRNAMEDESCRIPTIONERROR------------------------------------------7A1D06BCPMONprocesscleanup07A1D0A7CDBW0dbwriterprocess00……………SQLdescv$parameter28谢谢!29

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功