大型数据库管理系统 Oracle 体系结构
0 前言
目前,工程中常用数据库管理系统主要集中Oracle 、SQL server 、mySQL 等,其中Oracle 是大型关系型数据库管理系统,相对于其它DBMS 而言Oracle 主要有以下突出的特点:
(1)支持大数据库、多用户的高性能的事务处理。
(2)Oracle 遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。
(3)实施安全性控制和完整性控制。
(4)支持分布式数据库和分布处理。
(5)具有可移植性、可兼容性和可连接性。
因此Oracle 已成为b/s架构中底层dbms 首选。
要了解Oracle 的体系结构必须了解数据库的内部结构,也就是Oracle 数据库的存储结构,包括数据的逻辑存储结构和物理存储结构。逻辑存储结构指数据概念上的组织,如数据库或表;物理存储结构是数据库实际的数据存储单元,如文件和数据块。 1 oracle物理存储结构
1.1 数据文件(data file)
Oracle 数据库的每个表空间包括一个或多个数据文件。 Oracle 数据库中所有的数据信息都存放在数据文件中,数据文件是存储在文件系统中实际的物理文件。数据文件用来存储数据库中的全部数据,如存储数据库表中的数据和索引数据。通常为后缀名为.dbf 格式的文件。
数据文件可以存放两种类型的数据。用户数据: 用户应用系统的数据。 系统数据: 管理用户数据和Oracle 系统本身的数据。 用户建立的表名,列名,这些数据自动被存放在系统表空间对应的system01.dbf; Oracle 系统内部的数据字典、表如DBA_USERS、DBA_DATA_FILES等存放的数据属于Oracle 系统内部的数据- 存放在系统表空间对应的system01.dbf 。
查询当前数据库的所有的表空间及其对应的数据文件。
Select file_name,tablespace,bytes from dba_data_files;
需要注意的是:
• 一个数据文件只能属于一个表空间。
• 数据文件创建后可改变大小。
• 创建新的表空间需创建新的数据文件。
• 数据文件一旦加入到表空间,就不能从表空间移走,也不能和其他表空间发生联系。
图1 数据库、表空间和数据文件之间的关系
1.2 日志文件(redo log file)
日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改)及由Oracle 内部行为而引起的数据库变化信息。目的:记录数据的改变,提供数据库的恢复。一个oracle 数据库至少需要两组重做日志文件。日志按照有序循环的方式被使用。即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。当所有日志文件都被写满后,就回到第一个日志文件。日志切换。
根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG (归档日志)或NOARCHIVELOG (非归档日志)模式。归档文件的后缀为ARC 。ARCHIVELOG 模式: 采用生成归档日志的模式;NOARCHIVELOG 模式: 不生成归档日志。
查询日志信息通过数据字典v$logfile,语句为Select member from v$logfile;查询数据库是否为归档模式通过数据字典v$database语句为Select dbid,name,log_mode from v$database;
1.3 控制文件(control file )
Oracle 数据库系统在运行前要首先转到控制文件。以检查数据库是否良好。每个Oracle 数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。控制文件名字通常为Ctr*.ctl格式
控制文件中的内容只能够由Oracle 本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。
控制文件用以记录与描述数据库的外部结构。主要包括:
① Oracle 10g数据库名称与建立时间。
② 数据文件与重做日志文件名称及其所在位置。
③ 日志记录序列码(log sequence number)。
可以通过数据字典v$controlfile查找控制文件信息。
1.4 配置文件
配置文件是一个ASCII 文本文件,记录Oracle 数据库运行时的一些重要参数。名字通常为*.ora格式。如SPfile.ora 文件, 数据库实例初始化文件initSID.ora, listener.ora 文件, sqlnet.ora 文件, tnsnames.ora文件。
2 Oracle物理结构和逻辑结构之间的关系
图2 逻辑结构和物理结构对应关系
需要注意的是:表空间和数据文件是物理存储上的一对多的关系。表空间和段是逻辑存储上的一对多的关系。段不直接和数据文件发生关系。一个段可以属于多个数据文件。 3 小结
一个Oracle 数据库可以有多个实例,但是一个实例却不可能对应多个数据库,在一般的情况下,我们都是用的单节点数据库,即一个实例仅仅对应一个数据库。论述了ORACLE 体系结构中的两个核心内容物理存储结构和逻辑存储结构以及它们之间的关系。Oracle 体系结构中还包括ORACLE 实例的组成,主要由内存SGA 和后台进程组成。
参考文献
[1]赵慧勤, 李秀兰.OR AC LE 数据库应用系统的优化策略. 计算机工程与应用.2003,(27):p213-215.
[2]吕华, 杜忠军. 数据库性能优化. 计算机应用.2003,23(5l):172一174.
大型数据库管理系统 Oracle 体系结构
0 前言
目前,工程中常用数据库管理系统主要集中Oracle 、SQL server 、mySQL 等,其中Oracle 是大型关系型数据库管理系统,相对于其它DBMS 而言Oracle 主要有以下突出的特点:
(1)支持大数据库、多用户的高性能的事务处理。
(2)Oracle 遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准。
(3)实施安全性控制和完整性控制。
(4)支持分布式数据库和分布处理。
(5)具有可移植性、可兼容性和可连接性。
因此Oracle 已成为b/s架构中底层dbms 首选。
要了解Oracle 的体系结构必须了解数据库的内部结构,也就是Oracle 数据库的存储结构,包括数据的逻辑存储结构和物理存储结构。逻辑存储结构指数据概念上的组织,如数据库或表;物理存储结构是数据库实际的数据存储单元,如文件和数据块。 1 oracle物理存储结构
1.1 数据文件(data file)
Oracle 数据库的每个表空间包括一个或多个数据文件。 Oracle 数据库中所有的数据信息都存放在数据文件中,数据文件是存储在文件系统中实际的物理文件。数据文件用来存储数据库中的全部数据,如存储数据库表中的数据和索引数据。通常为后缀名为.dbf 格式的文件。
数据文件可以存放两种类型的数据。用户数据: 用户应用系统的数据。 系统数据: 管理用户数据和Oracle 系统本身的数据。 用户建立的表名,列名,这些数据自动被存放在系统表空间对应的system01.dbf; Oracle 系统内部的数据字典、表如DBA_USERS、DBA_DATA_FILES等存放的数据属于Oracle 系统内部的数据- 存放在系统表空间对应的system01.dbf 。
查询当前数据库的所有的表空间及其对应的数据文件。
Select file_name,tablespace,bytes from dba_data_files;
需要注意的是:
• 一个数据文件只能属于一个表空间。
• 数据文件创建后可改变大小。
• 创建新的表空间需创建新的数据文件。
• 数据文件一旦加入到表空间,就不能从表空间移走,也不能和其他表空间发生联系。
图1 数据库、表空间和数据文件之间的关系
1.2 日志文件(redo log file)
日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改)及由Oracle 内部行为而引起的数据库变化信息。目的:记录数据的改变,提供数据库的恢复。一个oracle 数据库至少需要两组重做日志文件。日志按照有序循环的方式被使用。即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。当所有日志文件都被写满后,就回到第一个日志文件。日志切换。
根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG (归档日志)或NOARCHIVELOG (非归档日志)模式。归档文件的后缀为ARC 。ARCHIVELOG 模式: 采用生成归档日志的模式;NOARCHIVELOG 模式: 不生成归档日志。
查询日志信息通过数据字典v$logfile,语句为Select member from v$logfile;查询数据库是否为归档模式通过数据字典v$database语句为Select dbid,name,log_mode from v$database;
1.3 控制文件(control file )
Oracle 数据库系统在运行前要首先转到控制文件。以检查数据库是否良好。每个Oracle 数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。控制文件名字通常为Ctr*.ctl格式
控制文件中的内容只能够由Oracle 本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。
控制文件用以记录与描述数据库的外部结构。主要包括:
① Oracle 10g数据库名称与建立时间。
② 数据文件与重做日志文件名称及其所在位置。
③ 日志记录序列码(log sequence number)。
可以通过数据字典v$controlfile查找控制文件信息。
1.4 配置文件
配置文件是一个ASCII 文本文件,记录Oracle 数据库运行时的一些重要参数。名字通常为*.ora格式。如SPfile.ora 文件, 数据库实例初始化文件initSID.ora, listener.ora 文件, sqlnet.ora 文件, tnsnames.ora文件。
2 Oracle物理结构和逻辑结构之间的关系
图2 逻辑结构和物理结构对应关系
需要注意的是:表空间和数据文件是物理存储上的一对多的关系。表空间和段是逻辑存储上的一对多的关系。段不直接和数据文件发生关系。一个段可以属于多个数据文件。 3 小结
一个Oracle 数据库可以有多个实例,但是一个实例却不可能对应多个数据库,在一般的情况下,我们都是用的单节点数据库,即一个实例仅仅对应一个数据库。论述了ORACLE 体系结构中的两个核心内容物理存储结构和逻辑存储结构以及它们之间的关系。Oracle 体系结构中还包括ORACLE 实例的组成,主要由内存SGA 和后台进程组成。
参考文献
[1]赵慧勤, 李秀兰.OR AC LE 数据库应用系统的优化策略. 计算机工程与应用.2003,(27):p213-215.
[2]吕华, 杜忠军. 数据库性能优化. 计算机应用.2003,23(5l):172一174.