欢迎来到天天文库
浏览记录
ID:49438317
大小:119.50 KB
页数:6页
时间:2020-03-01
《oracle数据库体系架构详解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、oracle数据库体系架构详解在学习oracle中,体系结构是重中之重,一开始从宏观上掌握它的物理组成、文件组成和各种文件组成。掌握的越深入越好。在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释。体系结构是对一个系统的框架描述。是设计一个系统的宏观工作。这好比建一栋大楼。你首先应该以图纸的方式把整个大楼的体系架构描述出来。然后一点点的往里面填充东西。下面我们先以一个图解的方式对oracle体系结构有一个基本了解根据示图,便于我们记忆,示图分三部分组成,左侧UserProcess、ServerProcess、PGA可以看做成Clinet端,上面的实例(In
2、stance)和下面的数据库(Database)及参数文件(parameterfile)、密码文件(passwordfile)和归档日志文件(archivedlogfiles)组成OracleServer,所以整个示图可以理解成一个C/S架构。OracleServer由两个实体组成:实例(instance)与数据库(database)。这两个实体是独立的,不过连接在一起。在数据库创建过程中,实例首先被创建,然后才创建数据库。在典型的单实例环境中,实例与数据库的关系是一对一的,一个实例连接一个数据库,实例与数据库也可以是多对一的关系,即不同计算机上的多个实例打开共
3、享磁盘系统上的一个公用数据库。这种多对一关系被称为实际应用群集(RealApplicationClusters,RAC)RAC极大提高了数据库的性能、容错与可伸缩性(可能耗费更多的存储空间)并且是oracle网格(grid)概念的必备部分。下面我们来详细看一下oracle数据库的体系架构Oracle体系架构主要有两大部分组成:数据库实例(Instance)和数据库文件(database)数据库实例指数据库服务器的内存及相关处理程序,它是Oracle的心脏。与Oracle性能关系最大的是SGA(SystemGlobalArea,即系统全局区活共享内存区),SGA包
4、含三个部分:1、数据缓冲区,可避免重复读取常用的数据;2、日志缓冲区,提升了数据增删改的速度,减少磁盘的读写而加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执行速度。oracle数据库实例的另一部分就是一些后台进程了,他主要包括:1.系统监控进程2.进程监控3.数据库写进程4.日志写进程5.检验点进程6.其他进程这些后台进程合起来完成数据库管理任务在访问数据库的时候。器后台先启动实例。启动实例前要先分配内存区。然后在启动后台进程。数据库启动过程中必须启动上面的前五个进程。否则实例无法创建。注意:在启动oracle数据库的时候。因为有些进程是在开
5、机启动项中自动启动的。所以占用了很大一部分内存。如果您电脑上还有一些其他占用内存比较大的程序。在启动oracle数据库的时候有可能会因内存不足而启动失败。Oracle服务器Oracle服务器包括两部分:数据库实例和数据库文件。他们构成了也就是所谓的数据管理系统(DBMS)物理结构:oracle的物理结构指的其实就是一些存在硬盘上的各种文件。其最终目的就是存储和获取相关数据。这些存在硬盘上的文件组成了oracle数据库的物理结构Oracle中主要包括三种文件:1.数据文件2.控制文件3.重做日志文件参数文件和密码文件:参数文件:定义了数据库实例的特性,他是正文文件
6、密码文件:授予用户启动和关闭数据库的实例。主要有二进制数据组成Oracle数据库的内存结构:SGA和PGASGA:数据库实例的一部分。数据库实例的启动会首先分配系统全局区(SGA)1.共享池:共享sql和pl/sql代码,即把解析的sql代码在这里缓存,PL/SQL不仅缓存还共享。这样大大提高了直接访问磁盘获得sql的速度。1)库高速缓存:存储最近使用过的sql语句。利用LRU(最近最少使用)算法来管理缓存。最近最少使用算法是一种比较常用的算法。在这里当库高速缓存接近满的时候。它会把缓存中最近最少使用的数据清除缓存中。加入新的缓存sql。查看共享池的大小使用参数
7、shared_pool_sizeSql>showparametershared_pool_size设置共享池大小Sql>altersystemsetshared_pool_size=16M注:在下面的的内容中。如果提到有关参数。如没有特殊说明。设置和查看参数值都是用以上类似方法。以后就不在重复了。并且这些参数必须是在以系统管理员system登陆时才能查看和修改。用类似scott用户是不能查看和修改的。Oracle提供了DB_CACHE_SIZE(数据库大小)和DB_BLOCK_BUFFERS(数据库块个数)设置库高速缓存的大小,即为两者的成绩。2)数据字典高速缓
8、存存储数据文件、表、索引
此文档下载收益归作者所有