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数据库的体系结构
因此,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 数据 库至少要包含一个数据文件,并且数据文件是表 空间的物理组成元素,一个表空间可以包含多个 数据文件,并且每个数据文件只能惟一地属于某 个表空间。 关于“表空间”在后面会给大家详细介绍。
但如果执行介质恢复(例如数据文件意外丢失) ,则必须要用到归档日志。归档日志是非活 动重做日志的备份,数据库只有处于 ARCHIVELOG 模式时才会生成归档日志,并且 每次日志切换都会生成归档日志。
如图所示:
假定数据库只包含两个日志组,并且处于 ARCHIVELOG 模式。初始阶段LGWR 会将事务 变化写入到日志组一,当日志组一写满之后 ,LGWR 会将事务变化写入到日志组二中, 并且会促使ARCn 进程将日志组一的内容保存 到归档日志中,依此类推。
2.6.1 连接和建立会话
当客户应用需要执行SQL 语句时,首先要建立用户进程 ,同时在服务器端会自动为该用户进程派生一个新的 服务进程。默认情况下,用户进程与服务器进程是一 一对应的关系。 当客户端运行SQL 语句时,用户进程会通过网络将该 SQL 语句发送到对应的服务进程,并且由服务进程执行 该SQL 语句,服务器进程在执行了SQL 语句之后,会将 SQL 语句的结果通过网络返回到用户进程。
2.5.3 区(Extents)
数据区间简称为区,区是为段分配空间的逻辑单位 ,Oracle 在分配空间时,并不是以块为单位进行的 ,而是将多个连续的块一次性的分配给数据库对象 。这些连续的块在回收存储
空间时,也一起回收。这些连续的数据块就是数据 区间。 当创建一个数据库对象时,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数据库体系结构⼀、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为存储空间进⾏分配回收都是以区为单位的;块:最⼩的存储单位,在创建数据库时指定,不能修改。
第4章ORACLE服务器体系结构和组成
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_Exadata_数据库一体机结构体系ppt课件
15k fibre channel
450 GB
15k fibre channel
450 GB
15k fibre channel
450 GB
15k fibre channel
450 GB
15k fibre channel
450 GB
15k fibre channel
450 GB
15k fibre channel
2台八处理器每台8cpu每cpu8核1t内存的高性能企业服务器128cores2tb内存tb智能闪存卡?存储端执行查询过滤oracledatabaseenterprise11gr2oracleracoptionoraclepartitioningoptionoracleexadatastorageserversoftware精选sunoracledatabasemachine配置详情quarterrackhalfrackfullrack28fullracksdatabaseservers1664exadatastorageservers1428112totaldiskcapacity2172tb50168tb100336tb2002688tbuserdatauncompressed?621tb1450tb28100tb56800tbthroughputdisks?4525gbsec1056gbsec2112gbsec42168gbsecthroughputflash?11gbsec25gbsec50gbsec100400gbsecpersecondiops?22500050000010000001m8mracks28精选根据不同的规模可以灵活地选择起步模式在线升级x22x28x2214配更多扩展需要外部infiniband交换机支持pb级数据库精选只需增加线缆即可扩展到8机架全部的带宽和冗余性彻底简化部署databasemachine消除了数据库系统部署的复杂度databasemachine随付即用开箱即可享用超级的性能monthsdaysinsertpicturehereoracleexadata技术架构及特性exadatacellinfiniband交换网络单节点数据库rac数据库exadatacellexadatacell智能存储层数据库处理层超高速并发网络层exadata架构概览所有的盘柜并联在交换通道上独立享有80gbs全双工带宽精选11传统阵列架构体系所有的盘柜串联在交换通道上共同分享8gbitsfc带宽cvmanagementserveroptionalheterogeneousserversfabrichsv300ctrlhsv300ctrl正面视图背部视图精选12exadata极限性能的设计infiniband请求dbserversexadatastorage12让blades飞的理由高性能理由
最新Oracle11G 体系结构
方案下看到方案名都为数据库用户名的原因。
如果SCOTT用户创建了表EMP,那么SCOTT
就是表EMP的属主,在SCOTT访问SCOTT用
户下的EMP表时不用在表名前面加上表的属主
:SELECT * FROM EMP; 如果其他用户要访问表EMP,要在表名前面加 上表的属主:SELECT * FROM scott.emp; 否则会显示“没有此表”。
设置内存大小; 设置要使用的数据库和控制文件; 设置检查点; 设置数据库的控制结构; 非强制性后台进程的初始化
其他Oracle 物理文件
跟踪文件(Trace file):存放着后台进程的警告和错 误信息,每个后台进程都有相应的跟踪文件。 警告文件( Alert file):由连续的消息和错误组成, 可以看到Oracle内部错误、块损坏错误等。 备份文件( Backup file):包含恢复数据库结构和数 据文件所需的副本。 口令文件( Password file):存放用户口令的加密文 件。
每个数据库至少包含两个重做日志组,这两个日志组是循环使用的。日
志写入进程(LGWR)会将数据库发生的变化写入到日志组一,当日志组 一写满后,即产生日志切换,LGWR会将数据库发生的变化写入到日志
组二,当日志组二也写满后,产生日志切换,LGWR会将数据库发生的变
化再写入日志组一,依次类推。 日志文件分为联机重做日志文件和归档日志文件。归档日志,是当前非
关键控制信息,如数据库名和创建时间,物理文件 名、大小及存放位置等信息。
控制文件在创建数据库时生成,以后当数据库发生 任何物理变化都将被自动更新。
每个数据库包含通常两个或多个控制文件。这几个
控制文件的内容上保持一致。
Oracle体系结构(共79张PPT)
32
日期
第32页,共79页。
分析
在执行COMMIT操作时,后台进程LGWR要 开始工作,所以事务变化被记载到重做日志 中。因为只有在发出检查点时,才会将SCN 值写入控制文件和数据文件头部,所以控制 文件和数据文件的SCN值保持一致,并且存 放的是先前检查点的SCN值。
控制文件和数据文件的SCN值一致,与重做 日志不一致!
28
日期
第28页,共79页。
CKPT工作原理
当Oracle发出检查点时,系统会将检查点时刻的
SCN值写入到控制文件和数据文件头部,同时还会促
使DBWR进程将所有脏缓冲区写入到数据文件中。
29
日期
第29页,共79页。
检查点工作机制
在DBWR进程工作之前,LGWR进程首 先将重做日志缓冲区内容写入到重做日志文 件,即该时刻的SCN值会被写入重做日志。
Oracle使用的主要内存结构包括系统全局 区SGA和程序全局区PGA。
9
日期
第9页,共79页。
SGA区
日期
10 第10页,共79页。
数据高速缓存
保存最近从数据文件中读取的数据块。分为 脏缓存块、空闲缓存块和命中缓存块三类。
脏缓冲块:当执行INSERT、UPDATE以及 DELETE操作时,服务器进程修改数据高速 缓存的相应数据,此时缓冲区的内容与数据 文件中的内容不一致。
当CKPT进程工作的时候,会将当前时 刻的SCN值写入数据文件和控制文件。
在发出检查点时刻,数据文件、控制文 件和重做日志的SCN值完全一致。
30
日期
第30页,共79页。
系统恢复
当运行Oracle Server时,在访问数据 文件、控制文件和重做日志时,Oracle会定 期检查并比较每种文件的SCN值,确定文件 是否损坏、系统是否出现异常,最终确定系 统是否需要进行恢复。
体系结构
8
第8章 ORACLE 数据库 章
2.模式和模式对象 . 一个模式是对象的集合。模式对象是逻辑结构, 一个模式是对象的集合。模式对象是逻辑结构,它直接涉及数 据库中的数据。模式对象包括表、映象、序列、存储过程、同义词、 据库中的数据。模式对象包括表、映象、序列、存储过程、同义词、 索引等结构。 索引等结构。 表空间和模式之间没有关系, 表空间和模式之间没有关系,同一模式中的对象可以在不同的 表空间,表空间中可以含有来自不同模式的对象。 表空间,表空间中可以含有来自不同模式的对象。
4
第8章 ORACLE 数据库 章
8.2.2 Oracle 实例
每次启动数据库时,系统为其分配一个 每次启动数据库时,系统为其分配一个SGA,并启动 ,并启动Oracle的 的 后台进程。后台进程与SGA的组合称为一个 的组合称为一个Oracle实例。一个实例 实例。 后台进程。后台进程与 的组合称为一个 实例 有两种进程: 有两种进程:用户进程和包含完成用户任务的服务器进程以及担当 Oracle服务器维护任务的后台进程。 服务器维护任务的后台进程。 服务器维护任务的后台进程
11
第8章 ORACLE 数据库 章
8.2.4 Oracle物理结构 物理结构
组成数据库的系统文件决定了一个Oracle数据库的物理结构。 数据库的物理结构。 组成数据库的系统文件决定了一个 数据库的物理结构 每个Oracle数据库由数据文件、日志文件、控制文件、报警文件和 数据库由数据文件、 每个 数据库由数据文件 日志文件、控制文件、 跟踪文件构成。 跟踪文件构成。 1.数据文件 数据文件 每一Oracle数据库都有一个或多个数据文件。数据库中的数据 数据库都有一个或多个数据文件。 每一 数据库都有一个或多个数据文件 被分配给这个数据库的数据文件中。 被分配给这个数据库的数据文件中。 一个数据文件只能与一个数据库关联。 一个数据文件只能与一个数据库关联。一个数据文件可以具有 某些特性,当数据库溢满时允许其自动扩展。 某些特性,当数据库溢满时允许其自动扩展。一个或几个数据文件 组成数据库的逻辑存储单元即表空间。 组成数据库的逻辑存储单元即表空间。
Oracle Database 19c 技术架构(一)
Oracle Database 19c 技术架构(一)Oracle官方文档中给出的Oracle Database 19c技术架构图,可以看出制作者的用心和精心。
不翻译一下真是对不起作者!同时本文可以作为学习Oracle体系结构很好的教材!值得大家收藏!1、数据库服务器(Database Server)一个Oracle数据库至少由一个数据库实例和一个数据库组成。
数据库实例部分处理内存和进程,数据库部分则由称为数据文件的物理文件组成,并且可以是非容器数据库或多租户容器数据库。
Oracle数据库在其运行期间还会使用多个数据库系统文件。
单实例数据库体系结构由一个数据库实例和一个数据库组成。
数据库和数据库实例之间存在一对一的关系。
可以在同一台服务器上安装多个单实例数据库。
每个数据库都有单独的数据库实例。
此配置对于在同一台计算机上运行不同版本的Oracle数据库很有用。
Oracle Real Application Clusters (Oracle RAC) 数据库的体系结构是由在分开的多台服务器计算机上运行的多个实例组成。
它们都共享同一个数据库。
服务器群集在一端表现为单个服务器,而在另一端则为最终用户和应用程序。
此配置旨在实现高可用性,可伸缩性和高端的性能。
监听器是一个数据库服务器进程。
它接收客户端请求,建立与数据库实例的连接,然后将客户端连接移交给服务器进程。
监听器可以在数据库服务器上本地运行,也可以远程运行。
典型的Oracle RAC环境是远程运行的。
2、数据库实例(Database Instance)Oracle数据库还创建服务器进程,以代表客户端程序处理与数据库的连接,并执行客户端程序的工作。
例如,解析和运行SQL语句,以及检索结果并将结果返回给客户端程序。
这些类型的服务器进程也称为前台进程。
注意:更多详细信息,请看如下内容:Oracle Database Instance.3、系统全局区(System Global Area)系统全局区域(SGA) 是包含一个Oracle数据库实例的数据和控制信息的存储区域。
oracle基础
第1章OraCIe 9i基础1.1关系型数据库系统简介111什么是关系型数据关系型数据是以关系数学模型来表示的数据。
关系数学模型中以二维表的形式来描述数据, 如表1.1和表1.2所示。
表Ll研究生信息二维表表1.2导师信息二维表1.1.2什么是关系型数据库L什么是主码(主键)能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码。
2.什么是外码(外键)表1.2的【编号】字段和表1.1的【导师编号】字段是对应的。
表1.2中的【编号】字段是表1.2的主码。
表1.2中的【编号】字段又可以称为是表1.1的外码。
1.1.3什么是关系型数据库系统一个完整的关系型数据库系统包含5层结构,如图U所示。
图1.1关系型数据库系统的层次结构1.硬件硬件指安装数据库系统的计算机,包括两种。
服务器客户机2.操作系统操作系统指安装数据库系统的计算机采用的操作系统。
3.关系型数据库管理系统、数据库关系型数据库是存储在计算机上的、可共享的、有组织的关系型数据的集合。
关系型数据库管理系统是位于操作系统和关系型数据库应用系统之间的数据库管理软件。
4.关系型数据库应用系统关系型数据库应用系统指为满足用户需求,采用各种应用开发工具(如VB、PB和DelPhi 等)和开发技术开发的数据库应用软件。
5.用户6户指与数据库系统打交道的人员,包括如下3类人员。
最终用户数点库应用系统开发员数据库管理员113什么是关系型数据库管理系统1.数据定义语言及翻译程序DDL2.数据操纵语言及编译(解释)程序DML3.数据库管理程序1.2网络关系型数据库的代表OraCIe 9i1.2.1 Oracle 9i数据库1.企业片反(Enterprise Edition)2.标准版(StandardEdition)3.个人版(PerSOnalEdiIiOn)1.2.2 Oracle 9i应用服务器Oracle 9应用服务器有两种版本。
1.企业版(EnterPriSeEdilion)企业版主要用于构建互联网应用,面向企业级应用,,2.标准版(Standard Edition)标准版用于建立面向部门级的Web应用。
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 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数据库逻辑结构2.1.1Oracle系统体系结构话说与其他数据库产品不同,Oracle有其自己独特的系统体系结构。
Oracl e系统体系结构是整个Oracle服务器系统的框架,是管理和应用Oracle数据服务器的基础和核心。
Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例。
其中,实例是维系物理结构和逻辑结构的核心,如图2-1和图2-2所示。
图2-1表明了数据库三级模式及其物理文件之间的关系。
图2-1 数据库模式及其物理文件关系示意图图2-2 Oracle系统体系结构与功能不论是Oracle的应用开发还是数据库管理都是以实例作为切入点的。
只不过Oracle的应用程序开发主要是以数据库的逻辑对象为主(如表、索引和视图等),而数据库管理则是针对数据库的全部内容。
Oracle数据库由构成物理结构的各种文件组成,如数据文件、控制文件和重做日志文件等;实例是Oracle在内存中分配的一段区域SGA和服务器后台进程的集合。
Oracle数据库服务器就是数据库和实例的组合。
2.1.2Oracle逻辑结构Oracle的逻辑结构是一种层次结构。
主要由:表空间、段、区和数据块等概念组成。
逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。
数据库存储层次结构及其构成关系,结构对象也从数据块到表空间形成了不同层次的粒度关系,如图2-3和图2-4所示。
图2-3 Oracle 10g数据库层次结构图图2-4 段、区和数据块之间的关系1.数据块Oracle数据块(Data Block)是一组连续的操作系统块。
分配数据库块大小是在Oracle数据库创建时设置的,数据块是Oracle读写的基本单位。
数据块的大小一般是操作系统块大小的整数倍,这样可以避免不必要的系统I/O操作。
从Oracle9i开始,在同一数据库中不同表空间的数据块大小可以不同。
数据块是O racle最基本的存储单位,而表空间、段、区间则是逻辑组织的构成成员。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
画出Oracle的体系结构图,并解释箭头得到含义,写在纸上。
SGA 是包含实例的数据和控制信息的内存区。
SGA 包含以下数据结构:数据库缓冲区高速缓存:用于缓存从数据库中检索到的数据块,数据库缓冲区高速缓存是SGA 的一部分,用于存放从数据文件读取的数据块的副本。
并行连接到实例的所有用户共享对数据库缓冲区高速缓存的访问。
重做日志缓冲区:用来缓存用于实例恢复的重做信息,直到可以将其写入磁盘中存储的物理重做日志文件。
重做日志缓冲区是SGA 中的循环缓冲区,用于存放有关对数据库所做更改的信息。
此信息存储在重做条目中。
共享池:用于缓存可在用户间共享的各种结构,SGA 的共享池部分包含库高速缓存、数据字典高速缓存、SQL 查询结果高速缓存、PL/SQL 函数结果高速缓存、并行执行消息的
缓冲区以及控制结构。
大型池:为某些大型进程(例如Oracle 备份和恢复操作)和I/O 服务器进程提供大型内存分配的可选区域。
Java 池:用于Java 虚拟机(JVM) 中特定于会话的所有Java 代码和数据
流池:Oracle Streams 使用它来存储捕获和应用操作所需的信息
程序全局区(PGA) 是一个内存区,其中包含每个服务器进程的数据及控制信息
①系统监视进程SMON->系统全局区SGA (System Global Area)恢复实例或者释放空间;
②PMON进程->系统全局区SGA
监视进程,恢复强制挂掉的进程或者释放空间;
③RECO进程->系统全局区SGA
负责在分布式数据库环境中自动恢复那些失败的分布式事务,保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback;
④其他->系统全局区SGA
⑤数据库缓冲区高速缓存(db buffer cache)->数据库写进程(DBWn)
用于存放从数据文件读取的数据块的副本,;缓存数据
⑥数据库写进程(DBWn)->数据文件
缓冲数据写到数据文件;
⑦数据库写进程(DBWn)->重做日志缓冲区(log buffer)
用户进程每次修改内存数据块时,都会在日志缓冲区(redo buffer)中构造一个相应的重做条目(redo entry),该重做条目描述了被修改的数据块在修改之前和修改之后的值;
⑧检查点进程(CKPT) ->数据文件(datefile)
CKPT快速的确定哪些脏数据块已经被写入了数据文件,而哪些还没有写入数据文件,更新数据文件中的数据库状态信息,用来保证数据库中的数据一致性;
⑨.检查点进程(CKPT) ->控制文件(controlfile)
CKPT找出当前检查点队列上的第一个buffer header,并将该buffer header中所记录的LRBA(这个LRBA也就是checkpoint position了)记录到控制文件中,更新控制文件中的数据库状态信息,用来保证数据库中的数据一致性;
CKPT用来协调DBWn和LGWR进程的工作,并更新控制文件和数据文件,来保证数据库中数据的一致性。
10.重做日志缓冲区(log buffer)->日志写进程(LGWR)
用于存放有关对数据库所做更改的信息。
此信息存储在重做条目中。
11.日志写进程(LGWR)->联机重做日志redo log
LGWR进程负责将重做日志缓冲区写入磁盘上的活动重做日志文件(或文件组)中。
12.归档进程(ARCn) ->归档日志文件(archived log)
将redo log文件中的信息,写入归档日志(archived log)中;
13.归档进程(ARCn) ->联机重做日志(redo log)
ARCn对联机重做日志的归档;
14.归档进程(ARCn) ->控制文件(controlfile)
在执行归档的时候会把归档文件的流水号(系统改变号)scn等信息写到控制文件中;
15. 数据文件(datefile)->服务器进程(PGA)
PGA从磁盘数据文件中读取必须的数据块到SGA的数据缓存区;
16.服务器进程(->用户进程
服务器进程负责按照用户的要求检索数据,并将结果返回给用户;此外,还负责为用户修改缓冲区高速缓存中的数据;
17.用户进程->服务器进程
用户进程负责显示用户请求的信息给服务器进程;。