当前位置:文档之家› 完整的Oracle数据库通常由两部分组成

完整的Oracle数据库通常由两部分组成

完整的Oracle数据库通常由两部分组成:实例和数据库。

1、数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);Oracle数据库由操作系统文件组成,这些文件也称为数据库文件,为数据库信息提供实际物理存储区。

Oracle数据库包括逻辑结构和物理结构。

数据库的物理结构包含数据库中的一组操作系统文件。

数据库的逻辑结构是指数据库创建之后形成的逻辑概念之间的关系,如表、视图、索引等对象。

2、实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。

Oracle实例是后台进程和内存结构的集合。

必须启动实例才能访问数据库中的数据。

Oracle 实例启动时,将分配一个系统全局区(SGA)并启动一系列Oracle后台进程。

每一个后台进程在数据库中执行不同的任务。

一个实例只能打开并使用一个数据库。

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

Oracle有一个很大的内存快,成为全局区(SGA)。

Oracle数据库的存储结构分为逻辑存储结构和物理存储结构:
逻辑存储结构:用于描述Oracle内部组织和管理数据的方式;
物理存储结构:用于描述Oracle外部即操作系统中组织和管理数据的方式。

会话:λ
会话是用户与Oracle服务器的单个连接。

当用户与服务器建立连接时创建会话。

当用户与服务器断开连接时关闭会话。

当一个数据库用户同时用多个不同的应用程序或从多个终端连接数据库时,则为该用户创建多个并行会话。

Oracle实例内存结构:λ
Oracle的内存结构包含以下两个内存区:
υ系统全局区:(SGA):实例启动时分配该内存区。

Oracle实例的SGA(System Global Area)又称为共享全局区,它用来存储数据库信息,并由多个数据库进程共享。

当数据库实例启动时,SGA的内存被自动分配。

SGA是数据库中占用服务器内存最大的一个区域,同时也是影响数据库性能的一个重要指标。

SGA按其作用不同,可以分为共享池、数据缓冲区及日志缓冲区。

共享池λ
共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
共享池由库缓存和数据字典缓存组成。

共享池的大小直接影响数据库的性能。

数据缓冲区λ
用于存储从磁盘数据文件中读入的数据,所有用户共享。

服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中
找到,不需要再从磁盘读取,提高了读取速度。

数据缓冲区的大小对数据库的读取速度有直接的影响。

日志缓冲区λ
日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。

当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。

相对来说,日志缓冲区对数据库的性能影响较小。

υ程序全局区:(PGA):服务器进程启动时分配该内存区。

程序全局区PGA(Program Global Area)包含单个服务器进程或单个后台进程所需的数据和控制信息。

PGA是在用户进程连接到数据库并创建一个会话时自动分配的,该区内保留每个与Oracle数据库连接的用户进程所需的内存。

PGA为非共享区,只能单个进程使用,当一个用户会话结束后,PGA释放。

Oracle实例进程结构:λ
用户进程:υ
用户进程是一个需要与Oracle服务器进行交互的程序。

此进程在数据库用户请求连接Oracle 服务器时启动。

如用户启动数据库客户端工具SQL *Plus时,系统自动建立一个用户进程。

服务器进程:υ
服务器进程用于处理连接到该实例的用户进程的请求。

此进程在用户建立会话并连接Oracle 实例时启动。

服务器进程直接与Oracle数据库交互,实现调用和返回结果。

后台进程:υ
在Oracle数据库中,为了使系统性能最好和协调多个用户,实例系统中使用一些附加进程,称为后台进程。

这些后台进程存在于服务器操作系统中,在实例启动时自动启动。

常用的几个后台进程如下所示:
进程监控:(PMON)"
在用户进程出现故障时执行进程恢复。

(常见任务见书7)
"系统监控:(SMON)
在实例启动时执行实例恢复。

(常见任务见书7)
数据写入进程:(DBWR)"
将所有修改后的缓冲区数据写入数据文件。

(常见任务见书8)
日志写入进程:(LGWR)"
将日志缓冲区中的日志数据信息写入日志文件中。

检查点:(CKPT)"
保证所有修改过的数据库缓冲区数据都被写入数据库文件中。

归档进程:(ARCH)"
当数据库运行在归档模式下时,产生该进程,用于写归档日志文件。

1.2.3 ORACLE的物理组件
数据库的物理组件是指从物理角度分析数据库的组成,也就是Oracle数据库创建后使用的
操作系统物理文件。

Oracle数据库的物理文件可分为三类,即数据文件、日志文件和控制文件。

数据文件:(SYSTEM01.DBF/SYSTEM01.ORA)"
数据文件(Data Files)用于存储数据库数据的文件。

如表、索引等数据都是存储在数据文件中。

每个Oracle数据库有一个或多个物理数据文件。

一个数据文件只能与一个数据库关联。

日志文件:(REDO01.LOG)"
日志文件(Redo Log Files)用于记录对数据库所进行的修改。

日志文件主要用于在数据库出现故障时实施数据库恢复。

控制文件:(CONTROL01.CTL)"
控制文件(Control Files)用于记录数据库物理结构的二进制文件。

该文件包含维护和验证数据库完整性的必要信息。

1.2.4 ORACLE的逻辑组件
数据库的逻辑组件是从逻辑的角度分析数据库的组成。

Oracle对于逻辑结构的描述是通过数据字典存储完成的。

Oracle数据库的逻辑组件包括
表空间、段、区、块和用户模式等。

表空间(TABLESPACE):"
表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数据库至少包含一个表空间。

每个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。

在每一个数据库中都有一个名为SYSTEM的表空间,即系统表空间,该表空间是在创建数据库或数据库安装时自动创建的,用于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。

创建表空间的语法如下:
扩展数据文件的语法如下:
段(SEGMENT):"
一个表空间包含一个或多个段。

段是一种指定类型的逻辑存储结构一个段由多个区组成。

如常用的4类段结构:
(数据段——索引段——回滚段——临时段)
区(EXTENT):"
区是磁盘空间分配的最小单位。

磁盘按区划分,每次至少分配一个区。

区为段分配空间,它由连续的数据块组成。

一个区由多个数据块组成,块是进行数据读写操作的最小单元。

数据块(DATA BLOCK):"
数据块是数据库中最小的数据组织单位与管理单位,Oracle数据库中的数据存储于数据块中。

数据块的取值范围在2KB~64KB之间。

"模式(SCHEMA):
模式是对用户所创建的数据库对象的总称,在Oracle数据库中任何数据库对象都属于一个
特定用户,一个用户及其所拥有的对象即称为模式。

模式对象包括表、视图、索引、同义词、序列、过程和程序包等。

一个用户与相同名称的模式相关联,所以又称为用户模式。

1.3 登陆到ORACLE
在Oracle产品安装完成后,客户端为了与数据库服务器连接进行数据访问,必须进行网络连接配置,网络配置包括服务器端配置和客户端配置。

相关主题