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

相关推荐
2301_813599555 小时前
如何设计MongoDB的金融交易流水表_防篡改与精确金额存储Decimal128
jvm·数据库·python
m0_676544385 小时前
MySQL报错Client does not support authentication_升级客户端
jvm·数据库·python
z4424753265 小时前
SQL中GROUP BY与WHERE子句顺序_如何正确在聚合前过滤数据
jvm·数据库·python
RNEA ESIO5 小时前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
mOok ONSC5 小时前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
吕源林5 小时前
golang如何实现项目错误码规范_golang项目错误码规范实现指南
jvm·数据库·python
qq_372906935 小时前
Layui表格怎么实现在表头的右侧添加一个自定义配置图标
jvm·数据库·python
菜菜小狗的学习笔记5 小时前
八股(七)数据库
数据库
Bert.Cai5 小时前
MySQL CONCAT()函数详解
数据库·mysql
qq_342295825 小时前
SQL如何利用聚合函数生成业务分析指标_KPI计算基础教程
jvm·数据库·python