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

相关推荐
经典199211 分钟前
mysql 锁介绍
数据库·mysql
不太可爱的大白12 分钟前
Mysql分片:一致性哈希算法
数据库·mysql·算法·哈希算法
~ 小团子14 分钟前
每日一SQL 【游戏玩法分析 IV】
数据库·sql·游戏
零叹17 分钟前
MySQL——常用程序and主从复制
数据库·mysql
胚芽鞘6814 小时前
关于java项目中maven的理解
java·数据库·maven
sun0077008 小时前
mysql索引底层原理
数据库·mysql
workflower10 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
Tony小周10 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen11 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)11 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据