oracle数据库物理结构

合集下载

第2章 Oracle数据库的体系结构

第2章 Oracle数据库的体系结构
数据库是存储数据的多个物理文件的集合 ,它 是静态的、永久的。 数据库实例是用户访问数据库的中间层,是使 用数据库的手段,它为用户访问数据库提供了 必要的内存空间和多个Oracle进程,它是动态 的、临时的。
因此,Oracle实例是由内存空间和Oracle 进程两部分组成。
Oracle实例结构图
1.系统全局区SGA
数据缓存区(database buffer cache) :最近 使用过的数据 。 重做日志缓冲区(redo log buffer) :记录了 用户对数据库执行的操作,被循环使用 。 共享池(shared pool) :包含了库缓存区( library cache)、数据字典缓存区(dictionary cache)、并行执行消息缓冲区(buffers for parallel execution messages),以及用于系 统控制的各种内存结构。
数据文件又可以分为以下几种:
系统数据文件 回滚数据文件 临时数据文件 用户数据文件 系统辅助数据文件 示例数据文件
2.1.2 日志文件
日志文件记录了用户对数据库的修改信息( 如增加、删除、修改),名字通常为 REDO*.LOG格式。
日志文件也叫重做日志文件或重演日志文件 (Redo Log Files)。 日志组是日志文件的逻辑组织单元,每个日志 组中有一个或多个日志文件。 同一个日志组中的多个日志文件具有相同的信 息,它们是镜相关系
用户进程和服务进程之间的对应关系是由 Oracle数据库的工作模式决定的。数据库通 常有两种工作模式:
专用服务器模式 共享服务器模式
3.后台进程(background process)
Oracle实例启动时,为了保证该实例的正常使 用,系统将为该实例启动一些后台进程。 这些进程是操作数据库的基础,不管有没有用 户连接数据库,这些进程都会被启动。

oracle 数据库物理结构

oracle 数据库物理结构
数据文件是用于存储数据库数据的物理文件,它 由若干个操作系统文件组成,在数据文件中存储 着用户数据(表、索引等)、数据字典以及回滚段 数据等。
数据文件和表空间有着密切的关系,Oracle 数据 库至少要包含一个数据文件,并且数据文件是表 空间的物理组成元素,一个表空间可以包含多个 数据文件,并且每个数据文件只能惟一地属于某 个表空间。 关于“表空间”在后面会给大家详细介绍。
但如果执行介质恢复(例如数据文件意外丢失) ,则必须要用到归档日志。归档日志是非活 动重做日志的备份,数据库只有处于 ARCHIVELOG 模式时才会生成归档日志,并且 每次日志切换都会生成归档日志。
如图所示:
假定数据库只包含两个日志组,并且处于 ARCHIVELOG 模式。初始阶段LGWR 会将事务 变化写入到日志组一,当日志组一写满之后 ,LGWR 会将事务变化写入到日志组二中, 并且会促使ARCn 进程将日志组一的内容保存 到归档日志中,依此类推。
2.6.1 连接和建立会话
当客户应用需要执行SQL 语句时,首先要建立用户进程 ,同时在服务器端会自动为该用户进程派生一个新的 服务进程。默认情况下,用户进程与服务器进程是一 一对应的关系。 当客户端运行SQL 语句时,用户进程会通过网络将该 SQL 语句发送到对应的服务进程,并且由服务进程执行 该SQL 语句,服务器进程在执行了SQL 语句之后,会将 SQL 语句的结果通过网络返回到用户进程。
2.5.3 区(Extents)
数据区间简称为区,区是为段分配空间的逻辑单位 ,Oracle 在分配空间时,并不是以块为单位进行的 ,而是将多个连续的块一次性的分配给数据库对象 。这些连续的块在回收存储
空间时,也一起回收。这些连续的数据块就是数据 区间。 当创建一个数据库对象时,Oracle为这些对象创建一 个段,并分配初始区。当段中的初始区的存储空间 使用完毕后,Oracle会为段自动分配新的区,每个区 的大小不要求相同

ORACLE数据库习题.62

ORACLE数据库习题.62

1.ORACLE数据库物理结构包括以下三种文件,以下不属于的是〔〕A.系统文件B.日志文件C.数据文件D.控制文件2.以下哪个命令是用于ORACLE中数据导出的 ( )A.exp B.imp C.input D.output3.〔〕是用于控制数据访问的语言。

A.DML B.DDL C.DCL D.DLL4.NULL表示什么〔〕A.0 B.空格 C.值 D.没有值5.下面四个语句中哪一个是正确的?〔〕A.SELECT * , ENAME FROM EMP;B. DELETE * FROM EMP;C. SELECT DISTINCT EMPNO ,HIREDATE FROM EMP;D.SELECT ENAME|SAL AS “name〞 FROM EMP ;6.假定有一张表用户表users,其中一身份证字段ID_card。

为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束〔〕A. primary key B.check C.default D.not null7.下面哪一个like命令会返回名字象HOTKA的行?〔〕A.where ename like ‘_HOT%'B.where ename like ‘H_T%'C.where ename like ‘%TKA_'D.where ename like ‘%TOK%'8.〔〕操作符只返回由第一个查询选定但是没有被第二个查询选定的行。

B.UNION ALL9.EMPLOYEES表的结构如下:A.表中没有行。

B.有一个姓名为James的员工。

C.不能屡次回滚到相同的保存点。

D. 由于已经删除了员工ID180,因此最后一次更新未更新任何行。

10.以下运算结果不为空值的是〔〕A.12+NULLB.60*NULLC.NULL‖’NULL’D.12/〔60+NULL〕11.假设当前日期为’25-5月-06’,以下〔〕表达式能计算出5个月后那一天所在月份的最后一天的日期。

Oracle数据库体系结构

Oracle数据库体系结构

Oracle数据库体系结构⼀、oracle数据库体系结构基本组成:Oracle server:⼀般情况下是⼀个instance和⼀个database组成⼀般:1个instance只能对应⼀个数据库。

特殊:1个数据库可以有多个instance(RAC)⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。

利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:connect ⽤户名/密码@实例的服务名1.1 oracle服务器和实例1.1.1实例由内存区和后台进程组成①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。

在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。

1.1.2服务器Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。

数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA1.2 oracle数据库逻辑结构表空间:据库的基本逻辑结构,是⼀系列数据⽂件的集合;段:不同类型数据在数据库中占⽤的空间,有许多区组合⽽成;区:由连续的块组成,⽬的是为数据⼀次性预留⼀个较⼤的空间,oracle为存储空间进⾏分配回收都是以区为单位的;块:最⼩的存储单位,在创建数据库时指定,不能修改。

利用powerdesigner从oracle数据库中导出数据物理模型结构

利用powerdesigner从oracle数据库中导出数据物理模型结构

利⽤powerdesigner从oracle数据库中导出数据物理模型结构步骤为1.菜单File->Reverse Engineer->Database...2.弹出窗⼝选择关系数据库类型我这⾥使⽤oracle9i 点击“确定”按钮。

3.新窗⼝选择 Using a data source 然后点击尾部的按钮选择数据源,如果是第⼀次需要添加新的数据源4.数据源选择 Connection profile 然后点击下⾯的“configure...”按钮5.在新窗⼝点击新添加⼀个数据源按钮其中Connection profile name:根据业务编写⾃⼰的存数据源信息的⽂件名字Connection Type:native 即选择本地DBMS type:oracle9i 即选择你连接的数据库⼚商和版本Service name:即填写你的oracle客户端配置的服务名(后⾯举例解释)Database name:数据库名称即oracle的SIDUser name:数据库⽤户名Password:数据库⽤户密码其中service name 为举例oracle客户端访问配置如下:businessdb=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 134.224.40.73)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))在这个数据源配置中Service name:businessdb,数据库名称Database name:orcl配置完毕可以测试数据库是否连接成功完成数据源的配置,既可以从数据库中导出表结构了。

oracle数据库 物理储存结构和原理

oracle数据库 物理储存结构和原理

oracle数据库物理储存结构和原理
Oracle数据库的物理储存结构是由数据文件、控制文件和重做日志文件三部分组成的。

其中,数据文件是存储实际数据的文件,控制文件是用于记录数据库的结构信息和管理数据文件的文件,重做日志文件则是用于记录数据库中数据的变动情况,以便进行恢复操作。

Oracle数据库的数据文件是由一系列数据块组成的,每个数据块的大小可以配置为2KB、4KB、8KB、16KB等不同大小。

同时,Oracle 数据库在存储数据时采用了多种技术,包括行式存储和列式存储等,以提高数据的存储效率和检索效率。

在Oracle数据库中,数据文件的存储方式也非常灵活,可以采用裸设备方式、文件系统方式、ASM(Automatic Storage Management)方式等多种方式进行存储。

不同的存储方式具有各自的优缺点,可以根据实际需求进行选择。

除了数据文件之外,Oracle数据库的控制文件也非常重要。

控制文件不仅记录了数据库的结构信息,还记录了数据文件的位置、大小等信息,以便进行管理和维护。

同时,Oracle数据库还采用了多个控制文件的方式进行备份和恢复操作,以提高数据库的安全性和可靠性。

最后,Oracle数据库的重做日志文件也是非常重要的一部分。

重做日志文件记录了数据库中数据的变动情况,包括事务的开始、提交、回滚等操作,以便在系统故障或其他异常情况下进行恢复操作。

重做日志文件采用了循环缓冲区的方式进行存储和管理,同时还支持
多种模式的归档方式,以满足不同的业务需求。

oracle数据库运行机制和基本原理

oracle数据库运行机制和基本原理

Oracle数据库是一种关系型数据库管理系统,它采用了客户/服务器模式,可以在各种不同的评台上运行。

其运行机制和基本原理是数据库领域的重要内容,我们将通过以下几个方面来详细介绍。

1. Oracle数据库的体系结构Oracle数据库的体系结构包括实例和数据库。

实例是由一个或多个进程组成,负责处理客户端的请求和管理数据库的物理结构;数据库是由数据文件组成,用来存储数据和控制文件。

实例和数据库之间通过监听器进行通信,客户端通过监听器访问数据库。

2. Oracle数据库的运行原理Oracle数据库的运行原理包括数据库的启动和关闭过程。

数据库的启动过程包括加载实例和数据库文件、分配内存、打开数据库并监听客户端请求;数据库的关闭过程包括关闭实例和数据库文件、释放内存、关闭数据库并停止监听器。

3. Oracle数据库的存储结构Oracle数据库的存储结构包括内存结构和磁盘结构。

内存结构包括数据库SGA和PGA,SGA用来存储数据库的共享数据和控制信息,PGA用来存储客户端的私有数据;磁盘结构包括数据文件、控制文件和日志文件,数据文件用来存储数据库的数据,控制文件用来记录数据库的元数据,日志文件用来记录数据库的事务日志。

4. Oracle数据库的并发控制Oracle数据库的并发控制包括锁和多版本并发控制。

锁是用来控制对共享资源的并发访问,包括共享锁、排他锁和意向锁;多版本并发控制是一种乐观并发控制方式,每个事务都有自己的版本,可以并发访问相同的数据,不会相互影响。

5. Oracle数据库的恢复机制Oracle数据库的恢复机制包括日志文件和闪回技术。

日志文件用来记录数据库的操作,包括重做日志和撤销日志,可以用来恢复数据库的状态;闪回技术可以回滚数据库到历史状态,包括闪回查询和闪回表。

通过以上内容的介绍,我们对于Oracle数据库的运行机制和基本原理有了一定的了解。

Oracle数据库作为一种成熟的关系型数据库管理系统,其运行机制和基本原理对于数据库管理员和开发人员来说是非常重要的,可以帮助他们更好地理解、管理和优化数据库。

oracle物理结构

oracle物理结构

oracle物理结构在一个服务器中,每一个运行的数据库都有一个数据库实例(instancename) 相联系。

数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),即构成了oracle的内存结构。

然后启动若干个常驻内存的操作系统进程,即组成了oracle的进程结构。

除此之外,还有数据库的物理与逻辑结构。

数据库体系统结构图可以参考第一篇。

在接下来的篇幅中将分五篇来详细说明oracle数据库的体系结构。

•oracle物理结构•oracle逻辑结构•oracle内存结构•oracle进程结构•oracle连接配置结构本篇说明物理结构。

物理结构,即oracle数据库使用的操作系统文件结构。

对于数据库物理结构文件,不同的oracle版本,不同的操作系统平台上有不同的存储目录结构。

•winnt | d:/oracle/product/10.1.0/oradata/DB_NAME/*.*(oracle 10g);d:/orant/database/*.*(oracle7,oracle8)•Unix | /home/app/oracle/product/10.1.0/oradata/DB_NAME/*.*(10g);/home/app/oradata/db_name/*.*(8i,9i)数据库的物理结构文件按其作用可以分为三类:•数据文件•日志文件•控制文件物理存储结构是指从物理角度分析数据库的构成,即Oracle数据库创建后所使用的操作系统文件。

从物理存储结构上分析:每一个Oracle数据库是主要由三种类型的文件组成:数据文件、日志文件和控制文件,另外还包括一些参数文件。

其中:数据文件的扩展名为.DBF;日志文件的扩展名为.LOG;控制文件的扩展名为.CTL。

一、数据文件数据文件(Data File)用于存储数据库数据的文件,如表中的记录,索引,数据字典信息等都存储于数据文件中。

在存取数据时,Oracle数据库系统首先从数据文件中读取数据,并存储在内存中的数据缓冲区中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初始化参数文件有两种: 静态初始化参数文件,该文件是一个可以编辑的文本文件; 服务器端初始化参数文件,一个二进制格式的文件,驻留在服 务器端。
初始化参数会在以后的章节介绍。
2.4.6 其他文件
其他文件主要包括口令文件(Password File)、跟踪文件 (Trace File)和警告文件(AlertFile)。它们属于操作系统 文o Log 重做日志文件是用于记F录il数e据s库)变化的物理文件,其作
用是在发生意外时恢复Oracle数据库。
默认为每个数据库创建3 个重做日志文件,每个日志文 件作为一个组(数据库至少要包含两个重做日志组)。 日志组的文件是循环使用的,当一个日志写满后,自动 切换到另一个日志文件。
Oracle 将这些文件默认安装在Oracle 安装 目录下的oradata 子目录下,以实例命名的 子 目录下。在创建新的数据库时,可以选择数
2.4.1 数据文件(Data Files)
数据文件是用于存储数据库数据的物理文件,它 由若干个操作系统文件组成,在数据文件中存储 着用户数据(表、索引等)、数据字典以及回滚段 数据等。
第二章 Oracle数据库体系结构 续
2.4 数据库物理结构
数据库是数据存储的容器,作用是用来收集 、存储数据和返回信息。
数据库的存储结构就是数据库存储数据的方 式。前面已经谈到数据库的存储结构可以分 为逻辑结构和物理结构两个方面,两者相互 独立又密切相关。
从逻辑结构方面讲,Oracle 数据库以逻辑结 构进行内部的管理和维护的,这些结构包括 表空间、段、区和块。
控制文件是一个很小的二进制文件,用于记录和维护 数据库结构,Oracle 数据库至少要包含一个控制文件 。一般情况下,实例和数据库是一一对应的关系, Oracle 数据库通过控制文件在实例和数据库之间建立 关联。
在启动数据库时,系统会根据初始化参数 control_files来定位控制文件,Oracle 从控制文件 中读取组成数据库所有物理文件的信息,这样就可以 打开必要的文件。如果控制文件丢失或出现错误,数 据库的启动就会失败。为了保护数据库的安全, Oracle 采用复合控制文件,即控制文件同时可以有多 个镜像。
警告文件由连续的消息和错误组成。通过查看警告文 件,可以查看到Oracle 内部错误、块损坏错误以及 非默认的初始化参数值,并且可以监视特权用户的所 有操作,例如启动、关闭数据库等。
2.5 数据库逻辑结构
在Oracle 数据库中,数据被组织成逻辑对象,如我 们常用的表、视图、索引等数据对象。
从物理结构方面讲,Oracle 数据库有外部的 存储方法,Oracle 数据库由一系列的物理文 件组成,主要有数据文件、控制文件和重做 日志文件
物理结构以及和表空间的关系如图
数据文件:用于存放所有的系统和用户数据 ,默认以DBF 为扩展名。 日志文件:记录了对数据库进行的所有操作 ,默认以LOG 为扩展名。 控制文件:记录了数据库所有文件的控制信 息,默认以CTL 为扩展名。
口令文件用于存放特权用户及其口令的文件,“特权用户” 是指具有启动、关闭Oracle服务器并建立数据库等特殊权利 的用户。SYS 账户是一个具有系统管理员特权的账户。
跟踪文件用于存放后台进程和服务器进程的跟踪信息。后台 进程跟踪文件存放着后台进
2.4.6 其他文件
跟踪文件用于存放后台进程和服务器进程的跟踪信息 。后台进程跟踪文件存放着后台进程的警告和错误信 息,并且每个后台进程都有相应的跟踪文件。服务器 进程跟踪文件用于存放SQL 语句的跟踪信息,并且只 有在激活SQL 跟踪后才会生成服务器进程跟踪文件, 该类文件会记载SQL 语句的执行时间、执行计划等信 息,并且主要用于SQL 语句调整。
数据文件和表空间有着密切的关系,Oracle 数 据库至少要包含一个数据文件,并且数据文件是 表空间的物理组成元素,一个表空间可以包含多 个数据文件,并且每个数据文件只能惟一地属于 某个表空间。
关于“表空间”在后面会给大家详细介 绍。
【实例2-3】查看数据文件的位置和名称。
1)以管理员身份登录 SQL> CONNECT / AS SYSDBA 已连接。
但如果执行介质恢复(例如数据文件意外丢失 ),则必须要用到归档日志。归档日志是非活 动重做日志的备份,数据库只有处于 ARCHIVELOG 模式时才会生成归档日志,并且 每次日志切换都会生成归档日志。
如图所示:
假定数据库只包含两个日志组,并且处于 ARCHIVELOG 模式。初始阶段LGWR 会将事务 变化写入到日志组一,当日志组一写满之后 ,LGWR 会将事务变化写入到日志组二中, 并且会促使ARCn 进程将日志组一的内容保存 到归档日志中,依此类推。
重做日志有两种工作模式,归档模式和非归档模式。在 归档模式下,将对重做日志文件进行归档,保留所有的 重做日志记录,这样数据库可以从所有类型的失败中恢 复。非归档模式不保留以前的重做日志记录,这样数据 库只能从掉电等事件中恢复。
【实例2-4】查看日志文件的位置和名称。
2.4.3 控制文件(Control Files)
【实例2-6】查看归档模式。
2.4.5 初始化参数文件
除了以上文件,Oracle 数据库中还用到初始化参数文件( Parameter File)、口令文件(Password File)、跟踪文件( Trace File)和警告文件(Alert File)。
实例是由一组内存结构和后台进程组成的,那么这些内存结构 到底要占用多大内存,且当启动实例时会运行哪些后台进程呢? 这是通过定义参数文件中的初始化参数来完成的,
查看控制文件内容: Alter database backup controlfrile to trace as '/home/oracle/ctl.trc';
【实例2-5】查看日志文件的位置和名 称。
2.4.4 归档日志文件 (ArchiveLog)
重做日志可用于进行“实例恢复”(例如电源 断电时的恢复),
相关文档
最新文档