终于到了正文了,好久没有写了,这段时间比较忙,非常惭愧!
提起Oracle的体系结构,离不开下面这张图:
大家知道,在Oracle的服务器环境中,Oracle服务器由两个部分组成,分别是:Oracle的实例和Oracle的database,呵呵,实例和database,这两个词感觉简单,但是又感觉那么的抽象,我们需要先把这两个词搞定.
先说database吧,一直以来我们都知道Database就是数据库的意思,数据库又是什么呢?就是为了某种目的而特定组合到一起的数据集合,这个解释太不好理解了,这么说吧,数据库是存放数据的,那么数据在什么地方存储呢,在硬盘的文件上,呵呵,对了,Database就是实实在在的物理存在,说白了就是组成Oracle的数据库文件,大体上来说,这些文件有:控制文件,数据文件,redoLog日志文件,除了这些之外,还有:归档日志文件,口令文件,初始化参数文件等等。这些文件可以在数据库的数据目录的SID目录下找到,比如你的数据库数据文件位置D:\oracle\oradata,SID是xaccp那么你的数据库文件就可以在D:\oracle\oradata\xaccp下找到(默认是这个,当然当你在建立表空间时可以在其他地方放置数据文件)。因此可以说:Oracle的database是由那么一些硬盘上的文件组成的。
接下来我们说说实例,刚刚接触Oracle时,这个实例是不容易理解的,想想在Java中,我们定义一个对象,然后再实例化该对象,这里的实例化,就是把对象建立在内存中,也就是说申请一块内存来运行程序
,这里有2个名称我们不陌生,内存以及程序,好了,在Oracle中,实例就是指运行Oracle需要的内存以及运行在Oracle中的后台进程。官方一点的话说:Oracle实例由Oracle的内存结构以及后台进程组成
。
Oracle的内存结构由那些内存组成呢?又都有那些后台进程呢?我们又遇到了一些新的问题,下面我们慢慢的解释。
先说说内存结构吧,内存结构主要由SGA(系统全局区),以及PGA组成,我们主要说说SGA中的主要内容:
可以通过命令看看SGA内容:
SQL> show sga
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL>
共享池:
共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。
共享池由库缓存和数据字典缓存组成。库缓存中放的是什么呢?用户每次对服务器进行sql操作时,Oracle都要对sql语句进行语法坚持以及对sql语句进行编译,Oracle会把编译后的sql语句放在库缓存中,以供将来快速使用,数据字典缓存就是存放Oracle的数据字典(表现形式是数据字典视图)以及动态性能表(以V$开头的系统表,记录数据库的实时信息。)
共享池的大小直接影响数据库的性能。
数据缓冲区:
用于存储从磁盘数据文件中读入的数据,所有用户共享。
服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。
数据缓冲区的大小对数据库的读取速度有直接的影响。
日志缓冲区:
日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。
相对来说,日志缓冲区对数据库的性能影响较小。
其他的缓存大家google一下吧。
后台进程是干啥的?其实用户对服务器的操作就是服务器进程对数据库的操作,其实操作的是内存,比如一个insert语句,当数据进入数据缓冲区后,就说明数据库插入成功,至于什么时候与数据文件交互,是后台进程的事情,后台进程还要对系统管理,系统监控,数据同步,5日志读写等等。
可以通过命令来查看已经启动的后台进程:
select * from
v$bgprocess where paddr<>'00' --paddr如果不等于00,就说明该进程已经启动
关于具体的后台进程,我们后面在讨论吧,老婆催我休息了,最后总结一下,接下来的介绍都是围绕这个体系结构进行的。
分享到:
相关推荐
这一章节介绍了作者对于开发高效Oracle应用程序的方法论,强调了理解Oracle体系结构的重要性。通过对比黑盒方法与正确的方法,作者引导读者认识到掌握数据库内部运作机制对于优化性能、避免常见问题以及提高代码质量...
《Oracle Database 9i/10g/11g编程艺术:深入数据库体系结构(第2版)》是一本专为Oracle数据库开发者和管理员精心编写的权威指南。这本书全面覆盖了Oracle数据库9i、10g和11g版本的核心技术和最佳实践,旨在帮助...
Oracle系列培训教程:数据库体系结构
了解 Oracle 体系结构可以帮助开发者更好地使用 Oracle,提高开发效率和数据安全性。 Oracle 体系结构的优点: 1. 高性能:Oracle 体系结构可以提供高性能的数据存储和检索功能。 2. 高可用性:Oracle 体系结构...
- **了解Oracle体系结构**:解析了Oracle的内部结构和组件。 - **理解并发控制**:讲解了并发控制的概念和技术。 - **多版本**:介绍了Oracle如何处理多版本数据的问题。 - **数据库独立性**:探讨了如何设计...
本文将详细解析Oracle数据库的体系结构,帮助读者深入理解其内部工作原理。 Oracle数据库的核心架构可以分为以下几个主要部分: 1. **数据文件**(Data Files):数据文件是Oracle数据库存储实际数据的地方,包含...
Oracle 12c数据库体系结构图文详解手册是 Oracle 12c数据库管理系统的核心组件之一,该手册详细介绍了 Oracle 12c数据库的体系结构、实例、数据库、内存结构、后台进程、控制文件、重做日志文件、数据文件等概念。...
oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图oracle体系结构图
深入理解Oracle数据库体系结构,大师之作,推荐阅读。
高清淅的一本 ORACLE数据库教程的书籍,阅读此书,你将了解到Oracle数据库应用设计的一些重要概念。如果你确实领会了这些思想,相信你肯定也会对所面对的难题“换角度思考”。 IBM的Watson曾经说过:“自始以来,...
【Oracle 体系结构详解】 Oracle数据库的体系结构是其高效管理和优化数据操作的关键。这个复杂的架构设计主要目的是为了有效地管理数据库系统中的稀缺资源,特别是内存,以提高性能并确保数据的完整性和可用性。 1...
1. **数据库概念**:了解数据库的基本原理,包括关系型数据库模型、数据存储结构以及Oracle数据库体系结构。这包括表空间、数据文件、控制文件、重做日志文件等组件的作用和配置。 2. **安装与配置**:学习如何在...
### Oracle体系结构详解 Oracle体系结构是理解Oracle数据库工作原理的关键。本文将深入解析Oracle的基本组成、实例(Instance)结构以及内存结构等核心概念。 #### 一、Oracle基本组成 Oracle的基本组成部分包括...
以下是对Oracle体系结构主要组成部分的详细说明: 1. **数据库**:数据库是Oracle的核心,它是一个逻辑数据集合,包含了物理存储的数据以及元数据。Oracle是关系型数据库管理系统(RDBMS),意味着它以表格形式组织...
无论你是程序员还是dba,要创建和管理稳定、高质量的oracle系统,归根结底都需要理解oracle数据库的体系结构。 本书是讲述oracle数据库毋庸置疑的权威指南,凝聚了世界顶尖的oracle专家thomas kyte数十年的宝贵...
标题:“Oracle11g体系结构图” 描述:“Oracle11g体系结构图,oracle结构清清楚楚” **一、Oracle11g体系结构概览** Oracle11g是Oracle公司推出的一款高性能、高可用性和高安全性的关系型数据库管理系统。其体系...
oracle体系结构思维导图
以上内容涵盖了Oracle Database 10g 在数据库管理方面的核心知识点,包括其体系结构、物理与逻辑结构、安装配置流程、数据库创建与管理工具以及实例管理等方面。对于学习者来说,掌握这些知识不仅有助于理解Oracle ...