Oracle数据库的体系结构特点是什么啊?
发布网友
发布时间:2022-04-07 15:18
我来回答
共1个回答
热心网友
时间:2022-04-07 16:47
还不如直接问体系结构是怎么构架的,到处都是特点,给你一份我的笔记,自己参考
数据库体系结构
数据库体系结构包括了:
1数据库实例
2数据库文件
3用户进程
4服务器进程
5参数文件
6密码文件
7归档日志文件等。
其中,1数据库实例和2数据库文件是本体系结构中的核心部分,他们组合起来构成了oracle服务器,又称为DBMS——数据库管理系统。
1数据库实例(instance)
数据库实例由系统全局区SGA和若干后台进程组成。
SGA:包含数据库高速缓存database buffer cache,共享池shared pool,重做日志缓存redo log buffer cache,流池 streaming pool,以及一些可选内存区如Java池java pool、大池large pool、闪回缓存区flahsback buffer等。而数据库的内存结构则是分为SGA和PGA(PGA介绍参见4服务器进程)。
共享池由库高速缓存和数据字典高速缓存组成,库高速缓存存储最近使用的SQL和PL/SQL语句,数据字典高速缓存存储数据文件、表、索引、列、用户、权限信息等数据库对象的定义。
数据库高速缓存存储最近使用的数据块信息或用户修改过需要写回数据库的数据信息。
大池主要分配共享服务器模式下的UGA内存。
后台进程:包含系统监控进程SMON,进程监控进程PMON,数据库写进程DBWR,日志写进程LGWR,检查点进程CKPT这5个必须启动的进程以及其他的例如归档日志进程ARCH等。
2数据库文件
数据库文件分成三类:数据文件datafiles,控制文件controlfile,重做日志文件redo file。
数据文件:包含数据库中的实际数据,是数据库操作中数据的最终存储位置。
控制文件:包含维护数据库和验证数据库完整性的信息,是二进制文件。
重做日志文件:包含数据库发生变化的记录,在发生故障时用于数据恢复。
数据库文件又有物理结构和逻辑结构之分。
物理结构:指基于操作系统的数据库文件结构,至上而下为“datafile——OS block”,即从操作系统层面来将,数据库文件是作为datafile来存储的,而datafile是以操作系统的最小块来进行排列存储的。注意,数据库文件的最小块是操作系统最小块的正整数倍。
逻辑结构:指oracle基于自身逻辑的抽象结构自上而下一对多关系为“数据库database——表空间tablespace——段segment——区段extent——数据库块oracle block”。
逻辑结构和物理结构的对应关系:tablespace对应了一个或多个datafile,而segment对应同一个tablespcace的一个或者多个datafile的全部或者一部分,extent是datafile的全部或者一部分,也就是说最小的datafile大小为一个区段,oracle block是OS block的正整数倍大小。
3用户进程
用户进程是运行于客户端需要与数据库进行交互的程序,但是它必须经过服务器进程的对接转换,才能实现交互的功能。
4服务器进程
服务器进程是运行在服务器端、服务于用户进程并直接与数据库进行交互的程序。用户进程与服务器进程之间产生一条数据库连接connection,服务器进程与数据库之间产生若干会话代表用户进程的若干个会话。服务器进程有一块专用的内存叫做进程全局区PGA,PGA独立于SGA,直接在操作系统的内存区中分配。
用户全局区UGA表示用户的会话状态,为会话分配内存。在共享服务器模式下,UGA在SGA中分配,而在专有服务器模式下,UGA在PGA中分配。
5参数文件parameter file
参数文件以正文文本存储,定义了包含SGA中内存结构分配空间的参数,是oracle重要的文件之一。
6密码文件password file
密码文件授予用户启动和关闭数据库实例的权限,在刚安装数据库时,oracle的默认用户名和密码就存储在密码文件之中。
7归档日志文件 archive log file
归档日志文件是日志文件的脱机备份,用以故障之后进行数据恢复。