oracle后台进程详解#进程结构

这篇具有很好参考价值的文章主要介绍了oracle后台进程详解#进程结构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、oracle进程结构

        oracle体系结构主要有实例+数据库;

        实例由内存结构(SGA+PGA+..)和进程结构(服务器进程+后台进程+..)组成;本文主要介绍进程结构

二、服务器进程

        Oracle数据库创建服务器进程来处理连接到该实例的客户端进程的请求。客户端进程始终通过单独的服务器进程与数据库通信。

        作用:

                解析并运行通过应用程序发布的SQL语句,包括创建和执行查询计划

                执行PL / SQL代码

                将数据文件中的数据块读入数据库缓冲区高速缓存(DBW后台进程的任务是将修改后的块写回到磁盘)

                返回结果的方式使应用程序可以处理信息

        服务器进程主要有2中

        (1)共享服务器进程(例如mysql)

        (2)专有服务器进程  (oracle)

                在专用服务器连接中,客户端连接仅与一个服务器进程关联。服务器进程在其PGA中存储特定于进程的信息和UGA。oralce就是专有服务器进程,每一个连接对应一个服务器进程

三、后台进程

        1.强制后台进程

            (1)进程监控进程(PMON)组

                PMON 进程监控进程

                        检测其他后台进程的终止

                        执行异常终止的后台进程恢复
                CLMN 清理主要进程

                        CLMN会定期清除终止的进程,终止的会话,事务,网络连接,空闲会话,

                        分离的事务以及已超过其空闲超时的分离的网络连接。
                CLnn 清理辅助进程 

                        CLMN将清理工作委托给CL nn协助清理进程。辅助进程的数量与要完成的清理工作量和当前的清理效率成正比。        

                这些进程负责监视和清除其他进程, 数据库必须确保释放已终止进程所拥有的资源,以便其他进程可以使用它们

                【数据库资源隔离,PMON组可以自动隔离损坏的不可恢复的资源,以便不会立即强制终止数据库实例。PMON组继续对保存隔离资源的进程或会话执行尽可能多的清除。】


            (2)进程管理器(PMAN)

                PMAN监视,产生并停止以下类型的过程

                        1、分派器和共享服务器进程

                        2、数据库驻留连接池的连接代理和池化服务器进程

                        3、作业队列流程

                        4、可重启后台程序

                PMAN监督几个后台进程,包括共享服务器,池化服务器和作业队列进程。 


            (3)监听器注册进程(LRGE)

                监听器登记处理(LREG)有关数据库实例和调度程序进程与Oracle网络监听信息。

                实例启动时。LREG会轮询侦听器以确定它是否正在运行。如果侦听器正在运行,则LREG会传递相关参数;反之,LREG会定期尝试与它联系。


            (4)系统进程监控进程(SMON)

        系统监视处理(SMON)是负责各种系统级清理职责。

                1、必要时在实例启动时执行实例恢复。

                2、恢复由于文件读取或表空间脱机错误而在实例恢复期间跳过的终止事务。

                3、清理未使用的临时段。

                4、在字典管理的表空间内合并连续的自由范围


            (5)数据库写进程(DBWn)

        DBW进程将数据库缓冲区高速缓存中的已修改缓冲区写入磁盘。(数据量大时会增加进程数DBW0~DBW99)。

       在以下情况下,DBW进程将脏缓冲区写入磁盘:

                1、当服务器进程在扫描阈值数量的缓冲区后无法找到干净的可重用缓冲区时,它会向DBW发出写信号。

                2、DBW定期写入缓冲区以推进检查点,检查点是重做线程中从其开始实例恢复的位置。


            (6)日志写入进程(LGWR)

        如果无法访问日志文件,则LGWR继续写入组中的其他文件,并将错误写入LGWR跟踪文件和警报日志。如果组中的所有文件都已损坏,或者该组由于尚未归档而无法使用,则LGWR无法继续运行

        日志写进程(LGWR)管理联机重做日志缓冲区。

        在以下情况下,LGWR将自上次写入以来已复制到缓冲区的所有重做条目写入:

                1、用户提交交易。

                2、发生联机重做日志切换。

                3、自LGWR上次写信以来已经过去了三秒钟。

                4、重做日志缓冲区已满三分之一,或包含1 MB的缓冲数据。

                5、DBW必须将修改后的缓冲区写入磁盘。

        DBWn可以写入脏缓冲区之前,数据库必须将与更改缓冲区相关联的重做记录写入磁盘(预写协议)。如果DBW发现某些重做记录尚未写入,他将通知LGWR将记录写入磁盘,并等待LGWR完成,然后再讲数据缓冲区写入磁盘。


            (7)检查点进程(CKPT)

                检查点进程(CKPT)更新控制文件和数据文件头与检查点信息和DBW到写入块到磁盘的信号。

                检查点信息包括检查点位置,SCN和联机重做日志中开始恢复的位置。


            (8)管理信息的采集进程组(MMON)(MMNL)

                MMON 管理监控进程

                        管理监控进程(MMON)执行相关的许多任务自动工作负载(AWR)
                MMNL 管理监控精简进程

                        可管理性监控精简进程(MMNL)将来自SGA中活动会话历史记录(ASH)缓冲区的统计信息写入磁盘。当ASH缓冲区已满时,MMNL写入磁盘


            (9)恢复进程(RECO)

                在分布式数据库中,恢复程序(RECO)自动解决分布式事务中的故障。

        2.可选后台进程

            (1)归档进程(ARCn)

                一个归档进程程序(ARCn)副本联机重做日志文件到离线存储重做日志切换发生后。

                这些过程还可以收集事务重做数据并将其传输到备用数据库目标。仅当数据库处于ARCHIVELOG模式并且启用自动归档时,ARC n进程才存在。


            (2)作业队列进程组(CJQ0)(Jnnn)

        动态作业队列进程可以在给定的时间间隔内同时运行许多作业,:

                1、Oracle Scheduler会根据需要自动启动和停止作业协调器进程(CJQ0)。

协调器进程会定期从系统JOB$表中选择需要运行的作业。选择的新作业按时间排序。

                2、协调器进程动态生成作业队列从属进程(Jnnn)以运行作业。

                3、作业队列进程运行CJQ0进程选择要执行的作业之一。每个作业队列进程一次运行一个作业,直到完成

                4、该过程完成单个作业的执行后,将轮询更多作业。如果没有计划执行的作业,则它将进入睡眠状态,从睡眠状态开始,它会定期唤醒并轮询更多的作业。如果该进程未找到任何新作业,则它将在预设间隔后终止。


            (3)闪回数据存档进程(FBDA)

        闪回数据存档进程(FBDA)是后台进程,提供了在表的整个生命周期内跟踪和存储表中事务性更改的功能。这样,您可以及时向后闪回表,以恢复表的状态。

        提交修改跟踪表的事务时,FBDA会检查是否正在⽣成新的Undo,过滤与标记为存档的对象相关的内容,并将Undo信息复制到闪回数据存档表空间中。FBDA维护当前行上的元数据,并跟踪已存档的数据量。

        FBDA还负责自动管理闪回数据存档的空间,组织(分区表空间)和保留时间。FBDA还跟踪已跟踪交易的归档进度。

        FBDA可以作为线程或操作系统进程运行。


            (4)空间管理协调进程 (SMCO)

                SMCO流程协调各种与空间管理相关的任务的执行。

                典型的任务包括主动空间分配和空间回收。SMCO动态产生从属进程(W nnn)以执行任务。

        3.从属进程

            (1)I/O从属进程(Innn)

        I / O从属进程(Innn)为不支持异步I/O的系统和设备模拟异步I / O,

异步I / O中,传输没有时序要求,从而使其他进程可以在传输完成之前启动

数据库支持不同类型的I / O从站,包括:

                1、Recovery Manager(RMAN)的I / O从属

使用RMAN备份或还原数据时,可以将I / O从属设备同时用于磁盘和磁带设备。

                2、如果使用多个数据库编写器进程不切实际(例如,当计算机只有一个CPU时),则数据库可以在多个从属进程上分配I / O。DBW是唯一扫描缓冲区高速缓存LRU列表以查找要写入磁盘的块的进程。但是,I / O从属为这些块执行I / O。

            (2)并行执行服务器进程(PX)


        查询协调器

        在并行执行中服务器进程充当查询协调器(也称为并行执行协调器)

        负责以下工作:

                1、解析查询

                2、分配和控制并行执行服务器进程

                3、将输出发送给用户

        生产和使用

        生产者负责处理其数据,然后将其分发给需要它的使用者

                并行执行中,多个进程同时运行以运行单个SQL语句。通过在多个进程之间划分工作,Oracle数据库可以更快地运行该语句。文章来源地址https://www.toymoban.com/news/detail-727711.html

到了这里,关于oracle后台进程详解#进程结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(87)
  • 【Oracle】收集Oracle数据库内存相关的信息

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) Oracle数据库包含多个内存区域,每个区域都包含多个子组件。 Oracle Database Memory Structures 根据具体问题的需要,可以通过如下命令收集Oracle数据库内存相关的信息。 例: 注:SET

    2024年01月21日
    浏览(55)
  • 【Oracle】使用 SQL Developer 连接 Oracle 数据库

    SQL Developer 是 Oracle 官方推出的一款免费的数据库开发工具,它提供了丰富的数据库开发功能,其中包括连接 Oracle 数据库的功能。 在本文中,我们将从多个方面详细阐述如何使用 SQL Developer 连接 Oracle 数据库。 在连接 Oracle 数据库前,需要需要做一些准备工作,包括安装 SQ

    2024年02月06日
    浏览(55)
  • Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(48)
  • Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    标签:HikariCP、数据库连接池、JDBC连接池、 释义:HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 ★ Java代码 ※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

    2024年02月13日
    浏览(43)
  • 数据库(二) Oracle篇

    概述 SQL函数有单行函数和多行函数,其区别为: 单行:输入一行,返回一行,如字符、数字、转换、通用函数等 多行:输入多行,返回一行,也称为分组函数、组函数、聚合函数, 且多行函数会自动滤空 字符函数 CONCAT( X,Y): 连接字符串X和Y INSTR(X,STR) : 后面STR在前面字符串X第一次

    2024年02月10日
    浏览(42)
  • Oracle大型数据库技术

    sqlplus 记录实验过程的方法: 开启相关服务 oracleserviceORCL 控制面板–管理–服务–找到后开启 命令行方法: cmd–net start|stop oracleserviceorcl 常用操作 显示当前用户名 常用的用户名和口令 :dba用户,默认口令:change_on_install,Oraclell,必须以sysdba或者sysoper身份登录 system: 普通管

    2024年02月19日
    浏览(38)
  • ORACLE数据库 开窗函数

    开窗函数 2.1开窗函数的定义及语法 开窗函数(又名:分析函数,窗口函数,OLAP函数) 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据按照一定的规则分组,统一分析各组的某项情况,每行数据返回一行结果 (

    2024年02月11日
    浏览(36)
  • oracle数据库巡检脚本

    用于Oracle数据库巡检的示例脚本: 

    2024年02月14日
    浏览(50)
  • 快速监控 Oracle 数据库

    Oracle 数据库在行业内应用广泛,通常存放的非常重要的数据,监控是必不可少的,本文使用 Cprobe 采集 Oracle 监控数据,极致简单,分享给大家。 安装配置 Oracle 简单起见,我使用 Docker 启动 Oracle,命令如下: 如上命令启动之后,Oracle 的监听端口是 1521,用户名/密码是 syst

    2024年01月20日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包