oracle体系结构的两个基本概念:数据库和实例


  要了解oracle体系 构造必须先了解两个 根本的概念: 数据库和实例.

  一: 数据库

  数据库(database)是一个数据 集中.

  无论数据库是采纳关系 构造还是面向对象 构造, oracle数据库都将其数据 存放在数据文件中. 在其内部, 数据库 构造数据对文件的逻辑映射, 使不同的数据 离开存储, 这些逻辑划分称为表空间.

  表空间和文件介绍:

  1: 表空间

  表空间(tablespace)是数据库的逻辑划分, 每个数据库至少有一个表空间,叫做系统表空间(system 表空间). 一个表空间不得不属于一个数据库.

  每个表空间由同一个磁盘上的一个或多个文件组成, 这些文件称为数据文件. 表空间的 特点:

  1)操纵数据库数据磁盘 调配

  2) 制约消费者在表空间中 可以 使用的磁盘空间大小

  3)表空间 存在 online, offline, readonly, readwrite属性

   批改表空间的属性:

  SQL> alter tablespace 表空间名称 属性;

   查问表空间状态:

  SQL> select tablespace_name, status from dba_tablespaces;

   留神: system, undo, temp表空间不能设为offline属性.

  4) 实现 部分数据库的备份与 复原

  5)表空间通过数据文件来 扩充, 表空间的大小等于组成该表空间的所以数据文件的大小只和.

   查问表空间与数据文件对应关系:

  SQL> select tablespace_name, bytes, file_name from dba_data_files;

  基于表空间的几个操作:

  1) 查问消费者缺省表空间:

  SQL> select username, default_tablespace from dba_users;

  2) 查问表与存储该表的表空间:

  SQL> select table_name, tablespace_name from user_tables;

  3) 批改消费者缺省表空间:

  SQL> alter user username default tablespace tablespace_name;

  4)将数据从一个表空间移动到另一个表空间:

  SQL> alter table table_name move tablespace tablespace_name;

  2: 数据文件

  每个表空间由同一个磁盘上的一个或多个文件组成, 这些文件叫做数据文件(datafile),数据文件不得不属于一个表空间. 数据文件 缔造后 可以转变大小. 缔造新的表空间需求 缔造新的数据文件. 数据文件一旦加入到表空间中, 就不能从表空间中移走, 也不能与 其余表空间 产生 联络.数据库必须的三类文件是 data file, control file, redolog file. 其余文件 prameter file,password file, archived log files并不是数据库必须的, 他们只不过辅助数据库的.

  查看数据库的物理文件组成:

  1)查看数据文件: SQL> select * from v$datafile;

  2)查看操纵文件: SQL> select * from v$controlfile;

  3)查看日志文件: SQL> select * from v$logfile;

  二: 实例

  通俗的讲实例便是操作oracle数据库的一种 目的.

  数据库实例也称作服务器, 是用来 拜访数据库文件集的存储 构造及 后盾 历程的 集中.

  一个数据库 可以被多个实例 拜访(称为真正的 利用群集选项).

  决定实例的大小及组成的各种参数或者存储在名称init.ora的初始化文件中, 或者 潜藏在数据库内部的服务器参数文件中. 通过spfile 引用该文件, spfile存储在spfile.ora文件中.

  实例启动时读取初始化文件, 数据库系统治理员 可以 批改该文件, 对初始化文件的 批改惟独在下次启动时才有效.

  Instance分为两 部分:

  1: memory structure(内存 构造)

  memory structure分为两 部分:SGA(System Global Area)区是用于存储数据库信息的内存区,该信息为数据库 历程所共享 。它包括Oracle 服务器的数据和操纵信息,

  它是在Oracle 服务器所驻留的计算机的实际内存中得以 调配,假如实际内存不够再往 虚构内存中写 。

  包括:

  .share pool

  .datafase buffer cache

  .redo log buffer

  .other structures

  PGA(Program Global Area)区包括单个服务器 历程或单个 后盾 历程的数据和操纵信息,与几个 历程共享的SGA 正相反PGA 是只被一个 历程 使用的区域,PGA 在 缔造 历程时 调配在终止 历程时回收

  2: background process( 后盾 历程)

  包括: .PMON 负责在一个Oracle 历程失败时清理资源

  .SMON 审查数据库的 统一性如有必要还会在数据库 打开时启动数据库的 复原

  .DBWR 负责将更改的数据从数据库缓冲区高速缓存写入数据文件

  .LGWR 将重做日志缓冲区中的更改写入在线重做日志文件

  .CKPT 负责在每当缓冲区高速缓存中的更改 永远地记录在数据库中时,更新操纵文件和数据文件中的数据库状态信息 。