oracle 23ai新的后台进程bgnn介绍

前言

昨天发文研究了哪些oracle 后台不能杀 具体文章如下链接

oracle哪些后台进程不能杀?-CSDN博客

其中23ai中新增了一个后台进程bgnn但是在oracle 23ai database reference中并没有找到该后台进程

有点不甘心就开了个SR,找oracle 官方来看看这个后台进程是个啥?

oracle 23ai新增后台进程bgnn

oracle suppert很快找到了答案,23ai确实新增bgnn进程,但是该进程的介绍在23ai的database reference里没有,在introduction-to-oracle-rac文档中确有介绍。一般来说database reference中应该包含当前版本的所有的后台进程包含rac的,这里应该是新版本的一个小问题。

  • BG00: Background Process

    The ora_bg is a standard background process in Oracle RAC environments that performs various maintenance and monitoring tasks. It is responsible for buffer cache management, log writer (LGWR) process support, checkpoint coordination, background process monitoring, and statistics gathering.

从bg00的介绍来看应该是rac环境下的,但是单实例也是存在的。

kill bg00会怎么样?如下是测试结果

1.正常会有三个后台进程bg00 bg01 bg02

  1. kill掉任意一个进程不会引起实例崩溃

3.连续kill掉2个bg进程后,会自动生产一个bg02进程

4.如果这时再去kill掉一个bg进程 则实例崩溃

复制代码
[oracle@SZSPLORACLE01T ~]$ ps -ef|grep db_bgoracle   2092278       1  0 13:49 ?        00:00:02 db_bg00_FREEoracle   2092290       1  0 13:49 ?        00:00:00 db_bg01_FREEoracle   2092298       1  0 13:49 ?        00:00:01 db_bg02_FREE[oracle@SZSPLORACLE01T ~]$ ps -ef|grep db_bgoracle   2030536       1  0 Jul09 ?        00:00:26 db_bg01_FREEoracle   2030544       1  0 Jul09 ?        00:00:55 db_bg02_FREEoracle   2092133 2092024  0 13:48 pts/1    00:00:00 grep --color=auto db_bg[oracle@SZSPLORACLE01T ~]$[oracle@SZSPLORACLE01T ~]$ kill -9 2030536[oracle@SZSPLORACLE01T ~]$[oracle@SZSPLORACLE01T ~]$ ps -ef|grep db_bgoracle   2030544       1  0 Jul09 ?        00:00:55 db_bg02_FREEoracle   2092137       1  0 13:48 ?        00:00:00 db_bg02_FREE--->生产一个新的bg02oracle   2092149 2092024  0 13:48 pts/1    00:00:00 grep --color=auto db_bg[oracle@SZSPLORACLE01T ~]$ ps -ef|grep db_bgoracle   2030544       1  0 Jul09 ?        00:00:55 db_bg02_FREEoracle   2092137       1  0 13:48 ?        00:00:00 db_bg02_FREE oracle   2092152 2092024  0 13:48 pts/1    00:00:00 grep --color=auto db_bg[oracle@SZSPLORACLE01T ~]$ kill -9 2030544[oracle@SZSPLORACLE01T ~]$ ps -ef|grep db_bgoracle   2092183 2092024  0 13:49 pts/1    00:00:00 grep --color=auto db_bg

alert log 日志

复制代码
--ATTENTION--PMON (ospid: 2030436): terminating the instance due to ORA error 127522024-07-11T13:49:11.292688+08:00Instance terminated by PMON, PID = 2030436

如下oracle 官方在23ai EE内侧版本的测试,测试结果和free版本一致

正常会在数据库实例和asm下各有三个bg后台进程

PS:从官方的答复看,23ai EE版本的后台进程还是以ora_开头,应该不会改变几十年的传统命名(free版为啥改为db_开头 奇怪?)

复制代码
[oracle@node2 ~]$ ps -ef | grep bggrid 12725 1 0 Jul10 ? 00:01:34 asm_bg00_+ASM2grid 12733 1 0 Jul10 ? 00:00:55 asm_bg01_+ASM2grid 12739 1 0 Jul10 ? 00:01:05 asm_bg02_+ASM2oracle 13727 1 0 Jul10 ? 00:01:06 ora_bg01_orcl2oracle 13746 1 0 Jul10 ? 00:01:16 ora_bg02_orcl2oracle 13930 1 0 Jul10 ? 00:00:11 ora_rcbg_orcl2oracle 790200 1 0 06:40 ? 00:00:01 ora_bg02_orcl2oracle 794584 758730 0 06:49 pts/1 00:00:00 grep --color=auto bg[oracle@node2 ~]$[oracle@node2 ~]$ kill -9 13727[oracle@node2 ~]$[oracle@node2 ~]$ ps -ef | grep bggrid 12725 1 0 Jul10 ? 00:01:34 asm_bg00_+ASM2grid 12733 1 0 Jul10 ? 00:00:55 asm_bg01_+ASM2grid 12739 1 0 Jul10 ? 00:01:05 asm_bg02_+ASM2oracle 13746 1 0 Jul10 ? 00:01:16 ora_bg02_orcl2oracle 13930 1 0 Jul10 ? 00:00:11 ora_rcbg_orcl2oracle 790200 1 0 06:40 ? 00:00:01 ora_bg02_orcl2oracle 794850 758730 0 06:49 pts/1 00:00:00 grep --color=auto bg

[oracle@node2 ~]$ ps -ef | grep bggrid 12725 1 0 Jul10 ? 00:01:34 asm_bg00_+ASM2grid 12733 1 0 Jul10 ? 00:00:55 asm_bg01_+ASM2grid 12739 1 0 Jul10 ? 00:01:05 asm_bg02_+ASM2oracle 13746 1 0 Jul10 ? 00:01:16 ora_bg02_orcl2oracle 13930 1 0 Jul10 ? 00:00:11 ora_rcbg_orcl2oracle 790200 1 0 06:40 ? 00:00:01 ora_bg02_orcl2oracle 796394 758730 0 06:52 pts/1 00:00:00 grep --color=auto bg
[oracle@node2 ~]$ kill -9 13746
[oracle@node2 ~]$ ps -ef | grep bggrid 12725 1 0 Jul10 ? 00:01:34 asm_bg00_+ASM2grid 12733 1 0 Jul10 ? 00:00:55 asm_bg01_+ASM2grid 12739 1 0 Jul10 ? 00:01:05 asm_bg02_+ASM2oracle 796959 758730 0 06:53 pts/1 00:00:00 grep --color=auto bg--------------alert log-------------------2024-07-11T06:53:01.722861+00:00--ATTENTION--PMON (ospid: 13452): terminating the instance due to ORA error 127522024-07-11T06:53:06.687010+00:00ORA-1092 : opitsk aborting process2024-07-11T06:53:07.385092+00:00Shutdown abort by prelim connection

alert log

复制代码
[oracle@node2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 23.0.0.0.0 - Production on Thu Jul 11 06:40:19 2024Version 23.5.0.24.05
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - ProductionVersion 23.5.0.24.05
SQL> exitDisconnected from Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - ProductionVersion 23.5.0.24.05

结论

1.bgnn 标准后台进程,执行各种维护和监视任务。它负责缓冲区缓存管理、日志写入器(LGWR)进程支持、检查点协调、后台进程监控和统计信息收集。

2.虽然介绍是rac环境下的后台进程,其实单实例也会存在

3.异常情况下,可以kill一个bg进程,实例不会崩溃,别连续kill即可

参考文档

Introduction to Oracle RAC

https://docs.oracle.com/en/database/oracle/oracle-database/23/refrn/background-processes.html#GUID-86184690-5531-405F-AA05-BB935F57B76D

相关推荐
Y编程小白4 分钟前
PostgreSQL在Linux中的部署和安装教程
数据库·postgresql
TiAmo zhang2 小时前
SQL Server 2019实验 │ 数据库和表的创建、修改与删除
数据库·oracle
disanleya3 小时前
MySQL默认密码不安全?如何首次登录并强化?
数据库·mysql·安全
花开富贵贼富贵3 小时前
MySQL 核心高级特性
运维·数据库·mysql
hello 早上好3 小时前
深入 Spring 依赖注入底层原理
数据库·sql·spring
API快乐传递者3 小时前
抓取淘宝商品详情商品数据API接口调用说明文档|获取淘宝商品价格主图数据等
数据库
济南java开发,求内推3 小时前
Redis一个服务器部署多个节点
服务器·数据库·redis
花菜会噎住3 小时前
Django视图与路由全解析:从URL到页面,一篇讲透
数据库·django·sqlite·函数
-雷阵雨-4 小时前
MySQL——数据库约束
数据库·mysql
大筒木老辈子4 小时前
MySQL笔记---C/C++访问MySQL数据库
数据库·笔记·mysql