Oracle数据库系统管理与运维 | Oracle体系结构与性能优化

简介: Oracle数据库系统管理与运维 | Oracle体系结构与性能优化

本文将带大家了解数据库的体系结构,观察用户与数据库是如何交互的,交互期间动用了哪些结构?


Oracle从11g过渡到12c,再到如今的19c,体系结构也发生了改变,在Oracle 12c之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入Oracle 12c后,实例与数据库可以是一对多的关系。


也就是说在12c版本后,会在数据库容器(CDB)下创建多个可插拔数据库(PDB),每个PDB类似于11g里面的实例,然后一个CDB下的各个PDB是相互隔离的,也就是所谓的多租户体系结构概念。


图1-16为多租户容器数据库(cdbs)体系结构图,图1-17为传统数据库(non-cdbs)体系结构图。

image.png

image.png

从Oracle数据库服务器的体系结构图中,Oracle的体系结构可以从以下四个组成部分入手了解:用户进程、服务器进程、Oracle实例与数据库。


01、用户进程


Oracle的进程分为用户进程、服务器进程和后台进程,其中后台进程包含在Oracle实例里;用户进程是在客户机内存上运行的程序,在用户请求连接Oracle数据库时建立。它可以是多种多样,例如常用的用户进程有:SQL Plus,PL/SQL Develop、OEM、Java语言编写的应用程序和Pro*C编写的程序等。这些程序在运行状态下就称为用户进程,这些程序都通过标准的数据库访问API接口,并与Oracle服务器进行交互。


02、服务器进程


与用户级进程对应的进程就是服务器进程,服务器进程就是接收客户端发来的请求(如查询、修改等),并监护着完成这类请求的服务端程序。服务器进程直接同Oracle服务器交互,执行用户请求并返回结果,所以服务器进程是Oracle服务器对外交互的接口,相当于Oracle服务器的“外交部”。服务器进程主要用来分析和执行SQL语句,当所需的数据不在SGA内存中时,还需要完成从磁盘数据文件复制到系统全局区(SGA)的共享数据缓冲区等工作。


03、Oracle实例


若要服务器进程与Oracle数据库服务器实现交互,必须要通过访问数据库文件的唯一通道——Oracle实例。Oracle实例就是Oracle利用后台内存结构和后台进程来管理Oracle数据库并提供服务的。它是一组Oracle的后台进程(Background Process)以及在服务器中分配的共享存储区域(System Global Area)。


04、数据库


Oracle数据库是数据的物理存储。数据库的物理文件主要包括数据文件、控制文件、联机日志、参数文件等。


用户进程、服务器进程、Oracle实例与数据库通力合作即可完成Oracle的工作流程,其操作步骤如下:

(1)步骤1:用户与用户进程交互。

(2)步骤2:用户进程与服务器进程交互。

(3)步骤3:服务器进程与Oracle实例交互。

(4)步骤4:Oracle实例和数据库进程交互。


05、性能调整需要的角色分配


Oracle性能优化涉及的方面很多,贯穿整个数据库管理系统始末,需要各个角色的数据库从业者通力配合,而单纯依靠数据库管理员(DBA)只能完成部分优化功能。


Oracle性能调整需要的角色分配如图15-1所示。

image.png


06、应用周期中调整的代价


多数用户认为,只有在性能差时才需进行调优,但这时进行调优会使用某些最有效的调整策略发挥不了作用。如果用户不愿意重新设计应用,则只能通过内存优化和I/O 优化的办法提高性能。


通过良好的系统设计,就可以在应用系统的生命周期中消除性能调整的代价和挫折,图15-2所示的是在应用的生命周期中,调整的相对代价和收益,由图可知,最有效的调整时间是在设计阶段,在设计期间进行的调整,能以最低的代价获得最大的收益。

image.png


对于有明显提示的错误,只要时间充足,大多数DBA都能通过错误提示对未知问题做出基本的判断,找到改正错误的方向。


但是在大多数数据库操作人员的眼里,数据库的性能优化是看不见摸不着,难以掌握的。


之所以带给人这样的感觉,是因为数据库在出现性能问题时不报错,这就给诊断问题、解决问题带来了一定的难度。


07、数据库性能优化重点


在实际运作中,最好的切入点是优化数据库系统内存。


就像在前几篇文章中介绍的数据库体系结构中讲到的,只要将大多数磁盘(I/O)操作转换成内存操作,数据库系统的效率就会显著提高。


之后就要考虑优化数据库系统的I/O,因为如果能减少I/O的数据量或平衡I/O,系统的效率也会大大提高。


这两个部分将是DBA继续优化工作的重点。


08、数据库性能优化目标


数据库性能优化并没有统一的标准步骤,“不管黑猫白猫,捉住老鼠就是好猫”这句话在数据库性能优化领域也同样适用。


一个性能优化项目的目标可以简述如下。

(1)增大数据库吞吐量。如通过数据库优化增加每秒执行的事务数。

(2)高效利用服务器硬件资源。如开启并行充分利用CPU和存储I/O资源,以加快执行速度。


09、数据库性能优化基本方法


尽管引起数据库性能故障的原因千变万化,但是解决方法还是有一定规律可循的。


下面介绍一些常见的性能优化的基本方法。

(1)建立数据库性能基线(Baseline)。观察数据库运行正常时的各种指标,主要包括主机资源和数据库资源的消耗情况。

(2)寻找关键变化,对照性能基线找出偏差所在。

(3)定位主要影响因素,在进行数据库性能优化时抓住主要矛盾,找出影响数据库性能的“瓶颈”。

(4)检查操作系统资源,包括CPU、内存与I/O,以及网络资源。


目录
相关文章
|
4天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI在IT管理中的应用与挑战
【6月更文挑战第12天】随着人工智能(AI)技术的不断进步,其在IT运维领域的应用也日益广泛。本文将探讨AI如何改变传统的运维模式,提升效率和准确性,并分析在实施智能化运维过程中可能遇到的技术挑战和解决方案。
11 2
|
11天前
|
存储 SQL BI
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
|
1天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之在进行Oracle数据库的全量同步时,只同步了一条数据而源表实际上包含多条数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1天前
|
数据采集 机器学习/深度学习 人工智能
智能化运维:AI在IT管理中的应用与挑战
【6月更文挑战第15天】随着人工智能(AI)技术的飞速发展,其在IT运维领域的应用正变得日益广泛。本文将探讨AI技术如何革新传统的IT运维模式,提升效率和准确性,并分析在实施智能化运维过程中可能遇到的挑战。
|
2天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL 存储 关系型数据库
深入理解MySQL:数据库管理与性能优化
第一章:MySQL基础 MySQL概述:简要介绍MySQL的历史、特点和应用领域
|
2天前
|
SQL 关系型数据库 MySQL
精通MySQL:从数据库管理到性能优化
第一章:MySQL入门 MySQL简介:了解MySQL的起源、发展历程以及在Web开发中的重要性
|
2天前
|
关系型数据库 MySQL 数据库
精通MySQL:数据库管理、性能优化与最佳实践
h3> 一、引言 MySQL是一个功能强大的开源关系型数据库管理系统,广泛应用于各种Web应用、企业级应用和数据分析等领域
|
2天前
|
机器学习/深度学习 存储 人工智能
智能化运维:未来的IT服务管理
【6月更文挑战第14天】本文将探讨智能化运维的概念、优势以及在IT服务管理中的应用。随着人工智能和机器学习技术的发展,智能化运维已经成为了IT服务管理的新趋势。通过引入智能化运维,企业可以提高效率、降低成本并提升服务质量。
|
3天前
|
机器学习/深度学习 人工智能 运维
智能化运维:未来IT管理的新浪潮
【6月更文挑战第13天】在数字化时代,随着企业对信息技术的依赖程度不断加深,传统的运维方式已难以满足日益复杂的系统管理需求。本文将探讨智能化运维的概念、优势以及实施智能化运维的关键步骤,旨在为企业提供一种更高效、更智能的IT管理方案。

热门文章

最新文章

推荐镜像

更多