oracle体系结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle体系结构:物理结构,逻辑结构,内存结构,数据库实例和进程,数据字典
物理结构:数据文件,日志文件,控制文件,配置文件
数据文件用来存储数据库中的全部数据,如数据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。
日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改),以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式
控制文件每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。名字通常为Ctr*.ctl格式
配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通
常为initsid*.ora格式,如:initCIMS.ora,SID相当于它所控制的数据库的标识符。每个Oracle 数据库和实例都有它自己惟一的init.ora文件。
逻辑结构:表空间,段,区,数据库块,模式对象
Oracle中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间:
(1)System表空间
(2)回滚表空间(RollBack TableSpace)
(3)临时表空间(Temp TableSpace)
段:数据段,索引段,临时段,回退段
区是由很多连续的数据块组成的数据库存储空间。缺省情况下,数据库会使用表空间中存储的存储参数来管理他们的区。
Oracle数据库的模式对象包括表、视图、序列、同义词、索引、触发器、存储过程等。内存结构:系统全局区,程序全局区,排序区,软件代码区
系统全局区(SGA,System Global Area.)是内存结构的主要组成部分,是Oracle为一个实例分配的一组共享内存缓冲区,保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析,重做日志管理等。是实例的主要部分。
数据块缓冲区中存放着Oracle系统最近从数据文件中读取的数据块。数据块缓冲区又称用户数据高速缓冲区,为所有与该实例相链接的用户进程所共享。
在Oracle9i中,数据库缓存的大小可以直接由初始化参数DB_ACHESIZE指定,该参数可以直接以K字节或M字节为单位来设置数据库缓存的大小。
字典缓冲区用于保存数据字典中的行。数据字典缓冲区也通过最近最少使用(LRU)算法来管理。大小由数据库内部管理。字典缓存区是SQL共享池的一部分,共享池的大小(以字节为单位)由数据库文件init.ora中的SHARED_POOL_SIZE参数来设置
对数据库进行修改的任何事务(Transaction)在记录到重做日志之前都必须首先放到重做日志缓冲区(Redo Log Buffer.)中。重做日志缓冲区是专为此开辟的一块内存区域,重做日志缓存中的内容将被LGWR后台进程随时写入重做日志文件
共享SQL池(Shared SQL Pool)相当于程序高速缓冲区,所有的用户程序都存放在共享SQL 池中。SQL共享池包括库高速缓存、数据字典高速缓存和服务器控制结构
Java池为Java命令提供语法分析。
缓冲池把大数据集与其他的应用程序分开,以减少它们争夺数据块缓冲区内相同的资源。可以在SGA中创建多个缓冲池
数据库是指物理上的数据库文件或逻辑上的数据库结构。
基于之上管理和控制物理数据库的软件系统,称为数据库管理系统(DBMS)。
数据库实例和进程
数据库实例是指软件系统中用来访问数据库文件集的存储结构以及后台进程的集合,它是存取和控制数据库的软件机制
对Oracle数据库管理系统来说,进程由用户进程、服务器进程和后台进程所组成。
用户进程服务器进程:当用户运行一个应用程序时,系统就为它建立一个用户进程。用户进程执行的是一个应用程序或Oracle工具程序的代码,以完成用户所指定的任务。用户进程不是实例
服务器进程处理与应用程序相连的用户进程的请求,它与用户进程相通讯,为相连的用户进程的Oracle请求服务。
Oracle的后台进程主要包括:
(1)SMON系统监控进程(system monitor)
(2)PMON进程监控进程(process monitor)
(3)DBWR数据库写进程
(4)LGWR日志文件写进程
(5)ARCH归档进程(archiver process)
(6)RECO恢复进程
(7)LCKN封锁进程
数据字典
数据字典是Oracle数据库的核心组件,它是对用户来说为只读类型的表和视图组成。在其中保存着关于数据库系统本身以及其中存储的所有对象的基本信息。
数据库对象所有的框架对象的定义(表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等)
为框架对象如何分配和使用空间
列的默认值
完整性约束信息
数据库安全信息,包括用户、权限、角色等
审计信息
一个数据字典包括基础表,动态性能视图及数据字典视图。数据字典视图又包含ALL视图,USER视图和DBA视图