oracle体系结构

合集下载

(参考资料)oracle 体系结构详解

(参考资料)oracle 体系结构详解

oracle 体系结构详解一、体系结构图oracle实例=SGA区+后台进程oracle服务器=oracle实例+oracle数据库数据库实例启动实质上即为:分配SGA区,启动后台进程Oracle 实例1、是访问Oracle 数据库的一种方式2、通常只开一个且仅开一个数据库3、由内存结构和进程结构组成,即SGA区+后台进程连接Oracle实例:包括建立用户连接和创建会话Oracle数据库是作为整体的数据集,由三类文件组成:Data files, Control files, Redo log files二、物理结构主要由三类文件组成:data files ,control files,redo-log files1.data files:数据文件,存放基本表信息(即表中数据等)、索引信息(系统内建有索引表)、回退信息(主要为数据的rollback)、临时信息(如有orderby 等操作时系统有临时信息)、系统引导信息(如数据字典等)2、control files:控制文件(二进制的)。

存放库物理结构、库名、库创建日期、序列号(存有同步信息);控制文件至少有两个一摸一样的,用做备份用参数Controlfiles=/../../文件名1,/../../文件名2;指定3、redo log files:回退日志文件,存放修改前后的信息,主要用于数据的恢复,一个数据库至少有两个redo log files文件,以便可以循环记录信息注:三类文件都有序列号,必须同步才能使用,且已Control files中的序列号为准,其他的必须与其保持一致除了上面三类文件还有:Parameter file(参数文件),Password file(口令文件),Archived log files(归档文件)等参数文件:有二进制、文本两种,用于设定参数的值。

二进制参数文件可以及时更改,即时生效;文本参数文件需重启口令文件:可用orapwd.exe 建口令文件。

Oracle体系结构简介

Oracle体系结构简介

Oracle体系结构简介一、数据库(Database)数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。

Oracle是关系型数据库治理系统(RDBMS)。

二、实例(Instance)数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。

它使一个单独的数据库可以被多个实例访问(也就是ORACLE并行服务器-- OPS)。

实例和数据库的关系如下决定实例的组成及大小的参数存储在init.ora文件中。

三、部结构表、列、数据类型(T able、Column、Datatype)Oracle中是以表的形式存储数据的,它包含若干个列;列是表的属性的描述;列由数据类型和长度组成;Oracle中定义的数据类型主要有CHAR、VARCHAR2、NUMBER、DATE、LONG、LOB、BFILE等,具体的数据类型情况将在本栏目的相关文档中具体介绍。

约束条件(Constraint)表中以及表间可以存在一些数据上的逻辑关系、限制,也就是约束。

Oracle中的约束主要有主键(PK)、外键(FK)、检查(CHECK)、唯一性(UNIQUE)等几种;拥有约束的表中每条数据均必须符合约束条件。

抽象数据类型(Abstract Datatype)可以利用CREATE TYPE命令创建自定义的抽象数据类型。

分区(Partition)可以利用分区将大表分隔成若干个小的存储单元,逻辑上仍然是一个完整的独立单一实体,以减小访问时数据的查找量,提高访问、存储效率用户(User)用户不是一个物理结构,但是它与数据库的对象拥有非常重要的关系--用户拥有数据库对象,以及对象的使用权。

模式(Schema)用户拥有的对象集合称为模式。

索引(Index)数据库中每行记录的物理位置并不重要,Oracle为每条记录用一个ROWID来标识,ROWID记录了记录的准确位置。

索引是供用户快速查找到记录的数据库结构。

oracle体系结构总结.

oracle体系结构总结.

oracle体系结构总结.传统上Oracle体系结构由内存结构、进程结构、存储结构组成。

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

通过数据库的启动过程和一条sql的执行过程可以将oracle的内存结构、进程结构、存储结构串起来。

一、内存结构(1)SGA(System Global Area):一个包含实例数据和控制信息的共享内存区域(2)PGA(Program Global Area):一个包含服务器进程和后台进程的数据和控制信息的共享内存区域1.1系统全局区SGA系统全局区,是DB Server 中实例的必要组成部分,由很多小内存区共同构成,各个小内存区存放不同的信息,系统全局区用于暂存可以被所有进程(包括server process 以及background process)共享的信息,对系统的运行性能有好处,SGA 在实例启动的时候自动分配,实例关闭时自动释放。

SGA 暂存系统的大量共享数据,对系统有相当的性能影响,所以需要为SGA 选择适当的管理方式,根据所使用的数据库版本不同,SGA 的管理有三种方式:1)8i:SGA 的大小由所有内存组件大小之和决定,不能直接定义 SGA 大小,对内存组件的大小可后台进行修改,但只能通过直接修改参数文件的内存参数大小,而且修改完数据库必须重起后才能生效,所以这种内存管理方法叫做 SGA 的静态管理。

2)9i:SGA 的大小由初始化参数SGA_MAX_SIZ E 确定,各个内存组件大小之和不能超过这个参数。

可以直接通过命令进行修改内存组件大小而不用重启,这种叫做 SGA 的动态管理3)10g:SGA 大小既可以像 9i 一人样动态管理,也可以实施 SGA 的自动管理,默认是SGA 的自动管理,启用SGA 自动管理只需要设置初始化参数 SGA_TARGET 即可,各个组件大小之和不超过 SGA _TARGET 。

第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数据库体系结构一.Oracle数据库体系结构1.实例:一组用于管理数据库文件的内存结构,实例对应着数据库;RAC/CDB CDB:CDB为数据库容器,PDB插拔数据库。

在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC),即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。

而实例与数据库不可能是一对多的关系。

当进入ORACLE 12C后,实例与数据库可以是一对多的关系。

RAC:允许多个Oracle数据库实例在多台服务器上共享同一个数据库存储空间,并通过集群来保证高可用性和容错性。

简单来说,RAC就是将多个数据库实例连接起来,形成一个“集群”。

2.ShardingSphere:中间件,不同的数据库对应不同的实例,中间有一个中间件,使用者连接中间件;数据库中间件可以简化对读写分离以及分库分表的操作,并隐藏底层实现细节,可以像操作单库单表那样操作多库多表。

常见的中间件有MyCat,Mysql-Proxy,DRDS,Atlas,Zebra二.Orcal数据库体系结构:Orcal服务器=数据库+实例1.实例是暂时的,它只不过是一组逻辑划分的内存结构和进程结构,它会随着数据的关闭而消失数据库它就是一堆物理文件(控制文件、数据文件、日志文件等等)它呢是永久存在的数据库和实例是一对一的,这种结构我们一般称为单实例体系结构;既然有一对一,那就会有一对多,在复杂的分布式结构中,一个数据库可以对多个实例,多个实例之间可以通过网络来进行数据的一个交互或着交换2.PGA:程序全局区,为单独的服务器进程存储私有数据的内存区域(SAG属于公共资源,PAG是私有的)3.SGA:系统全局区,所有用户都可以访问的共享内存区域启动Oracle数据库时,系统先在内存内规划一个固定区域,用来储存用户需要的数据,以及Oracle运行时必备的系统信息4.后台进程结构,此处只罗列必须启动的5个后台进程系统监控器SMON:负载检查数据库一致性,有必要会在数据库打开时启动数据库恢复进程监视器PMON:负责一个Orcal数据库进程失败时清理资源,会定期唤醒或者被其他主动事务主动唤醒数据库写进程DBWR:负责将更改的数据从“数据库高速缓冲区”写入“数据文件”日志写进程LGWR:负载把日志数据写到练级日志文件检查点进程SKPT:负责检查点操作,主要检查数据库状态一致性和记录系统变更时间5.三个文件1)控制文件:存储数据库结构,一个控制文件只属于一个数据库,包含数据文件日志文件信息及相关状态归档信息,2)数据文件:存储数据,xxx.dbf文件存储着系统数据,数据字典数据,索引数据及用户存储的数据3)日志文件:存储与事务有关的重做日志三.逻辑存储结构1.块是Oracle用来管理存储的最小单元,也是最小的逻辑存储结构2.区是Oracle数据库分配空间的最小单位3.段由多个区组成,这些区可以是连续的,也可以是不连续的4.表空间是Oracle数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象。

第2讲_Oracle的体系结构

第2讲_Oracle的体系结构

Page 9
2.2.3 控制文件(.ctl)
控制文件(control files)是一个较小的二进制文件,在Oracle服务器在启 动期间用来标识物理文件和数据库物理结构。 创建数据库时,创建控制文件。数据库的启动和正常运行都离不开控制文 件。启动数据库时,Oracle从初始化参数文件中获得控制文件的名字及位 置,打开控制文件,然后从控制文件中读取数据文件和联机日志文件的信 息,最后打开数据库。数据库运行时,Oracle会修改控制文件。 三个控制文件内容一样,镜像关系。
– 将执行结果返回用户
2.5.3 后台进程
为所有数据库用户异步完成各种任务
Page 21
服务器进程
后台进程
用户进程
Page 22
2.5.3.1 DBWR进程
数据库写进程。该进程执行将缓冲区写入数据文件,是负责缓冲存储区管 理的一个ORACLE后台进程。 当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是 将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。
实例
用户进程 共享缓冲区 库缓冲区 服务器进程 PGA 数据字典
SGA
数据缓冲区 日志缓冲区 大池
Java池
PMON SMON DBWR LGWR CKPT Others
参数文件 口令文件
数据文件
控制文件
重做日 志文件
归档日志文件
数据库
Page 3
数据库和实例
数据库(Database)及实例(Instance) 数据库:物理操作系统文件或磁盘(disk)的集合。 实例:数据库启动时,系统首先在服务器内存中分配系统全局区 (SGA),构成了Oracle的内存结构,然后启动若干个常驻内存 的操作系统进程,即组成了Oracle的进程结构,内存区域和后台 进程合称为一个Oracle实例。

简述oracle体系结构

简述oracle体系结构
Oracle体系结构
Oracle是一种支持分布式数据库管理系统,其体系结构主要包
括E-R图,表和索引,存储过程和视图, SQL,PL/SQL程序和组件,等等。

1. E-R图
E-R图是一种关系数据库管理系统的基本模型,其中实体表示客观事物,关系表示实体之间的联系。

E-R图可以被用来描述实体和它们之间的关系,以及实体的属性和它们之间的关系。

2.表和索引
表是由一系列列组成的逻辑结构,它们包含每行和每列的数据。

索引是一种特别的表,可以被用来提高表的搜索速度和性能。

3.存储过程和视图
存储过程是一种特定类型的程序,它们可以被用来完成某些操作,比如查询和更新。

视图是一种准备好的查询,它们可以被用来返回数据库中的数据。

4.SQL,PL/SQL程序和组件
SQL(Structured Query Language)是一种用于在数据库中执行查询和更新操作的语言,是一种面向关系型数据库的核心语言。

PL/SQL是一种可以嵌入SQL语句的程序设计语言,用来定义复杂的
查询,更新和实现回调函数。

组件是一种模块化的程序,用来构建更复杂的系统。

Oracle数据库体系结构

(1)PFILE
在Oracle 9i之前,初始化参数都是以文本格式存放 的。在Windows平台上,建议将PFILE文件存放在 %ORACEL_HOME%\database目录中,文件名为 initSID.ora,其中SID为实例名。
(2)SPFILE
SPFILE是以二进制格式存放的。在Window 平台上,Oracle建议将SPFILE存放在 %ORACLE_HOME%\dbs 目录中。文件名为sp。
2.4.2 段
• 段是用户建立的数据库对象(如:表,索引, 簇等)的存储表示。它是有一个或多个区组 成的。
• 当建立表、索引、簇时,Oracle会为这些对 象分配段,以存放它们的数据信息,并且段 名与对象名完全相同。
• 用户建立的每一个表都会有一个在表空间中 存储的逻辑段。为用户所建立的对象生成的 段都要在磁盘上占用空间。
• 日志文件主要用于数据库恢复。
• 查看重做日志文件
SQL> select member from v$logfile;
MEMBER -------------------------------------------------E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
db_block_size 指定标准oracle块的尺寸
db_cache_size 指定标准数据高速缓存的尺寸
share_pool_size 指定共享池的尺寸
常用初始化参数(一)
参数名 log_buffer sga_max_size java_pool_size large_pool_size

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值,确定文件 是否损坏、系统是否出现异常,最终确定系 统是否需要进行恢复。

第2章 Oracle的体系结构

目录第一章Oracle 11g简介_安装_sqlplus应用............................. 错误!未定义书签。

1.1网格计算: (1)1.2安装 (1)1.3 sqlplus ............................................................................ 错误!未定义书签。

1.3.1 更新内容 (6)1.3.2 sqlplus与sqlplusw操作方面的区别................ 错误!未定义书签。

1.4 DBCA............................................................................. 错误!未定义书签。

2.0数据库的使用层次........................................................ 错误!未定义书签。

第二章Oracle的体系结构数据库的体系结构是从某一个角度来分析与考察数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。

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

2.1实例:实例是由一组Oracle后台进程/线程以及在服务器分配的共享内存区构成。

数据库启动时,系统首先在服务器内存中分配系统全局区(SYSTEM GLOBALAREA,SGA),即构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle进程结构。

内存区域和后台进程合称为一个Oracle实例(Instance)。

内存(SGA),内存提供了处理的场所;后台进程,而后台进程相当于工具。

用户连接数据库时,实际上是连接到实例,然后由实例负责与数据库通信,再将处理结果返回给用户。

2.1.1SGA的构成系统全局区SGA是由一组内存结构组成,它是由所有用户进程共享的一块内存区域。

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

第1章Oracle的体系结构这一章的内容是比较枯燥的,但它是理解以后章节的基础。

如果有读者在开始时有些内容没有完全理解也不用太着急,可以继续学习后面的内容,等使用了一段时间Oracle系统之后,一些概念就变得容易理解了。

1.1 Oracle引入复杂的体系结构的原因数据库管理系统引入非常复杂的内存和外存体系结构的主要原因是有效地管理稀有的系统资源。

资源不足不只是数据库管理系统所面对的。

其实,在我们五千年的人类发展历史中,我们的祖先们一直在同资源不足作斗争。

历史上粮食和土地等一直都是稀有资源,还记得我们的祖先们用什么方法来管理这些稀有资源的吗?用战争,我们的先民们为粮食而战,为土地而战;我们当代人类为石油而战,为市场而战,为金钱而战。

那么在Oracle数据库中什么是稀有资源?它们又是如何来管理的呢?如果读者接触过数据库或读过相关的书,应该还有印象,数据库的数据量和输入/输出量都是相当大的,而这些数据一般都存在硬盘(外存)上,因此硬盘为数据库的一类资源。

为了方便介绍,图1-1给出了硬盘的内部结构示意图。

旋转轴磁头移动臂硬盘面磁头图 1-1从图1-1可以看出,所有硬盘上数据的访问都是靠硬盘的旋11 / 56转和磁头的移动来完成的,这种旋转和移动是机械运动。

因为在计算机中所有数据的修改操作必须在内存中进行,所以内存也是数据库的一类资源。

表1-1给出内存和外存的简单比较以帮助读者理解本书的内容。

表 1-1从表1-1的比较可知,内存的数据访问速度要比外存(硬盘)快得多。

这是因为内存的数据访问是电子速度,而硬盘的数据访问主要取决于机械速度。

也就是说,如果一个数据库管理系统能够使绝大多数(如90%以上)数据操作在内存中完成,那么这一数据库管理系统的效率将非常高。

但是由于内存中的数据在断电或出现系统故障时会消失,所以数据库管理系统还必须保证,所有的数据改动都必须及时写到硬盘上,以保障不会丢失数据;即使数据库崩溃之后,所有提交过的数据都能得到完全恢复。

尽管可以通过加大内存来提高数据库管理系统的效率,但在大多数情况下信息系统的开发和维护经费都是有限的。

通过以上的讨论,读者应该意识到,在数据库管理系统中最宝贵的稀有资源是内存。

为了高效地使用内存这种稀有资源,同时保证不会丢失任何数据库中的数据,Oracle数据库管理系统引入了一个非常复杂的体系结构。

1.2 Oracle数据库中常用的术语为了讲解容易,在详细讨论Oracle体系结构之前,先介绍一下相关的名词和术语。

在这里只给出实用的解释,并不追求学术上的严谨。

13 / 56●进程(process):一段在内存中正在运行的程序。

如果没有学过计算机操作系统相关课程,可以把进程想象成能够自动完成某些特定任务的任何东西,如训练有素的狗狗、跑龙套的等。

●后台进程(background process):进程的一种,在内存中运行时,不占显示,而且它的优先级比前台进程低。

可以只有一个前台进程,但可以有多个后台进程。

●缓冲区(buffer):一段用来临时存储数据的内存区。

●主机(host):计算机系统的另一个称呼。

●服务器(server):一台在网络中向其他计算机系统提供一项或多项服务的主机。

●客户机(client):一台使用由服务器(server)15 / 56提供服务的计算机系统。

1.3 Oracle 数据库管理系统的体系结构为了能使Oracle 数据库管理系统满足商业用户的要求,Oracle 引入了如图1-2所示的复杂的体系结构。

user processsever processinstance SGA DB bufferscache redo log buffersshared poollibrary cachedictionary cache SMON PMON CKPT DBWR LGWR ARC0data base二 进 制 文 件 二进制 二 进 制二 进 制 二 进 制 二 进 制 二 进 制 二 进 制 二 进 制 二 进 制 二 进 制 二 进 制 二进制parameter password 正文文件 二进制文件 control files redo log files data filesarchived log files 图 1-2以上这个复杂的体系结构主要包括Oracle服务器(server)(而服务器又是由Oracle实例(instance)和Oracle数据库(database)组成),还包括一些其他的关键文件、用户进程和服务器进程等。

Oracle服务器(server)由Oracle实例(instance)和Oracle数据库(database)两大部分组成。

它是一个数据库管理系统,提供了一致、开放和多样的信息管理的方法和途径。

服务器中的一些结构并不在处理SQL语句时使用,它们是为了改进数据库系统的效率或数据的恢复等而设计的。

1.4 Oracle服务器(server)Oracle服务器(server)可以有以下3种安装方式。

(1)基于主机方式:在此种配置下,用户直接在安装了数据库的计算机上登录Oracle数据库。

(2)客户端-服务器(client-server)(两层模型)方式:数据库和客户终端分别安装在不同的计算机上,用户通过网络从个人计算机(客户端)上访问数据库。

(3)客户端-应用服务器-服务器(client- application server-server)(三层模型):用户首先从自己的个人计算机登录应用服务器,再通过应用服务器访问真正的数据库。

1.5 Oracle实例(instance)Oracle实例(instance)是一种访问数据库的机制,它是由内存结构(SGA)和一些后台进程(5个进程)组成的。

它的内存结构也称为系统全局区(system global area,SGA)。

系统全局区是实例的最基本的部件之一。

实例的后台进程中有5个是必需的,即这5个后台进程中的任何一个没有启动,实例将自动关闭。

这5个后台进程分别是SMON、PMON、DBWR、LGWR 和CKPT。

在OCP考题中有时可能会问哪些后台进程是可选的?除了这5个都是可选的。

实例一启动就分配系统全局区和启动所需的后台进程。

这里应该指出的是,每个实例只能操作一个数据库,而且它不可以操作其他的数据库。

但是反过来是不成立的,因为一个数据库可以同时被几个实例操作(在Oracle集群中)。

系统全局区(SGA)中包含了以下几个内存结构:共享池17 / 56(shared pool)、数据库高速缓冲区(database buffer cache)、重做日志缓冲区(redo log buffer)和其他的一些结构(如锁和统计数据)等。

1.6 Oracle数据库Oracle数据库是数据的一个集合,Oracle把这些数据作为一个完整的单位来处理。

Oracle数据库也叫做物理(外存)结构,它为数据库信息提供了真正的物理存储,它是由以下3类操作系统文件组成的。

(1)控制文件(control files):包含了维护和校验数据库一致性所需的信息。

(2)重做日志文件(redo log files):包含了当系统崩溃后进行恢复所需记录的变化信息。

(3)数据文件(data files):包含了数据库中真正的数据。

1.7 Oracle其他的关键文件除了以上3类数据库文件之外,Oracle服务还需要其他的一些文件,这些文件不属于数据库。

其中包括:初始化参数文件(parameter files):定义了实例的特性,如系统全局区中一些内存结构的大小、DBWR 的个数。

●密码文件(password files):包含了数据库管理员或操作员用户在启动和关闭实例时所需的密码。

虽然Oracle数据库提供了相当完善的安全管理机制,但是在Oracle数据库没有开启时如何验证要启动数据库的人是真正的数据库管理员或操作员呢?这就是Oracle引入密码文件的原因。

●归档重做日志文件(archived redo log files):是重做日志文件的脱机备份。

在系统崩溃后进行恢复时可能需要这些文件。

1.8 建立与Oracle实例的连接Oracle实例(instance)是用Oracle的STARTUP命令启动19 / 56的(该命令将在后面的章节中详细介绍)。

它的启动就意味着SGA的所有内存结构都已生成,所有必需的后台进程都已在内存中运行。

那么此时用户又是如何使用Oracle数据库呢?用户在向Oracle数据库发出SQL命令之前必须与实例(instance)建立连接。

用户启动一个工具如SQL*Plus,或运行一个利用Oracle工具开发的应用程序,如用Oracle Forms 开发的应用程序时,这个工具或应用程序就被作为一个用户进程来执行。

用户进程是不能直接访问数据库的。

在专用连接的情况下(也是默认),当一个用户登录Oracle 服务器时(如在SQL*Plus的提示下输入用户名和密码),如果登录成功(即用户名和密码都准确无误),Oracle就在服务器所运行的计算机上创建一个服务器进程。

在这种连接下,该服务器进程只能为这个用户进程提供服务。

用户进程与服务器进程是一对一的关系。

用户进程向服务器进程发请求,服务器进程对数据库进行实际的操作并把所得的结果返回给用户进程。

就好像一个大富豪想炒股票,但又不懂股票市场的运作,于是他请了一位股票经纪人。

这位富豪就相当于用户进程,而股票经纪人就相当于服务器进程,股票市场就相当于Oracle数据库。

一个用户每次登录Oracle服务器,如果成功,该用户就与Oracle服务器建立了连接,而这种连接又叫做会话。

一个会话始于用户成功地登录Oracle服务器,终止于用户退出或非正常终止连接。

一个数据库用户可能同时有多个会话存在,即用相同的用户名和密码同时登录多次。

1.9 各种不同的连接方式连接是用户进程与Oracle服务器之间的通信路径。

与Oracle服务器(server)的3种安装方式相对应,一个数据库21 / 56。

相关文档
最新文档