Oracle架构入门级基础
转自:http://hong9270503.blog.163.com/blog/static/1272923200916112245844/
学习oracle,最好首先了解Oracle的框架。这样对Oracle有一个整体的认识,有高屋建瓴的作用。
1、物理结构(由 控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件组成)
一个数据库中的数据存储在磁盘上物理文件,被使用时,调入内存。
其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志 (trace files,alert files)属于数据库文件;
参数文件(parameter file)口令文件(password file)是非数据库文件
1.1数据文件 :存储数据的 文件.数据文件典型地代表了根据他们使用的磁盘空间和数量所决定的一个Oracle数据库的容积。
由于性能原因,每一种类型的数据放 在相应的一个或一系列文件中,将这些文件放在不同的磁盘中。
types:
.data dictionary .data
.redo data .index
.temporary data 等等
1.2控制文件 : 包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件.
控制文件 内容
。数据库名
。表空间信息
。所有数据文件的名字和位置
。所有 redo日志文件的名字和位置
。当前的日志序列号
。检查点信息
。关于redo日志和归档的 当前状态信息
控制文件的使用过程
控制文件把Oracle引导到数据库文 件的其它部分。启动一个实例时,Oracle 从参数文件中读取控制文件的名字和位置。安装数据库时,Oracle 打开控制文件。最终打开数据库时,Oracle 从控制文件中读取数据文件的列表并打开其中的每个文件。
1.3重 做日志文件 :
含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文 件.
1.4 跟踪文件及警告日志(Trace Files and Alert Files)
在instance 中运行的每一个后台进程都有一个跟踪文件(trace file)与之相连。Trace file 记载后台进程所遇到的重大事件的信息。
警告日志( Alert Log)是一种特殊的跟踪文件,每个数据库都有一个跟踪文件,同步记载数据库的消息和错误.
1.5参数文件 : 包括大量影响Oracle数据库实例功能的设定,如以下设定:
。数据库控制文件的定位
。Oracle用来缓存从 磁盘上读取的数据的内存数量
。默认的优化程序的选择.
和数据库文件相关,执行两个重要的功能
1〉为数据库指出控制文件
2〉为数据库指出归档日志的目标
1.6归档文件 : 是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
1.7口令文件 :认证哪些 用户有权限启动和关闭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):
系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维 持数据的一致性和顺序恢复的重要标志。
Oracle架构入门级基础相关推荐
- 万字详解Oracle架构、原理、进程,学会世间再无复杂架构
学习是一个循序渐进的过程,从面到点.从宏观到微观,逐步渗透,各个击破,对于Oracle, 怎么样从宏观上来理解呢?先来看一个图,这个图取自于教材,这个图对于从整体上理解ORACLE 的体系结构组件,非 ...
- 详解Oracle架构、原理、进程,学会世间再无复杂架构
详解Oracle架构.原理.进程,学会世间再无复杂架构 学习是一个循序渐进的过程,从面到点.从宏观到微观,逐步渗透,各个击破,对于Oracle, 怎么样从宏观上来理解呢?先来看一个图,这个图取自于教材 ...
- 2015 SACC – 再谈后 IOE 时代的 Oracle 架构创新
一年一度的 SACC 中国系统架构师大会于10月22日在新云南皇冠假日酒店震撼开幕.今年已经是大会的第七届,历经多年的经验积累与磨砺,本次大会在主题设计与安排,会议规模及专家阵容等方面都有了很大突破. ...
- 系统架构师-基础到企业应用架构-表现层
一.前言 最近也许是由于假期的原因,我发布的文章的速度变慢了,对大家说下抱歉,这个系列的确我很难写,感谢大家对我的支持和关注,的确我在发布后得到大家的支 持和认可,让我有了更多的动力,之前发布的有些内 ...
- oracle 10g 连接语句,Oracle 10g数据库基础之基本查询语句-下-连接子查询
实验18:表的连接查询 该实验的目的是掌握基本的联合查询. 表的连接 我们要从多张表中要得到信息,就得以一定的条件将表连接在一 实验18:表的连接查询 该实验的目的是掌握基本的联合查询. 表的连接 我 ...
- Oracle架构实现原理、含五大进程解析(图文详解)
目录 目录 前言 Oracle RDBMS架构图 内存结构 系统全局区SGA 高速缓存缓冲区数据库缓冲区 日志缓冲区 共享池 其他结构 进程结构 用户连接进程 用户进程User Process Ser ...
- 系统架构师-基础到企业应用架构-企业应用架构
为什么80%的码农都做不了架构师?>>> 一.上篇回顾 我们先来回顾下上篇讲解的内容,我们前面的几节分别讲述了,业务逻辑层.数据访问层.服务层.表现层,我们了解了这些分层的职责 ...
- 系统架构师-基础到企业应用架构-系统设计规范与原则[上篇]
一.上章回顾 在上篇中我们讲解了几类UML2.0语言新推出的建模图形,总体来说通过这些图形能更详细的将某类信息表达出来.在这里我们简单回顾上篇讲解的内容. 上图中已经简单介绍了上章讲述的内容,具体内容 ...
- 架构漫谈(二):认识概念是理解架构的基础
原文:架构漫谈(二):认识概念是理解架构的基础 架 构漫谈是由资深架构师王概凯Kevin执笔的系列专栏,专栏将会以Kevin的架构经验为基础,逐步讨论什么是架构.怎样做好架构.软件架构如何落地.如 何 ...
最新文章
- C# 浅拷贝与深拷贝区别 解惑篇
- Sqlserver中一直在用又经常被忽略的知识点一
- 安装php时,make步骤报错make: *** [sapi/fpm/php-fpm] Error 1
- 如何找到解决问题的方法?
- 来来来!一次搞定各种数据库 SQL 执行计划:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite
- java.library.path设置无效
- NWT失败反省:谁给汝之权力,竟然敢要吾走人?
- java ftl 模板 输出list_关于在freemarker模板中遍历数据模型ListJavaBean的经验
- C++ 租房管理系统
- VC2015 运行库安装错误 0x80240017 解决过程
- 计算机病毒鼻祖拟推新型搜索技术挑战谷歌,美科学家将推新型搜索引擎挑战谷歌...
- 上市公司环境信息披露合集-上市公司环保补助金额、环保税等三大维度指标(2003-2020年)
- php to es7,只需五步 集成新版 Elasticsearch7.9 中文搜索 到你的 Laravel7 项目
- 高斯-赛德尔迭代算法(C++实现)
- html和js画圣诞树图片,基于JS2Image实现圣诞树代码
- 微信小程序云开发CMS内容管理平台csv上传乱码或失败的解决方法
- [nRF52832开发板:Nordic Thingy:52]Nordic Thingy:52到手
- win8/10系统Prolific USB-to-Serial Comm Port 出现该设备无法启动(代码10),指定不存在的设备
- python卡尔曼滤波室内定位_基于核函数与卡尔曼滤波的室内定位方法
- 使用installanywhere打包java文件生成任何平台都可以运行的程序(如.exe)(关闭360!)
热门文章
- Delphi的实数计算结果中只保留2位小数
- 图解DIY高手组装电脑全过程
- 1.微型计算机中主要包括有( ).,《微机原理与应用(1)1351》16秋在线作业2
- 2021东营市地区高考成绩排名查询,东营高中学校实力排名,2021年东营所有的高中分数线排名...
- 8 9区别 endnote7_SAT和ACT的区别,你知道吗?
- 【多线程】ThreadPoolExecutor 类的使用详解
- 阿里云centos 6.3 安装宝塔nginx面板无法远程mysql数据库和无法FTP连接问题解决方法
- 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
- SQL output子句的用法
- Java 学习(21)--集合笔试题