- 2
- 0
- 约4.57千字
- 约 49页
- 2017-04-27 发布于四川
- 举报
new第一章Oracle数据库的体系结构
第1章 Oracle数据库的体系结构;Oracle服务器由两部分组成
Oracle数据库(Oracle Database)
Oracle例程(实例)(Oracle Instance);1.Oracle数据库(database);2.Oracle例程(instance)--后台进程;2.Oracle例程—内存;1.2 Oracle服务器的内存结构;
(1)数据库高速缓存(database buffer cache)
用来存放用户最近访问的数据
Oracle采用LRU(最近最少使用)算法管理数据库缓冲存储区
Show SGA
DB_CACHE_SIZE 设置高速缓存的大小
alter system set db_cache_size= 大小M ?scope=spfile sid=数据库SID;
DB_BLOCK_SIZE 数据块的大小
DB_nK_CACHE_SIZE 高速缓存中放非标准数据块的小缓存区块的设置;(2) 重做日志缓冲区
执行DML或DDL操作。
一定时机下,由日志写入(LGWR)进程把重做日志缓冲区的内容写到磁盘的重做日志文件中保存。
重做日志缓冲区log_buffer的大小在参数文件中设置。值越大,重做日志缓冲区就可以存放更多的事务提交的记录,减少了数据被频繁写入到重做日志文件中的次数。;(3) 共享池
包括库高速缓存、数据字典高速缓存。
数据字典存储区:存放系统中定义的数据库对象的信息,如表的名称、表结构描述、表拥有者的权限情况等。数据库服务器在运行期间,需要经常查询数据字典信息。
库高速缓存:SQL命令需要解析、分析代码、产生执行计划。
Select ename,sal from emp where empno=7788;
Select ENAME, Sal from emp where empno=7788;
产生的分析代码和执行计划是不同的!!;(1) 排序区
存放执行包含排序操作所产生的临时数据(order by )
(2) 会话区
存储会话变量及会话的其他信息。
(3) 游标状态区
存储用户会话中当前使用的各游标所处的状态。
(4) 堆栈区
堆栈区存储该会话中的绑定变量(Bind Variable)和会话变量(Session Variable)及SQL运行时的内存结构信息。;1.3 Oracle服务器的进程结构;DBWR何时被执行;2.日志写入进程(LGWR);LGWR何时被执行;日志归档进程是一个可选进程
该后台进程只有在ARCHIVELOG(归档日志)模式下才有效
默认情况下只有两个归档日志进程(ARC0和ARC1)
设置LOG_ARCHIVE_MAX_PROCESSES初始化参数最多可定义30个日志归档进程
每个日志归档进程都分配了0~9或a~t的编号
在ARCHIVELOG模式下???当进行日志切换时会自动生成归档日志文件;检查点进程是一个可选进程
作用是发出检查点(Checkpoint),实现同步数据库的数据文件、控制文件和重做日志
确保数据文件、控制文件和重做日志文件的一致性;系统监控进程(SMON)
在数据库系统启动时执行恢复工作
合并空间碎片并释放临时段
进程监控进程(PMON)
检查所有用户进程的状态,清除非正常终止的用户进程,并回收他们所占的资源。
可在V$BGPROCESS中查询当前启动的后台进程;1.3.2 服务器进程结构;1.专用服务器模式
Oracle为每一个连接到例程的客户进程启动一个专门的前台服务进程;允许一个服务器进程同时为多个用户进程服务,多个用户共享一个服务器进程。
组件包括
调度器(接收客户端请求并将它们放入服务器的请求队列中)
共享服务器进程(执行在服务器请求队列中的请求并将相应结果返回给服务器响应队列)
队列
初始化参数SHARED_SERVERS设置启动实例时需要创建的服务器进程数;1.4 Oracle数据库的物理结构;数据文件(Data files)用于存储数据库数据,包括系统数据(数据字典)、用户数据(表、索引、簇等)、撤销(Undo)数据、临时数据等。
系统数据是用来管理用户数据和数据库本身的数据
用户数据是用于应用软件的数据,带有应用软件的所有信息,是用户存放在数据库中的信息
撤销数据包含事务的回退信息
临时数据是排序、分组、游标操作等生成的中间过程数据,一般由系统自动管理;在Oracle数据库中,至少要包含一个数据文件,一个数据文件包括多个数据块,一个数据块包含多个操作系统块。
数据文件在逻辑上属于表空间(Tablespace),一个表空间可以包含一个或多个数据文件,而一个数据文件只能属于一个表空间。
用户在创建数据库对象时,只能指定所属的表空间,而不能指定存储
原创力文档

文档评论(0)