Oracle数据库的体系结构之内存结构

合集下载

体系架构.

体系架构.
Oracle 体系架构
• Oracle 数据库结构是 Oracle 数据库系 统的主要部分,它是一些可以看得见 的软件,包括:Oracle 数据字典、表 空 间 与 数 据 文 件 、 Oracle 实 例 (Instance)。
Oracle 体系架构图(图1)
图2-1 Oracle 9i体系结构图
镜像日志文件
镜像日志文件图示 Group 1 Group 2 Log File 2
Log File 1 Disk 1 Member 1.1 Log File 3 Disk 2 Member 1.2
Member 2.1 Log File 4
Member 2.2
控制文件(Control File)
是一个较小的二进制文件,用于描述数据库结构。ORACLE的体系结构
共享SQL区包括
系统全局区
• SQL或PL/SQL语句的文本 • SQL或PL/SQL语句的语法分析形式 • SQL或PL/SQL语句的执行方案
共享池(Shared Pool)由共享SQL区和数据字典区组成。 参数SHARED_POOL_SIZE 确定共享池的大小。
数据字典区用于存放数据字典信息行。
描述信息如下: • 数据库建立的日期。 • 数据库名。 • 数据库中所有数据文 件和日志文件的文件名及 路径。 • 恢复数据库时所需的 同步信息。
要点注意: • 在打开和存取数据库 时都要访问该文件。 • 镜像控制文件。 • 记录控制文件名及路 径的参数为: CONTROL_FILES
参数文件(Parameter File)
Oracle 内存结构
Libaray Redo log buffer
Data Dictionary
Cache

第2章 Oracle数据库的体系结构

第2章 Oracle数据库的体系结构
数据库是存储数据的多个物理文件的集合 ,它 是静态的、永久的。 数据库实例是用户访问数据库的中间层,是使 用数据库的手段,它为用户访问数据库提供了 必要的内存空间和多个Oracle进程,它是动态 的、临时的。
因此,Oracle实例是由内存空间和Oracle 进程两部分组成。
Oracle实例结构图
1.系统全局区SGA
数据缓存区(database buffer cache) :最近 使用过的数据 。 重做日志缓冲区(redo log buffer) :记录了 用户对数据库执行的操作,被循环使用 。 共享池(shared pool) :包含了库缓存区( library cache)、数据字典缓存区(dictionary cache)、并行执行消息缓冲区(buffers for parallel execution messages),以及用于系 统控制的各种内存结构。
数据文件又可以分为以下几种:
系统数据文件 回滚数据文件 临时数据文件 用户数据文件 系统辅助数据文件 示例数据文件
2.1.2 日志文件
日志文件记录了用户对数据库的修改信息( 如增加、删除、修改),名字通常为 REDO*.LOG格式。
日志文件也叫重做日志文件或重演日志文件 (Redo Log Files)。 日志组是日志文件的逻辑组织单元,每个日志 组中有一个或多个日志文件。 同一个日志组中的多个日志文件具有相同的信 息,它们是镜相关系
用户进程和服务进程之间的对应关系是由 Oracle数据库的工作模式决定的。数据库通 常有两种工作模式:
专用服务器模式 共享服务器模式
3.后台进程(background process)
Oracle实例启动时,为了保证该实例的正常使 用,系统将为该实例启动一些后台进程。 这些进程是操作数据库的基础,不管有没有用 户连接数据库,这些进程都会被启动。

Oracle数据库

Oracle数据库

Oracle数据库Oracle数据库是管理数据的一种软件系统,它可以帮助用户快速地存储、管理和检索大量的数据。

Oracle数据库由Oracle公司开发,它是世界上最强大、最可靠的数据库之一,被广泛用于企业级应用程序和数据库管理系统。

一、Oracle数据库的基础知识1. 数据库结构Oracle数据库由一个或者多个表空间组成,每个表空间包含一组数据文件。

一个表空间可以包含多个数据文件,但一个数据文件只能属于一个表空间。

2. 数据库对象Oracle数据库中的每个数据对象都具有一个唯一的名称,例如表(table)、视图(view)、序列(sequence)、索引(index)和存储过程(procedure)等。

它们都被保存在表空间中的数据文件中。

3. SQL语言Oracle数据库主要使用SQL语言来处理数据,包括数据增删改查等常用操作。

二、Oracle数据库的特点1. 效率高Oracle数据库采用高效的管理和存储技术,可以快速访问和操作大量数据。

它具有高速的缓存机制,可以快速地执行查询和更新操作。

2. 可靠性强Oracle数据库拥有高度稳定的系统架构和自动维护机制,可以保证数据的安全性和可靠性。

它可以实现多重备份,在数据发生意外错误时可以快速恢复。

3. Heterogeneous ConnectOracle数据库可以通过网络协议和连接程序实现异构连接,支持其它数据库软件,如MS SQL Server、IBM DB2等。

4. 扩展性强Oracle数据库可扩展性强,可以设计和构建分布式系统,支持跨平台分布式数据库。

5. 多功能性Oracle数据库提供多种功能,包括多种语言的支持,丰富的安全控制和数据库监视等。

6. 可伸缩性Oracle数据库可以支持大量的并发用户,可以处理多种不同的应用程序。

三、Oracle数据库的应用领域Oracle数据库被广泛应用于企业级应用程序和数据库管理系统,主要应用于以下几个领域:1. 金融领域Oracle数据库被广泛用于金融事务处理系统,包括银行、证券、保险和期货等金融机构的资金结算和清算等数据处理。

第二章Oracle体系结构

第二章Oracle体系结构

2.表空间的使用
在数据库中使用多个表空间具有如下优势: (1)能够将数据字典与用户数据分离开来,避免 由于字典对象和用户对象保存在同一个数据文件 中而产生的1/0冲突。 (2)能够将回退数据与用户数据分离开来,避免 由于硬盘损坏而导致永久性的数据丢失。 (3)能够将表空间的数据文件分散保存到不同硬 盘上,平均分布物理1/0操作。
(4)LGWR日志文件写进程 该进程是日志缓冲区的管理进程,负责把日志缓冲区中 的日志项写入磁盘上的日志文件中。 (5)ARCH归档进程(archiver process) 该进程把已经填满的在线日志文件拷贝到一个指定的存 储设备上。 (6)RECO恢复进程 该进程是在具有分布式选项时使用的一个进程,主要用 于解决引用分布式事务时所出现的故障。 (7)LCKN封锁进程
2.4.2 进程
进程又称任务,是操作系统中一个极为重要的 概念。一个进程执行一组操作,完成一个特定 的任务。对Oracle数据库管理系统来说,进程由 用户进程、服务器进程和后台进程所组成。 进程与程序的区别在于前者是一个动态概念, 后者是一个静态实体;程序仅仅是指令的有序 集合,而进程则强调执行过程。进程可以动态 地创建,完成任务后即会消亡。
2.2.4 数据库块
数据库块也称逻辑块或Oracle块,它对应 磁盘上一个或多个物理块,它的大小由初 始化参数db_block_size(在文件init.ora中) 决定,典型的大小是2k。
Pckfree和Pctused两个参数用来优化数据 块空间的使用。 PCTFREE : 块 中 保 留 用 于 UPDATE 操作的空间百分比,当数据占用的空间达 到此上限时,新的数据将不能再插入到此 块中; PCTUSED:指定块中数据使用空间 的最低百分比;

Oracle体系结构研究

Oracle体系结构研究

1 Orce的存 储 结 构 al
O al的存储 结构 分 为物 理存 储结 构 和逻辑 存储 结构 。 rc e
1 1 物 理 存 储 结 构 .
I l 数据文件l l 控制文件『联机 日志文件l 叫 I 卜 -
图 1 Orce 据 库 的 物 理 结 构 与 逻 辑 结 构 al数
摘 要 : 阐述 了 Orce al 数据库的基本 架构和 Orc 数据库理论 中的主要概 念。O al 体 系结构 由存储 结构 、 al e rce 内存结
构 和 进 程 结 构组 成 , 中 , 储 结 构 由 物 理 存 储 结 构 及 逻 辑 存 储 结 构 组 成 ; 其 存 内存 结 构 由 S A 和 P A 组 成 ; 程 结 构 G G 进
( ) a scin l事 务 缓 存 ) 这 是 一 个 完 全 事 务 支 4 Trn at a ( o : 持 的 缓存 策 略 , 能 在 J 环 境 中使 用 。 只 TA 每个 缓存 组 件 的缓 存 策 略 是 不 同 的 , 2列 出 了 各 个 表
2 结 束 语
实践 表 明 , b rae Hien t 缓存 只 有 在 你 可 以 驾 驭 它 , 且 并 条 件 合 适 的情 况 下 才 可 以 提 高性 能 , 挥 真 正 的优 势 。 如 发 果 不 了解 Hie ae缓 存 机 制 , 随意 使 用 , 能 会 造 成 一 bn t 就 可 些 难 以解 决 的错 误 。
lt h aa aeu ig Hie n t rme r o betp o r mmaial. u ig Hien t ah , rjcswhc e u e aeted tb s sn b r aefa wo k fro jc rg a t l c y s b r aecc e P oet ih rd c n t eitr cinwi h aa a ea piain t o x e t i r v d t eef in y o rjc p rt n .Thst ei i h ea t t t ed tb s p l t ,o s mee tn , n o h c o mp o e h f ce c fpoeto eai s i o i h ss s

Oracle数据库体系结构

Oracle数据库体系结构

Oracle数据库体系结构⼀、oracle数据库体系结构基本组成:Oracle server:⼀般情况下是⼀个instance和⼀个database组成⼀般:1个instance只能对应⼀个数据库。

特殊:1个数据库可以有多个instance(RAC)⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。

利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:connect ⽤户名/密码@实例的服务名1.1 oracle服务器和实例1.1.1实例由内存区和后台进程组成①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。

在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。

1.1.2服务器Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。

数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA1.2 oracle数据库逻辑结构表空间:据库的基本逻辑结构,是⼀系列数据⽂件的集合;段:不同类型数据在数据库中占⽤的空间,有许多区组合⽽成;区:由连续的块组成,⽬的是为数据⼀次性预留⼀个较⼤的空间,oracle为存储空间进⾏分配回收都是以区为单位的;块:最⼩的存储单位,在创建数据库时指定,不能修改。

Oracle体系结构研究

Oracle体系结构研究

Oracle体系结构研究摘要:阐述了Oracle数据库的基本架构和Oracle数据库理论中的主要概念。

Oracle体系结构由存储结构、内存结构和进程结构组成,其中,存储结构由物理存储结构及逻辑存储结构组成;内存结构由SGA和PGA组成;进程结构由用户进程和Oracle进程组成。

关键词:ORACLE体系结构;存储结构;内存结构;进程结构1 Oracle的存储结构Oracle的存储结构分为物理存储结构和逻辑存储结构。

1.1 物理存储结构主要由数据文件、控制文件、联机日志文件及数据库实例构成。

Oracle数据库中有许多初始化参数,这些参数用于对整个数据库进行设置或调整,如设置数据库名、数据库块大小、控制文件的名称和位置、数据库实例数等信息。

Oracle 把这些参数存放在一个文件中,这个文件就叫初始化参数文件。

启动数据库时,Oracle会读取参数文件中的值,并根据这些值对数据库实例(instance)进行设置。

具体说是Oracle先从初始化参数文件中获得控制文件的名称及位置,打开控制文件,然后再从控制文件中读取数据文件和联机日志文件的名称和位置,打开它们,因为表、索引等对象的数据就存放在数据文件中,从而就打开了数据库。

1.1.1 控制文件Oracle启动数据库时会访问控制文件,控制文件是在创建数据库的时候创建的,它是一个很小的二进制文件,记录了数据库的名称、创建数据库的时间、数据文件的名称和位置、联机日志文件的名称和位置及表空间等信息。

所以说一个数据库的控制文件是相当重要的,一旦被损坏,数据库将不能正常启动和运行。

所以DBA应该镜像控制文件,把每个镜像的控制文件分布到不同的物理磁盘上,发生灾难时既使其中一个控制文件被损坏,也不会使整个数据库限于瘫痪。

1.1.2 数据文件当用户在Oracle中创建数据库的时候,就创建了一个或多个数据文件,表和索引等对象的数据就物理地存放在数据文件中。

一个表的数据可能会存储在多个数据文件中,但一个数据文件只能属于一个数据库。

第4章ORACLE服务器体系结构和组成

第4章ORACLE服务器体系结构和组成
FROM PFILE=‘D:\ORACLE\…\TEMPFILE\…’;
PFILE子句是必需的,SPFILE子句可以省略, 那么SPFILE存贮在缺省位置 <ORACLE_HOME>\DATABASE\下。
ORACLE的体系构造 物理构 造
• 查看效劳器端参数文件
• 在SQL PLUS中使用SHOW PARAMETERS命令
• 修改效劳器端参数文件
• 在9i中直接手工修改本地参数化文件是没 用的,不会改变数据库的设置。
• 利用ALTER SYSTEM SET parameter = value语句可以在数据库运行时修改初始化参 数的值。
• 在SET子句中可以使用SCOPE选项来设 置影响范围,所谓影响范围就是ALTER SYSTEM语句对参数的修改是仅对当前实例 有效〔记录在内存中〕,还是永久有效〔记 录在SPFILE中〕。
日志缓冲存储区〔Log Buffer〕 日志缓冲区
以记录项的形式备份数据库缓
冲区中被修改的缓冲块,这些
记录将被写到日志文件中。
LOG_BUFFER
日志文件
确定日志缓冲区的大小。
ORACLE的体系构造 图示
PMON LCKn RECO SMON
共享池
SGA
数据缓冲区 日志缓冲区
体系构造
Server UUUssseeerrr
当一个日志文件组被填满时
关闭数据库时
ORACLE的体系构造 物理构 造
日志文件写操作图示
Log File 2
ORACLE的体系构造 物理构 造
镜像日志文件是为防止日志文件的丧失,在 不同磁盘上同时维护两个或多个联机日志文件 的副本。 其特点如下: 每个日志文件组至少包含两个日志文件成员。 每组的成员数目一样。 同组的所有成员同时被修改。 同组的成员大小一样,不同组的成员大小可 不同。

体系架构

体系架构
重做日志是Oracle的日记帐, 重做日志是Oracle的日记帐,负责记录所有用 Oracle的日记帐 户对象或系统变更的信息; 户对象或系统变更的信息;记录所有对数据 库数据的修改,以备恢复数据时使用。 库数据的修改,以备恢复数据时使用。其特 点如下: 点如下:
• • •
每一个数据库至少包含两个日志文件组。 每一个数据库至少包含两个日志文件组。 日志文件组以循环方式进行写操作。 日志文件组以循环方式进行写操作。 每一个日志文件成员对应一个物理文件。 每一个日志文件成员对应一个物理文件。
数据文件
数据缓冲区
DB_BLOCK_BUFFERS 确定数据块的数目。 确定数据块的数目。
日志缓冲存储区(Log Buffer)
以记录项的形式备份数据库缓冲 区中被修改的缓冲块, 区中被修改的缓冲块,这些记录 将被写到日志文件中。 将被写到日志文件中。 LOG_BUFFER 确定日志缓冲区的大小。 确定日志缓冲区的大小。
镜像日志文件
镜像日志文件图示 Group 1 Group 2
Log File 1 Disk 1 Member 1.1 Log File 3 Disk 2 Member 1.2
Log File 2
Member 2.1 Log File 4
Member 2.2
控制文件(Control File)
是一个较小的二进制文件,用于描述数据库结构。 是一个较小的二进制文件,用于描述数据库结构。
日志文件
日志缓冲区
进 程
• 用户进程 • 服务器进程 • 后台进程
ORACLE的体系结构
进 程
ORACLE实例分为单进程实例和 多进程实例两种。 • SINGLE_PROCESS 单进程/多进程实例的转换。

Oracle体系结构概述

Oracle体系结构概述

Oracle 体系结构概述完整的Oracle 数据库系统通常由两个部分组成:实例(INSTANCE )和数据库(DATABASE )。

数据库是由一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);实例则是由一组Oracle 后台进程/线程以及在服务器分配的共享内存区。

实例和数据库有时可以互换使用,不过二者的概念完全不同。

实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。

准确地讲,一个实例在其生存期中最多只能装载和打开一个数据库。

如果要想再打开其他数据库,必须先丢弃这个实例,并创建一个新的实例。

数据库的主要功能是保存数据,实际上可以将数据库看作是存储数据的容器。

数据库的存储结构也就是数据库存储数据的方式,Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构,这两部分是相互独立但又密切相关的。

逻辑存储结构主要用于描述在Oracle 内部的组织和管理数据的方式,而物理存储结构则用于描述在Oracle 外部,即操作系统中组织和管理数据的方式。

Oracle 对逻辑存储结构和物理存储结构的管理是分别进行的,两者之间不直接影响。

因此Oracle 的逻辑存储结构能够适用于不同的操作系统平台和硬件平台,而不需要考虑物理实现方式。

在启动Oracle 数据库服务器时,实际上是在服务器的内存中创建一个Oracle 实例(即在服务器内存中分配共享内存并创建相关的后台进程),然后由这个实例来访问和控制磁盘中的数据文件。

图2-1以最简单的形式展示了Oracle 实例和数据库。

Oracle 有一个很大的内存块,称为系统全局区(SGA )。

文件文件文件文件文件数据库SGA后台进程后台进程后台进程后台进程后台进程后台进程后台进程实例图2-1 Oracle 实例和数据库当用户连接数据库时,实际上是连接到实例中,由实例负责与数据库通信息,然后再将处理结构返回给用户。

oracle第一篇:oracle12c体系结构

oracle第一篇:oracle12c体系结构

oracle第⼀篇:oracle12c体系结构1、oracle12c的体系结构:内存(逻辑)结构:SGA可以分为数据缓冲区、⽇志缓冲区、共享池、⼤型池、JAVA池、流池。

数据缓冲区(data buffer cache):oracle读取数据的缓存区,执⾏数据的临时存储空间以及修改未提交时,未写⼊磁盘的脏数据。

主要作⽤是提⾼数据的查询速度和减少磁盘的I/O操作;⽇志缓冲区(redo log buffer cache):在执⾏sql语句之前,需要计算出sql执⾏语句的改变向量,并将该向量以⽇志的形式临时存储在该内存区域,然后再去数据缓冲区进⾏数据的更改。

共享池(share pool):共享池分为库缓存、数据字典缓存、sql查询和pl/sql函数结果查询缓存;共享池的⼤⼩9i版本之后就可以直接调整⼤⼩。

库缓存:⽤于临时存储近期已经分过的代码,再次使⽤时就不需要对该代码进⾏分析,直接调⽤。

提⾼语法的执⾏效率。

数据字典缓存:⽤于对近期调⽤的数据字典进⾏缓存,并且数据字典缓存的分配是在库缓存之后的,所以只要库缓存没问题,数据字典缓存也就没问题。

sql查询和pl/sql函数结果查询缓存:当同⼀会话或者多个不同的会话执⾏多次,就会将该查询的结果存储在内存中,当下⼀次查询时直接去调⽤该查询的结果。

在运⽤该执⾏结果之前缓存机制会⾃动的检查查询中的表等对象是否发⽣了变化。

如果变化就会重新查询,使⽤重新查询得到的结果。

⼤型池(large pool):可选择型的内存区域,主要⽤于共享服务器进程的使⽤。

如果未分配再⽤⼑该内存时会在共享池中进⾏分配。

JAVA池(java pool):在运⾏java过程时才使⽤到java池,它作⽤于java对象所需要的堆空间。

但是实际java的实际运⾏还是在数据缓存区。

流池(stream pool):⽤于在redo log中获取⽇志向量,并重新构造执⾏语句,在远程数据库执⾏。

⽽在redo log中提取更改的进程以及应⽤更改的进程将⽤到内存,该内存即是流池。

Oracle 数据库入门教程

Oracle 数据库入门教程

(2)内存结构(SGA) 占OS内存的60-70%,大小可由参数文件内参数计算 shared pool(共享池), database buffer cache(数据缓冲区),
redo log buffer(重做日志缓冲区) (如以下图所示)
SGA=share_pool_size+db_block_size*db_block_buffers +log_buffers
%svrmgrl SVRMGR>connect internal SVRMGR>startup mount SVRMGR>alter database datafile ‘/directory/abc.dbf’ offline; SVRMGR>alter database open; SVRMGR>drop tablespace abc;
一、Oracle 体系结构 (1)物理结构 datafiles redo log files
数据文件 日志文件
control files parameter file 控制文件 参数文件
data files
redo log files
control file
parameter iles
*.dbf
*.log

( 系统管理员能在SQLDBA状态,查看视图dba-extents,dba-segments, dba-tablespace,dba-data-files查看所有的extent,segment,tablespace和
datafile)
common and variable
header block 结构 块地址,段类型 85-100bytes
仅启动instances

oracle数据库体系架构详解

oracle数据库体系架构详解

oracle数据库体系架构详解在学习oracle中,体系结构是重中之重,一开始从宏观上掌握它的物理组成、文件组成和各种文件组成。

掌握的越深入越好。

在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释。

体系结构是对一个系统的框架描述。

是设计一个系统的宏观工作。

这好比建一栋大楼。

你首先应该以图纸的方式把整个大楼的体系架构描述出来。

然后一点点的往里面填充东西。

下面我们先以一个图解的方式对oracle体系结构有一个基本了解根据示图,便于我们记忆,示图分三部分组成,左侧User Process、Server Process、PGA可以看做成Clinet端,上面的实例(Instance)和下面的数据库(Database)及参数文件(parameter file)、密码文件(password file)和归档日志文件(archived logfiles)组成Oracle Server,所以整个示图可以理解成一个C/S架构。

Oracle Server由两个实体组成:实例(instance)与数据库(database)。

这两个实体是独立的,不过连接在一起。

在数据库创建过程中,实例首先被创建,然后才创建数据库。

在典型的单实例环境中,实例与数据库的关系是一对一的,一个实例连接一个数据库,实例与数据库也可以是多对一的关系,即不同计算机上的多个实例打开共享磁盘系统上的一个公用数据库。

这种多对一关系被称为实际应用群集(Real Application Clusters,RAC)RAC极大提高了数据库的性能、容错与可伸缩性(可能耗费更多的存储空间)并且是oracle网格(grid)概念的必备部分。

下面我们来详细看一下oracle数据库的体系架构Oracle体系架构主要有两大部分组成:数据库实例(Instance)和数据库文件(database)数据库实例指数据库服务器的内存及相关处理程序,它是Oracle的心脏。

与Oracle 性能关系最大的是SGA(System Global Area,即系统全局区活共享内存区),SGA包含三个部分:1、数据缓冲区,可避免重复读取常用的数据;2、日志缓冲区,提升了数据增删改的速度,减少磁盘的读写而加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执行速度。

Oracle体系结构详解

Oracle体系结构详解

Oracle体系结构就是围绕这张图展开的,要想深入了解oracle,就必须把这张图搞明白。

如图:一、基本组成:Oracle server:一般情况下是一个instance和一个database组成1个instance只能对应一个数据库。

特殊:1个数据库可以有多个instance(rac)一台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应一个instance,也可以理解成每个数据库只有一个SID 。

利用DBCA建出的每个库都是相对独立的,在同一服务器上如果创建多库必须将环境变量的参数文件做区分,并且在对实例切换时需如下操作:connect 用户名/密码@实例的服务名Oracle Instance:是由内存(SGA)和后台进程(backupground Process)组成通过instance来访问database一个实例只能打开一个数据库Oracle database:数据文件(Data files):数据文件永远存储数据库的数据,包括数据字典、用户数据(表、索引、簇)、undo数据等重做日志(Redo log):“先记后写”重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志执行DDL或DML操作时,事物变化会被写到重做日志缓冲区,而在特定的时刻LGWR会将重做日志缓冲区中的内容写入重做日志。

控制文件(Control file)控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。

归档日志(Archive log):是非活动(Inactive)重做日志的备份。

口令文件(Password file):用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)参数文件(Parameter file):用于定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)(二进制文件放入裸设备,引入spfile)User and Server process :在执行sql语句时产生的进程,每一个连接,oracle server创建一个session,产生一个server process,在client发起一个connection时就产生了一个user process。

Oracle数据库简答题-考试重点

Oracle数据库简答题-考试重点

1.简单描述Oracle数据库体系结构的组成及其关系?答:Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。

其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等组成.逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成.实例是数据库运行的软件结构,由内存结构和后台进程组成。

数据库运行过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。

2、说明Oracle数据库物理存储结构的组成?Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。

在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以及数据文件、重做日志文件的状态等。

3、说明Oracle数据库数据文件的作用?数据文件中保存了数据库中的所有数据,包括数据字典以及用户数据。

4、说明Oracle数据库控制文件的作用?控制文件保存数据库的物理结构信息,包括数据库名称、数据文件的名称与状态、重做日志文件的名称与状态等。

在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件.5、说明Oracle数据库重做日志文件的作用?重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。

如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。

6、说明数据库逻辑存储结构的组成和相互关系.Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。

其中,数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分配单元,由若干个区形成的段是相同类型数据的存储分配区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库.7、说明数据库表空间的种类,以及不同类型表空间的作用.数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间包括撤销表空间、临时表空间和用户表空间等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二 内存结构之后台进程
1、DBWn后台进程 • DBWn(Database Writer,数据库写入)进程,是
Oracle中采用LRU(Least Recently Used,最近最 少使用)算法将数据缓冲区中的数据写入数据文件的 进程。 • DBWn进程主要有如下几个作用: ▪ 管理数据缓冲区,以便用户进程总能找到空闲的缓
▪ pga_aggregate_target
big
2 内存结构之后台进程
• Oracle数据库启动时,会启动多个Oracle后台进程, 后台进程是用于执行特定任务的可执行代码块,在系 统启动后异步地为所有数据库用户执行不同的任务。
• 通过查询数据字典v$bgprocess,可以了解数据库中 启动的后台进程信息。
▪ 1.数据缓冲区
• 数据缓冲区用于存储从磁盘数据文件中读取的数据,供所有用户共 享。由于系统读取内存的速度要比读取磁盘快得多,所以数据缓冲 区的存在可以提高数据库的整体效率。
▪ 2.日志缓冲区
• 日志缓冲区用于存储数据库的修改操作信息。
▪ 3.共享池
• 共享池用于保存最近执行的SQL语句、PL/SQL程序的数据字典信息, 它是对SQL语句和PL/SQL程序进行语法分析、编译和执行的内存区 域。共享池主要包括如下两种子缓存。
• LGWR进程将日志信息同步地写入在线日志文件组的 多个日志成员文件中,如果日志文件组中的某个成员 文件被删除或者不可使用,则LGWR进程可以将日志 信息写入该组的其他文件中,从而不影响数据库正常 运行,但会在警告日志文件中记录错误。
二 内存结构之后台进程
3 CKPT进程
• CKPT(Check Point,检查点或检验点)进程,一般在 发生日志切换时自动产生,用于缩短实例恢复所需的 时间。在检查点期间,CKPT进程更新控制文件与数 据文件的标题,从而反映最近成功的SCN(System Change Number,系统更改号)。
冲区。 ▪ 将所有修改后的缓冲区数据写入数据文件。 ▪ 使用LRU算法将最近使用过的块保留在内存中。 ▪ 通过延迟写来优化磁盘I/O读写。
二 内存结构之后台进程
2 LGWR进程
• LGWR(Log Writer,日志写入)进程,是负责管理日 志缓冲区的一个后台进程,用于将日志缓冲区中的日 志数据写入磁盘的日志文件中。
show sga;
1.5 内存结构之SGA
• Oracle内存结构是影响数据库性能的主要因素之 一,其中SGA结构系统全如局区图(SG下A)所示。
数据库缓冲区缓存 (默认大小)
KEEP缓冲池 RECYCLE缓冲池
共享池
保留池
数据库缓冲区缓存(大小为nK)
库缓存
共 享 内 存
数据库缓冲区缓存(大小为nK) 大型池
1.5 数据库例程
客户应用程序 服务器进程
实 例(INSTANCE) 处理数据的内存结构
后台进程
数据库
一、 系统全局区
系统全局区(SGA,System Global Area.)是内存 结构的主要组成部分,是Oracle为一个实例分配的一 组共享内存缓冲区。 SGA区是由Oracle分配的共享内存结构,包含一个 数据库实例共享的数据和控制信息。当多个用户同时 连接同一个实例时,SGA区数据供多个用户共享,所 以SGA区又称为共享全局区。
• 程序全局区的大小由参数 pga_aggregate_target决定,可以通过SHOW PARAMETER语句查看该参数的信息,如下:
▪ SQL> SHOW PARAMETER pga;
▪ NAME
TYPE
VALUE
▪ --------------------------------------------- ----------
第一篇 Oracle 体系结构
1.1 物理存储结构 1.2 日志文件的修改 1.3 逻辑存储结构 1.4 表空间的建立和修改 1.5 内存结构 1.6 数据字典
第一篇 Oracle 体系结构
1.5 内存结构 ---------------类似于学校的日常管理,各 司其职,各谋其政。
1.5 数据库例程
数据字典 缓存
共享SQL区 域
PL/SQL过程
Java池
控制结构
和程序包
流池
重做日志缓冲区缓存固定ຫໍສະໝຸດ SGA软件代码区域非
程序全局区(PGA)

享 内
栈空间
会话信息
排序、散列、合并区域

1.5 系统全局区(SGA)
• 系统全局区(System Global Area,SGA)是Oracle为系 统分配的一组共享的内存结构,可以包含一个数据库实 例的数据或控制信息。
二 内存结构之后台进程
5 PMON进程
• PMON(Process Monitor,进程监控)进程,用于在 用户进程出现故障时执行进程恢复操作,负责清理内 存存储区和释放该进程所使用的资源。
• PMON进程周期性检查调度进程和服务器进程的状态, 如果发现进程已死,则重新启动它。PMON进程被有 规律地唤醒,检查是否需要使用,或者其他进程发现 需要时也可以调用此进程。
二 内存结构之后台进程
4 SMON进程
• SMON(System Monitor,系统监控)进程,用于数据 库实例出现故障或系统崩溃时,通过将联机重做日志 文件中的条目应用于数据文件,执行崩溃恢复。
• SMON进程一般用于定期合并字典管理的表空间中的 空闲空间,此外,它还用于在系统重新启动期间清理 所有表空间中的临时段。
– 库高速缓存(Library Cache) – 数据字典缓存(Data Dictionary Cache)
▪ 4.大型池
• 大型池,用于提供一个大的缓冲区供数据库的备份与恢复操作使用, 它是SGA的可选区域。
1.5 程序全局区(PGA)
• 程序全局区(Program Global Area,PGA)是 Oracle系统分配给一个进程的私有内存区域。
❖ 当数据库服务器上的一个数据库启动时,Oracle将分 配一块内存区间,叫做系统全局区(SGA),并启动 一个或多个Oracle进程。
❖ SGA和Oracle后台进程结合在一起,就是一个Oracle 例程,也称为Oracle 实例。
❖ SGA---类似于开会的场所 ❖ Oracle后台进程---类似于学术会议的流程
相关文档
最新文档