`
lighter
  • 浏览: 495178 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oracle数据库体系结构小记

阅读更多
现在从事银行软件开发,整天与Oracle数据库接触多一些,慢慢地对这两个方面的内容都一些更深一点点点点的了解,但还是属于菜鸟级别的.不过记录一下自己读过的,看过的,把心得或学习笔记记录下来也是不错的.

1、Oracle数据库
  我们一般说的Oracle数据库,可分为两个部分:
(1)、实例Instance
实例是一个非固定的,基于内存的基本进程与内存结构,当服务器关闭后,实例也就不存在了。
(2)数据库Database
数据库是指固定的,基于磁盘的数据文件和控制文件及日志文件,参数文件,归档日志文件等。一般情况下,安装的Oracle数据库都一个数据库包含一个实例。

2、数据库服务器
一般指的是数据库各软件部件如Sql Plus,EXP/IMP和实例及数据库3个主要部分。
              |数据库软件部分
                            ||                  
                        ||
                        ∨  
数据库服务器 :|实例 (包括后台进程,内存结构SGA)
                        ||                  
                        ||
                        ∨
              |数据库(数据文件,控制文件,日志文件)


3、表空间
   在Oracle数据库系统中,用于存放数据库表,索引,回滚段等对象的逻辑空间叫做表空间。

4、数据文件
   数据文件是用于保存用户应用数据和Oracle系统内部数据的文件。由于Oracle数据库是由表空间组成。每个表空间可以含一个或多个数据
文件。一般来说,可以在创建表空间时创建一个或多个数据文件,也可对已存在的表空间追加新的数据文件。
引用
   数据文件包括系统数据,用户数据。
   注意一下:
   表空间是一个数据库的逻辑区
   每个表空间由一个或多个数据文件组成。
   一个数据文件只能属于一个表空间。


5、存储结构
当我们创建表空间时至少创建一个以上的数据文件,Oracle创建数据文件时实际上是将磁盘的操作系统块重新格式化Oracle数据块,并且每个Oracle数据块都有惟一的标识。一般Oracle数据块操作系统的倍数。
从物理(Physical)上讲,我们可以在Oracle实例上创建多个表空间,每一个表空间由一个或多个数据文件(物理文件)组成;而数据文件由多个操作系统构成。
从逻辑(Logical)上讲,一般我们在设计数据库结构时需要将表,索引中簇存储到一个已存在的表空间上,而表,索引,簇都是占空间的对象,Oracle把占空间的对象统一为段(Segment),而段是由多个区间(Extend)构成,而区间则是由多个连续的Oracle数据块构成。数据块是一个基本的处理单位。也就是说
引用
Oracle实例有多个表空间,一个表空间有一到多个段,一个段有一个到多个区间,一个区间有一个到多个的数据块。


6、临时表空间与临时文件
临时表空间是Oracle用存放与排序有关表的特殊表空间。

7、控制文件
控制文件一个存储有Oracle实例信息,数据文件和日志文件等信息的二进制文件。控制文件一般在Oracle系统安装时自动创建,控制文件所存
放的路径由服务器参数文件SPFILEsid.ora的control_file参数值来确定。可以从数据字典查询控制文件的信息:
select * from v$controlfile;

8、重做日志文件与归档日志文件
这两个日志文件是Oracle系统的主要文件之一,特别是日志文件是Oracle数据库系统工作必需的文件夹.
数据库运行时,用户发出commit命令时,数据库会将每笔的交易信息记录到日志文件中,在写入日志文件成功后才把完成信息传给用户程序,所以在日志文件上可以随时读出信息以恢复某些交易数据。


9、Oracle实例与Oracle数据库的关系,如下图:


参考资料:Oracle 10g简明教程第二章




















分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics