Oracle单实例数据库基础概念

完整的 Oracle 数据库通常由两部分组成: Oracle 数据库实例和数据库。         
1) 数据库是一系列物理文件的集合 ( 数据文件,控制文件,联机日志,参数文件等 );        
2)Oracle 数据库实例则是一组 Oracle 后台进程 / 线程以及在服务器分配的共享内存区。          
  在启动 Oracle 数据库服务器时,实际上是在服务器的内存中创建一个 Oracle 实例 ( 即在 服务器内存中分配共享内存并创建相关的后台内存 ) ,然后由这个 Oracle 数据库实例来访问 和控制磁盘中的数据文件。Oracle 有一个很大的内存快,成为全局区 (SGA) 。          
  
一、数据库、表空间、数据文件          
  1. 数据库          
  数据库是数据集合。 Oracle 是一种数据库管理系统,是一种关系型的数据库管理系统。          
  通常情况了我们称的“数据库” ,并不仅指物理的数据集合,他包含物理数据、数据库 管理系统。也即物理数据、内存、操作系统进程的
  组合体。           
  数据库的数据存储在表中。 数据的关系由列来定义, 即通常我们讲的字段, 每个列都有 一个列名。数据以行 ( 我们通常称为记录 ) 的方式存储在表中。表之间可以相互关联。以上就 是关系模型数据库的一个最简单的描述。 
  当然, Oracle 也是提供对面象对象型的结构数据库的最强大支持, 对象既可以与其它对 象建立关系,也可以包含其它对象。

  关于 OO 型数据库,以后利用专门的篇幅来讨论。一般 情况下我们的讨论都基于关系模型。    

      

  2. 表空间、文件          
  无论关系结构还是 OO 结构, Oracle 数据库都将其数据存储在文件中。数据库结构提供 对数据文件的逻辑映射,允许不同类型的数据分开存储。这些逻辑划分称作表空间。          
  表空间 (tablespace) 是数据库的逻辑划分, 每个数据库至少有一个表空间 ( 称作 SYSTEM 表 空间 ) 。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。 
  例如: USER 表空间供一般用户使用, RBS 表空间供回滚段使用。一个表空间只能属于一个 数据库。 
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件 (datafile) 。
一个 数据文件只能属于一个表空间。在 Oracle7.2 以后,数据文件创建可以改变大小。
创建新的 表空间需要创建新的数据文件。 数据文件一旦加入到表空间中, 就不能从这个表空间中移走, 也不能与其它表空间发生联系。     如果数据库存储在多个表空间中, 可以将它们各自的数据文件存放在不同磁盘上来对其 进行物理分割。 
在规划和协调数据库 I/O 请求的方法中, 上述的数据分割是一种很重要的方 法。   
       
3.Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构:          
1) 逻辑存储结构:用于描述 Oracle 内部组织和管理数据的方式 ;          
2) 物理存储结构:用于描述 Oracle 外部即操作系统中组织和管理数据的方式。          


二、 Oracle 数据库实例           
为了访问数据库中的数据, Oracle 使用一组所有用户共享的后台进程。此外,还有一些 存储结构 ( 统称为 System Gloabl Area, 即 SGA) , 用来存储最近从数据库查询的数据。 
数据块缓 存区和 SQL 共享池 (Shared SQL Pool) 是 SGA 的最大部分,一般占 SGA 内存的 95% 以上。通过 减少对数据文件的 I/O 次数,这些存储区域可以改善数据库的性能。           
Oracle 数据库实例 (instance) 也称作服务器 (server) , 是用来访问数据库文件集的存储结构 及后台进程的集合。一个数据库可以被多个实例访问 ( 这是 Oracle 并行服务器选项 ) 。          
决定实例大小及组成的参数存储在 init.ora 文件中 ( 在 9i 中是 spfile) 。 
Oracle 数据库实例 启动时需要读这个文件, 并且在运行时可以由数据库管理员修改。 对该文件的任何修改都只 有在下一次启动时才启作用。 
实例的 init.ora 文件件通常包含实例的名字 : 如果一个实例名为 orcl,  那么 init.ora 文件通常被命名为 initorcl.ora 。 

另一个配置文件 config.ora 用来存放在数据 库创建后就不再改变的变量值 ( 如数据库的块大小 ) 。实例的 config.ora 文件通常也包含该实 例的名字:如果实例的名字为 orcl ,则 config.ora 一般将被命名为   configorcl.ora 。为了便于 使用 config.ora 文件的设置值,在实例的 init.ora 文件中,该文件必须通过 IFILE 参数作为包 含文件列出。




你可能感兴趣的:(Oracle)