浅谈应该如何理解Oracle的架构知识

合集下载

(参考资料)oracle 体系结构详解

(参考资料)oracle 体系结构详解

oracle 体系结构详解一、体系结构图oracle实例=SGA区+后台进程oracle服务器=oracle实例+oracle数据库数据库实例启动实质上即为:分配SGA区,启动后台进程Oracle 实例1、是访问Oracle 数据库的一种方式2、通常只开一个且仅开一个数据库3、由内存结构和进程结构组成,即SGA区+后台进程连接Oracle实例:包括建立用户连接和创建会话Oracle数据库是作为整体的数据集,由三类文件组成:Data files, Control files, Redo log files二、物理结构主要由三类文件组成:data files ,control files,redo-log files1.data files:数据文件,存放基本表信息(即表中数据等)、索引信息(系统内建有索引表)、回退信息(主要为数据的rollback)、临时信息(如有orderby 等操作时系统有临时信息)、系统引导信息(如数据字典等)2、control files:控制文件(二进制的)。

存放库物理结构、库名、库创建日期、序列号(存有同步信息);控制文件至少有两个一摸一样的,用做备份用参数Controlfiles=/../../文件名1,/../../文件名2;指定3、redo log files:回退日志文件,存放修改前后的信息,主要用于数据的恢复,一个数据库至少有两个redo log files文件,以便可以循环记录信息注:三类文件都有序列号,必须同步才能使用,且已Control files中的序列号为准,其他的必须与其保持一致除了上面三类文件还有:Parameter file(参数文件),Password file(口令文件),Archived log files(归档文件)等参数文件:有二进制、文本两种,用于设定参数的值。

二进制参数文件可以及时更改,即时生效;文本参数文件需重启口令文件:可用orapwd.exe 建口令文件。

Oracle体系结构简介

Oracle体系结构简介

Oracle体系结构简介一、数据库(Database)数据库是一个数据的集合,不仅是指物理上的数据,也指物理、存储及进程对象的一个组合。

Oracle是关系型数据库治理系统(RDBMS)。

二、实例(Instance)数据库实例(也称为服务器Server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。

它使一个单独的数据库可以被多个实例访问(也就是ORACLE并行服务器-- OPS)。

实例和数据库的关系如下决定实例的组成及大小的参数存储在init.ora文件中。

三、部结构表、列、数据类型(T able、Column、Datatype)Oracle中是以表的形式存储数据的,它包含若干个列;列是表的属性的描述;列由数据类型和长度组成;Oracle中定义的数据类型主要有CHAR、VARCHAR2、NUMBER、DATE、LONG、LOB、BFILE等,具体的数据类型情况将在本栏目的相关文档中具体介绍。

约束条件(Constraint)表中以及表间可以存在一些数据上的逻辑关系、限制,也就是约束。

Oracle中的约束主要有主键(PK)、外键(FK)、检查(CHECK)、唯一性(UNIQUE)等几种;拥有约束的表中每条数据均必须符合约束条件。

抽象数据类型(Abstract Datatype)可以利用CREATE TYPE命令创建自定义的抽象数据类型。

分区(Partition)可以利用分区将大表分隔成若干个小的存储单元,逻辑上仍然是一个完整的独立单一实体,以减小访问时数据的查找量,提高访问、存储效率用户(User)用户不是一个物理结构,但是它与数据库的对象拥有非常重要的关系--用户拥有数据库对象,以及对象的使用权。

模式(Schema)用户拥有的对象集合称为模式。

索引(Index)数据库中每行记录的物理位置并不重要,Oracle为每条记录用一个ROWID来标识,ROWID记录了记录的准确位置。

索引是供用户快速查找到记录的数据库结构。

oracle database table层级结构-概述说明以及解释

oracle database table层级结构-概述说明以及解释

oracle database table层级结构-概述说明以及解释1.引言1.1 概述在Oracle数据库中,表是一种重要的数据存储单位,用于存储和组织数据。

在数据库设计和管理中,理解Oracle数据库表的基本概念和层级结构是非常重要的。

本文将介绍Oracle数据库表的基本概念,包括表的定义和作用,表的属性和组成,以及表的关系和约束。

我们还会深入探讨Oracle数据库表的层级结构,包括父表和子表的概念,表之间的关联关系,以及表之间的级联操作。

此外,我们将介绍Oracle数据库表的设计原则,包括数据库范式和反范式设计,数据表的规范化与性能优化,以及数据表的索引和分区策略。

通过本文的阐述,读者将对Oracle数据库表的层级结构有更深入的理解,为实际应用中的数据库设计和管理提供有益的指导。

1.2 文章结构文章结构是指整篇文章的组织方式和部分内容的安排。

在本文中,主要包括引言、正文和结论三个部分。

在引言部分,我们将介绍文章的背景和概述,以及本文的目的和意义。

我们将简要介绍Oracle数据库表的基本概念,并引出后续内容。

在正文部分,我们将详细介绍Oracle数据库表的基本概念,包括表的定义和作用、表的属性和组成,以及表的关系和约束。

随后,我们将重点讨论Oracle数据库表的层级结构,包括父表和子表的概念、表之间的关联关系,以及表之间的级联操作。

最后,我们还将探讨Oracle数据库表的设计原则,包括数据库范式和反范式设计、数据表的规范化与性能优化,以及数据表的索引和分区策略。

在结论部分,我们将总结文章的主要观点,分析应用前景,并展望未来发展方向。

通过整篇文章的阐述,读者将更加深入了解Oracle数据库表的层级结构,以及相关设计原则和应用场景。

1.3 目的:本文旨在介绍Oracle数据库表的层级结构,深入探讨表的定义、属性、关系以及设计原则,帮助读者全面了解和掌握数据库表的概念和操作方法。

通过本文的阐述,读者可以更好地理解父表和子表的关系、表之间的关联关系以及级联操作的实现方式,从而更有效地设计和管理数据库表结构。

Oracle?rac架构和原理

Oracle?rac架构和原理

Oracle rac架构和原理Oracle RACOracle Real Application Cluster (RAC,实时应用集群)用来在集群环境下实现多机共享数据库,以保证应用的高可用性;同时可以自动实现并行处理及负载均衡,并能实现数据库在故障时的容错和无断点恢复。

它是oracle数据库支持网络计算环境的核心技术。

它是oracle数据库支持网络计算环境的核心技术。

共享缓存技术减少io负担多主机共享一个数据库,每个节点宕掉后,通过vip到下一个节点Oracle RAC的原理集群环境层面:并发控制,健忘症,脑裂,IO隔离;共享存储层面:存储层,网络层,集群件层,应用层数据库实例层面:并发访问和控制1、集群环境&共享存储层面并发控制Oracle RAC中,使用Distribute Lock Managerment(DLM)机制进行多个节点间并发访问的控制健忘症(一个节点更改,其他人不知道)整个集群只有一份集群配置信息,Oracle RAC使用OCR(oracle 集群注册器) Disk文件解决脑裂在Oracle RAC中Voting Disk用来记录节点间成员的状态,出现脑裂时,通过投票机制,获得最高票数或者最早达到的获得投票的,幸存,其他节点被踢出。

IO隔离Oracle RAC采取直接重启故障节点来限制已剔除节点对共享数据的访问如果某个节点有故障,则踢出后并重启该节点,达到不让其访问数据的目的,实现自愈共享存储的共享和并发访问需要解决存储设备的共享和并发访问问题2、RAC层面- 存储层Cache fusion lock- 网络层共4种网络环境:Public网络-对外提供数据查询服务、数据库维护等Virtua网络-提供应用连接Private网络-用于RAC心跳和cache fusion存储网络-存储设备、HBA卡、光纤交换机等组成集群件层Oracle clusterware:集群管理软件保证多主机之间的协调工作应用层oracle RDBMS层面:由若干CRS Resourcezuchengoracel RAC提供高可用服务:LMON进程监控应用(CRS Resource),应用异常时对其进行重启、切换等;Oracle RAC 的关键技术Oracle RAC的关键技术有:•OCR Disk•votiong•vip•DLM•cache Fushion•Failover•loadbalance•ASMOCR DiskOCR Disk主要用来解决集群的“健忘”问题在linux系统中信息如下:不是每个节点都可以操作OCR Disk,每个节点上都有一份其内容的拷贝,在一块叫OCR cache的内存中。

简述oracle体系结构

简述oracle体系结构

简述oracle体系结构
Oracle体系结构
Oracle是一种支持分布式数据库管理系统,其体系结构主要包
括E-R图,表和索引,存储过程和视图, SQL,PL/SQL程序和组件,等等。

1. E-R图
E-R图是一种关系数据库管理系统的基本模型,其中实体表示客观事物,关系表示实体之间的联系。

E-R图可以被用来描述实体和它们之间的关系,以及实体的属性和它们之间的关系。

2.表和索引
表是由一系列列组成的逻辑结构,它们包含每行和每列的数据。

索引是一种特别的表,可以被用来提高表的搜索速度和性能。

3.存储过程和视图
存储过程是一种特定类型的程序,它们可以被用来完成某些操作,比如查询和更新。

视图是一种准备好的查询,它们可以被用来返回数据库中的数据。

4.SQL,PL/SQL程序和组件
SQL(Structured Query Language)是一种用于在数据库中执行查询和更新操作的语言,是一种面向关系型数据库的核心语言。

PL/SQL是一种可以嵌入SQL语句的程序设计语言,用来定义复杂的
查询,更新和实现回调函数。

组件是一种模块化的程序,用来构建更复杂的系统。

Oracle数据库体系结构

Oracle数据库体系结构
(1)PFILE
在Oracle 9i之前,初始化参数都是以文本格式存放 的。在Windows平台上,建议将PFILE文件存放在 %ORACEL_HOME%\database目录中,文件名为 initSID.ora,其中SID为实例名。
(2)SPFILE
SPFILE是以二进制格式存放的。在Window 平台上,Oracle建议将SPFILE存放在 %ORACLE_HOME%\dbs 目录中。文件名为sp。
2.4.2 段
• 段是用户建立的数据库对象(如:表,索引, 簇等)的存储表示。它是有一个或多个区组 成的。
• 当建立表、索引、簇时,Oracle会为这些对 象分配段,以存放它们的数据信息,并且段 名与对象名完全相同。
• 用户建立的每一个表都会有一个在表空间中 存储的逻辑段。为用户所建立的对象生成的 段都要在磁盘上占用空间。
• 日志文件主要用于数据库恢复。
• 查看重做日志文件
SQL> select member from v$logfile;
MEMBER -------------------------------------------------E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
db_block_size 指定标准oracle块的尺寸
db_cache_size 指定标准数据高速缓存的尺寸
share_pool_size 指定共享池的尺寸
常用初始化参数(一)
参数名 log_buffer sga_max_size java_pool_size large_pool_size

Oracle体系结构概述

1-11
数据库结构 • ORACLE数据库中的数据逻辑存储在表空间中,物理
存储在数据文件中。
1-12
物理存储
1-13
物理文件
1-14
物理文件
1-15
数据文件
• 其特点如下: • 每一个数据文件只与一个数据库相联系。 • 一个表空间可包含一个或多个数据文件。
SQL> select name from v$datafile; NAME ---------------------------------------------------------------------------/u1/app/oracle/oradata/ora10g/system01.dbf /u1/app/oracle/oradata/ora10g/undotbs01.dbf /u1/app/oracle/oradata/ora10g/sysaux01.dbf /u1/app/oracle/oradata/ora10g/users01.dbf /u1/app/oracle/oradata/ora10g/example01.dbf
库产品,即Oracle 7。
• 1997年,Oracle公司推出了基于网络计算的数据库产品,
即Oracle 8。
• 1999年,针对Internet技术的发展,Oracle公司推出了第一
个基于Internet的数据库,即Oracle 8i。
• 2001年,Oracle公司又推出了新一代Internet电子商务基础
架构,即Oracle 9i。
• 2003年9月,Oracle公司发布了其最新数据库产品,即
Oracle Database 10g。
1-3
课程内容

oracle 基础 体系结构 底层原理

oracle 基础体系结构底层原理Oracle是一种关系数据库管理系统(RDBMS),具有多层次的体系结构。

底层原理:Oracle数据库的底层原理包括以下几个方面:1. 数据存储:Oracle将数据以表的形式存储在数据文件中。

数据文件是操作系统上的一个物理文件,用于持久性存储数据库的数据。

每个数据文件再细分为一组大小固定的数据块,通常为8KB。

数据块是数据库存储单位的最小单元,用于存储表中的数据。

2. 数据缓存:Oracle使用SGA(System Global Area)作为数据缓存,用于存放数据库缓存的数据块。

SGA由多个组件组成,包括数据库缓冲区(Database Buffer Cache)、共享池(Shared Pool)、重做日志缓冲区(Redo Log Buffer)等。

SGA中的数据被频繁使用,可以提高数据库的访问速度。

3. 事务处理:Oracle使用ACID(原子性、一致性、隔离性、持久性)事务模型来保证数据库的可靠性和一致性。

每个事务被视为一个独立的工作单元,要么完全执行,要么完全回滚。

通过使用锁机制和多版本并发控制(MVCC)来实现事务的隔离性。

4. 查询优化:Oracle使用CBO(Cost-Based Optimizer,基于成本的优化器)来选择最优的执行计划。

CBO通过估算各种执行路径的成本,并选择成本最低的执行计划。

为了实现这一点,CBO需要统计和分析数据库中的数据分布、数据相关性和查询语句的特性。

5. 日志和恢复:Oracle通过重做日志(Redo Log)和恢复日志(Undo Log)来保证数据库的持久性和可恢复性。

重做日志记录数据库的修改操作,以便在发生故障时进行恢复。

恢复日志用于回滚无效或中断的事务,以维护数据库的一致性。

综上所述,Oracle的底层原理涵盖了数据存储、数据缓存、事务处理、查询优化、日志和恢复等方面,这些原理共同构成了Oracle数据库的基础体系结构。

Oracle体系结构

➢ 表空间(tablespace) ➢ 段(segment) ➢ 区(extent) ➢ 块(block)
多个数据块组成区,多个区组成段,多个段组成表 空间,多个表空间组成逻辑数据库。
Oracle数据库的逻辑存储结构
表空间是Oracle数据库中最高一级的逻辑存 储单元,是连接逻辑存储结构和物理存储 结构的桥梁。
一个表空间在物理上对应一个或多个数据文 件,而一个数据文件只能属于一个表空间。
Oracle数据库的物理存储结构
控制文件是用来存储数据库的物理结构等信 息的文件。
这些信息包括: ➢ 数据库名称和建立时间 ➢ 数据库文件和重做日志文件的名称及位置 ➢ 日志记录序列码
Oracle数据库的物理存储结构
➢ 日志文件是用来记录数据库的修改操作和 事务操作的文件。
SGA区主要由以下几个部分组成。
Oracle实例的基本知识
SGA区中的几个重要的区
➢ 数据高速缓存区 ➢ 字典缓存区 ➢ 重做日志缓存区 ➢ SQL共享池
Oracle实例的基本知识
后台进程
➢ DBWR ➢ LGWR ➢ SMON ➢ PMON ➢ CKPT ➢ RECO ➢ ARCH
Oracle实例的基本知识
数据字典的基本知识
数据字典表保存的主要信息有: ➢ 各种方案对象的定义信息 ➢ 存储空间的分配信息 ➢ 安全信息 ➢ 实例运行的性能和统计信息 ➢ 其他关于数据库的基本信息
数据字典的基本知识
数据字典视图
数据字典表中的信息经过解密和其他加工后, 以数据字典视图的方式显示给用户。
数据字典的基本知识
程序全局区(Program Global Area)
PGA区是在用户进程连接到数据库,并创建 一个响应的对话时,用Oracle为服务进程 分配的,专门拥护当前用户会话的内存区。 这个内存区是非共享的。

Oracle架构与组成部分


用户进程
用户发起的进程
用户启动的进程,用于执行查询、更新或其他数据库操作。
工具和实用程序发起的进程
由Oracle提供的工具和实用程序启动的进程,用于管理数据 库。
05 Oracle数据库的网络结构
数据库网络服务
1 2 3
Oracle Net
Oracle Net是Oracle数据库的网络通信协议,它 允许客户端和服务器之间的连接。
数据文件的创建与维护
在Oracle数据库中,可以通过CREATE DATABASE、ALTER DATABASE等命令来创建、修改或删除数据文件。
控制文件
控制文件的定义
控制文件是Oracle数据库中记录数据库物理结构信息的文 件,包括数据库名称、数据文件和重做日志文件的名称和 位置等信息。
控制文件的组成

连续的数据块集合
区是由连续的数据块组成的集合,这些数据块都属于同一个段。当一个段的空间不足时,Oracle会自 动分配一个新的区,以确保该段可以继续增长。区的大小和数量取决于数据库的配置和管理策略。

最小的数据存储单位
块是Oracle数据库中存储数据的最小单位, 也是进行数据I/O操作的基本单位。每个块 的大小是固定的,通常为8KB、16KB或 32KB等。块的大小可以在创建数据库时指 定,并且可以在以后通过更改参数进行修改
存储结构
存储结构定义
存储结构是指数据库中数据的物理存储方式,包括数据文件、控制文 件、重做日志文件等。
数据文件
数据文件是Oracle数据库中存储数据的主要文件,包括表数据、索引 数据等。
控制文件
控制文件是Oracle数据库中记录数据库物理结构信息的文件,包括数 据库名称、数据文件和重做日志文件的名称和位置等信息。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、物理结构
Oracle物理结构由控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件组成
一个数据库中的数据存储在磁盘上物理文件,被使用时,调入内存。其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件;
参数文件(parameter file)口令文件(password file)是非数据库文件。

数据文件:存储数据的文件.数据文件典型地代表了根据他们使用的磁盘空间和数量所决定的一个Oracle数据库的容积。
由于性能原因,每一种类型的数据放在相应的一个或一系列文件中,将这些文件放在不同的磁盘中。
types:
.data dictionary .data
.redo data .index
.temporary data 等等
控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件.
控制文件内容
◆数据库名
◆表空间信息
◆所有数据文件的名字和位置
◆所有redo日志文件的名字和位置
◆当前的日志序列号
◆检查点信息
◆关于redo日志和归档的当前状态信息
控制文件的使用过程
控制文件把Oracle引导到数据库文件的其它部分。启动一个实例时,Oracle 从参数文件中读取控制文件的名字和位置。安装数据库时,Oracle 打开控制文件。最终打开数据库时,
Oracle 从控制文件中读取数据文件的列表并打开其中的每个文件。

重做日志文件
含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件.
跟踪文件及警告日志(Trace Files and Alert Files)
在instance 中运行的每一个后台进程都有一个跟踪文件(trace file)与之相连。Trace file 记载后台进程所遇到的重大事件的信息。
警告日志( Alert Log)是一种特殊的跟踪文件,每个数据库都有一个跟踪文件,同步记载数据库的消息和错误.
参数文件:包括大量影响Oracle数据库实例功能的设定,如以下设定:
◆数据库控制文件的定位
◆Oracle用来缓存从磁盘上读取的数据的内存数量
◆默认的优化程序的选择.
和数据库文件相关,执行两个重要的功能
1〉为数据库指出控制文件
2〉为数据库指出归档日志的目标
归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
口令文件:认证哪些用户有权限启动和关闭Oracle例程.
2、逻辑结构(表空间、段、区、块)
表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。
段:是对象在数据库中占用的空间.
区:是为数据一次性预留的一个较大的存储空间.
块:ORACLE最基本的存储单位,在建立数据库的时候指定.
3、内存分配(SGA和PGA)
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果
实际内存不够再往虚拟内存中写。

PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收.
4、后台进程
包括数据写进程(Database Writer,DBWR)、日志写进程(Log Writer,LGWR)、系统监控(System Monitor,SMON)、进程监控(Process Monitor,PMON)、检查点进程(Checkpoint
Process,CKPT)、归档进程、服务进程、用户进程)

数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件
日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件
系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复
进程监控:负责在一个Oracle 进程失败时清理资源
检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。该进程在检查点出现时,对全部数据文件的标题进行修
改,指示该检查点。在通常的情况下,该任务由LGWR执行。然而,如果检查点明显地降低系统性能时,可使CKPT进程运行,将原来由LGWR进程执行的检查点的工作分离出来,由CKPT
进程实现。对于许多应用情况,CKPT进程是不必要的。只有当数据库有许多数据文件,LGWR在检查点时明显地降低性能才使CKPT运行。CKPT进程不将块写入磁盘,该工作是由DBWR
完成的。 init.ora文件中 CHECKPOINT_PROCESS 参数控制CKPT进程的使能或使不能。缺省时为FALSE,即为使不能。

归档进程:在每次日志切换时把已满的日志组进行备份或归档
服务进程:用户进程服务。
用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询数据。
5、SCN(System ChangeNumber):
系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。
来源:网络 编辑:联动北方技术论坛

相关文档
最新文档