0

0

【Oracle笔记】1.Oracle体系结构

php中文网

php中文网

发布时间:2016-06-07 17:14:14

|

1404人浏览过

|

来源于php中文网

原创

【Oracle笔记】1.Oracle体系结构,oracle例程是一种访问数据库的工具,由内存结构和后台进程组成,始终打开一个,并且只能打开一

      体系结构
一、基本组成
1.oracle服务器是一个数据库管理系统,包括oracle例程(oracle instance)和oracle数据库(oracle database)。
2.oracle例程是一种访问数据库的工具,由内存结构和后台进程组成,始终打开一个,并且只能打开一个数据库,与数据库是一个一对多的关系。
3.oracle数据库是一个被处理的数据集合,包括三类文件:数据文件(data files),控制文件(control files),重做日志文件(redo log files)。另外还有一些辅助的,参数文件(parameter),密码文件(password)和归档日志文件(archived log files)
 数据文件包括数据库中的实际数据
 控制文件包括维护和验证数据库完整性所需的信息
 重做日志文件包含数据库的更改记录,可以在出现故障时用来恢复数据
 参数文件用来定义oracle例程的特性,主要用来规定内存和数据库中的参数
 密码文件验证那些用户有权启动和关闭oracle的例程
 归档日志文件是重做日志文件的脱机副本,重做日志文件写满后会循环覆盖掉,归档日志文件则会记录所有的重做日志。
4.物理结构包括三种文件类型:控制文件(以.ctl为后缀的文件),数据文件(以.dbf为后缀的文件,数据字典也属于数据文件),重做日志文件(以log为后缀的文件)
 二、内存结构
1.oracle的内存结构由两个内存区组成:系统全局区(sga)和进程全局区(pga)
  sga在oracle例程启动的时候分配,是一段连续的以粒组(granules:当sga  pga在服务器进程启动时分配,
2.sga包括以下几种基本的内存结构:
   共享池(shared pool):用于存储最近执行的sql语句和最近使用的数据定义。包括两个部分。
       a、库高速缓存(library cache):存储有关最近使用的sql和pl/sql语句的信息,由“最近最少使用算法”(lru)——当高速缓存填满的时候,将删除高速缓存中最近很少使用的执行路径和语法分析树。也包括两个结构:共享的sql区(shared sql area)和共享的pl/sql区(shared sql area)。
       b、数据字典高速缓存(dictionary buffer cache):数据库中最近使用的定义的集合,包括数据库的文件、表、索引、列、用户、权限和其他的数据库对象相关的信息,(有关用户账户数据,数据文件名、段名、区的位置、表的说明和用户权限信息都保存在数据字典表中)。
   数据库缓冲区高速缓存(database buffer cache):存储已从数据文件中检索到的数据块的副本。并通过lru算法管理。
   重做日志缓冲区(redo log buffer):记录对数据库数据块所做的全部修改。主要用于恢复。
   大型共享池(large pool):sga中的可选内存区,用于共享服务器的会话内存(uga),i/o服务器进程,备份和恢复操作或rman,并行执行消息缓存区。不使用lru
   java池(java pool):存储java命令的服务分析要求,在安装并使用java时是必需的。
3.pga是为连接到oracle数据库的每个用户进程保留的内存,在创建进程时分配,在终止进程时收回,仅供一个进程使用。pga内存包括下列组件:
    专用sql区:包含绑定信息和运行时内存结构之类的数据。
    会话内存:包含为会话变量以及与该会话相关的其它信息而分配的内存。
    sql工作区:用于大量占用内存的操作。
三、进程结构
1.oracle的几种进程
    用户进程:在数据库用户请求连接到oracle服务器时启动,一般启动与连接oracle服务器的客户端,不与oracle服务器直接交互,,而是通过用户程序结构(upi)生成各种调用
    服务器进程:与oracle例程相连接,在用户建立会话时启动,执行生成的调用并返回相关的结果给用户,用户进程断开连接后,服务器进程就会终止
    后台进程:在oracle例程启动时启动,有五个必备的后台进程和其他可选后台进程
       a、数据库写入程序(dbwn):服务器进程在数据库缓冲区高速缓存中记录对还原块和数据块所做的更改。dbwn将数据库缓冲区高速缓存中的灰数据缓冲区写入数据文件。dbwn延迟写入数据文件,直到发生下列事件之一:
             增量或正常检查点
             灰数据缓冲区的数量达到阀值
             进程扫描指定数据的块而无法找到任何空闲缓冲区时
             出现超时
             rac集群环境中出现ping请求
             使一般表空间或临时表空间处于脱机状态
             使表空间处于只读模式
             删除或截断表
             执行alter tablespace 表空间名 begin backup操作   
        b、日志写入器(lgwr):将重做日志缓冲区的信息写入重做日志文件,发生在下列事件中:
              当提交事务时
              当重做日志缓冲区的三分之一填满时
              当重做日志缓冲区中纪录了超过1mb的更改时
              在dbwn将数据缓冲区高速缓存中修改的块写入数据文件以前
              每隔三秒
         c、系统监控程序(smon):用于例程恢复(前滚重做日志中的更改,打开数据库供用户访问,回退未提交的事务处理)、合并空闲空间、回收临时段。
         d、进程监视器(pmon):在例程失败后,回退事务处理,释放锁,释放其他资源,重新启动已失效的调度程序
         e、检查点(ckpt):包括在检查点发信号给dbwn、使用检查点信息更新数据文件的标头,使用检查点信息更新控制文件。检查点的时间间隔为3秒,检查点的用途是确保数据库缓冲区高速缓存中在时间点之间发生修改的所有缓冲区内容都已写入数据文件。
          f、归档程序(arcn):可选的后台进程,设置archivelog(归档日志)模式时自动归档联机重做日志,保留数据库的全部更改记录。

ColorMagic
ColorMagic

AI调色板生成工具

下载

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

16

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

23

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

75

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

95

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

218

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

420

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

168

2026.03.04

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

222

2026.03.03

C++高性能网络编程与Reactor模型实践
C++高性能网络编程与Reactor模型实践

本专题围绕 C++ 在高性能网络服务开发中的应用展开,深入讲解 Socket 编程、多路复用机制、Reactor 模型设计原理以及线程池协作策略。内容涵盖 epoll 实现机制、内存管理优化、连接管理策略与高并发场景下的性能调优方法。通过构建高并发网络服务器实战案例,帮助开发者掌握 C++ 在底层系统与网络通信领域的核心技术。

33

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 4.9万人学习

SQL 教程
SQL 教程

共61课时 | 4.3万人学习

C 教程
C 教程

共75课时 | 5.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号