oracle哪些后臺進程不能殺?

oracle 有很多的后臺進程,在遇到特殊情況的時候如鎖表,如果等待的是一個后臺進程,那這時就需要考量是不是能殺掉這個后臺進程?殺掉這個后臺進程會不會引起實例崩潰?本著實踐出真知,本文針對oracle 11g,oracle 19c,和oracle 23ai三個版本,將系統的后臺進程輪流殺掉看看會不會引起實例崩潰。

1.數據庫實例

1.1測試腳本輪流kill后臺進程?

大家已經熟知的pmon,smon,dbwr,lgwr,ckpt,mman這六個核心進程 殺掉肯定會實例崩潰,所以腳本中剔除了這六個

#!/bin/sh?function startup(){    sqlplus / as sysdba<<EOF    startup    exitEOF}?started=`ps -ef | grep pmon | grep -v grep | awk '{print $2}'`test -z "$started" && startup >> /dev/nullsleep 5?# List of Oracle background processes to exclude from killingexclude_processes="pmon|smon|dbw0|dbw1|lgwr|ckpt|mman"?# Get list of Oracle processesprolist=`ps -ef | grep ora | egrep -v "bash|su|h|ps|grep|more|sleep|awk|LOCAL|sy                                                                             sdba|log|$exclude_processes" | awk '{print $NF}'`?for i in $prolistdo    proc_key=`echo $i | awk -F _ '{print $2}'`    pid=`ps -ef | grep $proc_key | grep -v grep | awk '{print $2}'`?    test -z $pid && echo "$proc_key does not exist" || {        echo "Killing process $proc_key with PID $pid"        kill -9 $pid        sleep 20?        # Check if PMON process exists        pc=`ps -ef | grep pmon | grep -v grep | wc -l`        echo "Number of PMON processes: $pc"?        if [ $pc -eq 0 ]; then            echo "Killed process $proc_key has caused instance crash!"            startup >> /dev/null            sleep 5        else            echo "Killed process $proc_key has not caused instance crash."        fi?    }done?


這里給出三個版本的測試結果
oracle 11g

Killed process vktm has caused instance crash!Killed process gen0 has caused instance crash!Killed process dbrm has caused instance crash!

oracle 19c

Killed process clmn has caused instance crash!Killed process vktm has caused instance crash!Killed?process?gen0?has?caused?instance?crash!Killed process lg00 has caused instance crash!Killed process lg01 has caused instance crash!Killed process lreg has caused instance crash!Killed process dbrm has caused instance crash!Killed process pman has caused instance crash!

oracle?23ai

Killed process clmn has caused instance crash!Killed process vktm has caused instance crash!Killed?process?gen0?has?caused?instance?crash!Killed process lg00 has caused instance crash!Killed process lg01 has caused instance crash!Killed process lreg has caused instance crash!Killed process dbrm has caused instance crash!Killed?process?pman?has?caused?instance?crash!Killed process bg02 has caused instance crash!?

1.2總結哪些數據庫后臺進程不能殺

oracle11g (9個)

oracle 19c (9+4=13個)
?

?官方文檔中沒有bgnn介紹?

  • PMON (Process Monitor):

    • 負責監視后臺進程和用戶進程的狀態。當檢測到用戶進程異常或斷開連接時,PMON負責清理相關資源并釋放鎖定。

  • SMON (System Monitor):

    • 處理系統級別的事務和數據庫實例的恢復。SMON負責維護數據庫的一致性,包括回滾未完成的事務和清理臨時段。

  • DBWR (Database Writer):

    • 負責將緩沖區中的數據寫回磁盤。DBWR根據需要執行檢查點(Checkpoint),以確保數據庫的一致性和持久性。

  • LGWR (Log Writer):

    • 將重做日志緩沖區中的日志記錄寫入重做日志文件。LGWR確保事務的持久性,允許數據庫在崩潰后進行恢復。

  • CKPT (Checkpoint Process):

    • 負責在數據庫實例中定期執行檢查點操作。檢查點將數據庫緩沖區中的已修改數據寫入數據文件,以便恢復操作。

  • MMAN (Memory Manager):

    • 管理數據庫實例中的內存分配和使用。MMAN負責自動調整共享池和其他內存結構的大小,以優化數據庫性能。

  • VKTM (Virtual Keeper of Time):

    • 提供數據庫實例中的時間服務。VKTM管理數據庫中所有時間相關操作,包括等待事件和事務時間戳。

    • oracle 11g新引入的后臺進程。

  • DBRM (Database Resource Manager):

    • 管理數據庫資源的分配和使用,包括CPU、I/O和連接數等。DBRM確保不同用戶和應用程序之間的資源分配公平和有效。

    • oracle 11g新引入的后臺進程

  • GEN0 (Generic Background Process):

    • 通用后臺進程,用于處理數據庫實例中的各種系統任務和管理操作。

    • oracle 10g引入的后臺進程

    23ai?(13+1=14個)

    ?新增bgnn進程,23ai確實有多個后臺bgnn進程,kill掉還會實例崩潰?應該是關鍵進程,但是在官方的reference卻沒有?非常奇怪!有知道的大佬留言指教一下!

    • CLMN (Cleanup Main Process)

      • 功能:負責在Oracle實例中執行清理任務。

      • 職責:管理清理死進程、終止會話、事務、網絡連接、空閑會話、已分離事務以及超過空閑超時的網絡連接。
        oracle 12c引入和clnn一起協助pmon處理一些清理工作

    • LGnn ( Log Writer Worker)

      • 功能:lgwr輔助進程。

      • 職責:在多處理器系統中,LGWR創建worker提高進程寫入性能

      • oracle19c引入協助lgwr進程處理并發提高log寫入性能

    • LREG ( Listener Registration Process)

      • 功能:將Oracle實例注冊到監聽器。

      • 職責:通知監聽器有關實例、服務、處理程序和端點的信息。確保監聽器知道可以連接的數據庫服務。

      • oracle 12c引入

    • PMAN (Process Manager)

      • 功能:管理Oracle數據庫中的各種后臺進程。

      • 職責:根據需要監視、啟動和停止分發器和共享服務器進程、連接代理、用于數據庫駐留連接池的池化服務器進程、作業隊列進程以及可重啟后臺進程。

      • oracle 12c引入

2.ASM實例

除了以上的還有集群環境下ASM實例相關后臺進程,有如下四個ASM關鍵進程不能殺

  • ASMB (ASM Background Process)

    • 功能:ASMB 是 Automatic Storage Management (ASM) 的后臺進程。它主要用于維護 ASM 實例與 Oracle 實例之間的通信。ASMB 管理與 Oracle 實例的連接,處理 ASM 實例與客戶端之間的元數據操作請求,并協調數據重新平衡操作。

  • RBAL (ASM Rebalance Master Process)

    • 功能:RBAL 是另一個與 ASM 相關的進程。它負責分發重新平衡任務給其他 ASM 實例中的 ARBx 從屬進程。重新平衡操作在添加或刪除 ASM 磁盤時執行,以確保數據在磁盤組中的均勻分布。

  • PSP0 (Process Spawner Process)

    • 功能:PSP0 是 Process Spawner Process,負責生成和管理 Oracle 實例中的其他后臺進程。它確保所需的后臺進程在實例啟動時啟動,并在需要時生成新的進程。

  • GMON (ASM Disk Group Monitor Process)

    • 功能:GMON 是 ASM 磁盤組監控進程。它主要用于監控和管理 ASM 磁盤組的狀態和運行狀況。GMON 確保磁盤組的一致性,并在檢測到磁盤組中的錯誤或不一致時采取糾正措施。

ps :oracle?23ai還有一個變化后臺進程的名字由原來的ora_xxxx改為了db_xxxx,放棄了沿用數十年的規則

19c

23ai?(不確定正式EE版本是否沿用ora_還是使用db_)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43876.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

游戲開黑語音-使用云服務器部署teamspeak服務(系統Ubuntu 20.04 LTS)

目錄 前置物品服務器調整及部署1.重裝系統2.換源3.下載teamspeak服務端并部署 連接服務器參考 前置物品 一臺云服務器&#xff08;系統&#xff1a;Ubuntu 20.04 LTS) 服務器調整及部署 1.重裝系統 在騰訊云官網的主機控制臺內&#xff0c;選擇重裝系統 (由于之前為了快點和…

【刷題匯總 -- 最長回文子串、買賣股票的最好時機(一)、[NOIP2002 普及組] 過河卒】

C日常刷題積累 今日刷題匯總 - day0101、最長回文子串1.1、題目1.2、思路1.3、程序實現 2、買賣股票的最好時機(一)2.1、題目2.2、思路2.3、程序實現2.4、程序實現 -- 優化 3、[NOIP2002 普及組] 過河卒3.1、題目3.2、思路3.3、程序實現 -- dp 4、題目鏈接 今日刷題匯總 - day0…

Excel中用VBA實現Outlook發送當前工作簿

Excel中用VBA實現Outlook發送當前工作簿&#xff0c;首先按AltF11打開VBA編輯器&#xff0c;插入模塊&#xff0c;并在工具-引用中勾選 Microseft Outlook .0 Object Library(其中為你Microseft Outlook的版本號。 Sub 發送郵件() 保存當前excel ThisWorkbook.Save讓excel連接…

Linux 入門教程 by 程序員魚皮

本文作者&#xff1a;程序員魚皮 免費編程學習 - 編程導航網&#xff1a;https://www.code-nav.cn 大家好&#xff0c;我是魚皮。 前兩天我學編程的老弟小阿巴過生日&#xff0c;我問他想要什么禮物。 本來以為他會要什么游戲機、Q 幣卡、鼠標鍵盤啥的&#xff0c;結果小阿巴…

模擬防止重復提交

gitee地址&#xff08;需要自取&#xff09;AopProxy重復提交: 防止重復提交 (gitee.com) RestController public class SubmissionController {Autowiredprivate SubmissionService submissionService;private static Jedis jedis new Jedis("localhost",6379);pr…

短視頻矩陣:批量發布的秘密揭秘

在數字化時代&#xff0c;短視頻已經成為一種廣受歡迎的媒體形式。無論是用于品牌推廣、產品營銷還是個人創作&#xff0c;短視頻都提供了一種直觀、生動的方式來吸引觀眾的注意力。然而&#xff0c;有效地制作、管理和發布短視頻對于許多創作者和企業來說是一個挑戰。 為此&am…

什么是 C 語言中的宏定義?

&#x1f345;關注博主&#x1f397;? 帶你暢游技術世界&#xff0c;不錯過每一次成長機會&#xff01; &#x1f4d9;C 語言百萬年薪修煉課程 通俗易懂&#xff0c;深入淺出&#xff0c;匠心打磨&#xff0c;死磕細節&#xff0c;6年迭代&#xff0c;看過的人都說好。 文章目…

解決 Yarn 運行時的 Node.js 版本問題:一個詳盡的指南

引言 Yarn 是一個流行的 JavaScript 包管理器&#xff0c;它與 Node.js 緊密集成&#xff0c;用于管理項目依賴。然而&#xff0c;在開發過程中&#xff0c;開發者可能會遇到 Node.js 版本不兼容的問題&#xff0c;這會導致 Yarn 運行時出錯。本文將提供一個詳細的指南&#x…

動態規劃之數字三角形模型+最長上升子序列模型

首先&#xff0c;我們從集合角度重新看待DP&#xff1a; 直接看題&#xff1a;https://www.acwing.com/problem/content/1029/ 就是取紙條的原題&#xff0c;我們令f[i1,j1,i2,j2]表示從(1,1),(1,1)分別走到(i1,j1),(i2,j2)的路徑的max i1j1i2j2&#xff0c;于是我們可以把狀…

機器學習 | 對K-Means聚類假設的研究演示及實踐示例

我們在Scikit-learn對K-means假設的調查中探索了揭示算法優勢和局限性的場景。我們研究了K-means對不正確的聚類大小的敏感性&#xff0c;它在各向異性分布中面臨的困難&#xff0c;它在不同的聚類方差中面臨的困難&#xff0c;以及使用合成數據集的大小不均勻的聚類問題。我們…

準備工作+1、請求和響應+2、模型和管理站點

Django快速入門——創建一個基本的投票應用程序 準備工作1、創建虛擬環境2、安裝django 1、請求和響應&#xff08;1&#xff09;創建項目&#xff08;2&#xff09;用于開發的簡易服務器&#xff08;3&#xff09;創建投票應用&#xff08;4&#xff09;編寫第一個視圖1、編寫…

家用激光投影儀品牌排行榜:這幾個品牌口碑好產品好最適合家用

現在人們生活水平提升&#xff0c;對投影這類產品的認知接受度也提升&#xff0c;有條件的家庭都想在家里整一個家庭影院&#xff0c;對于這些消費者來說挑選一臺性價比高的家用投影至關重要&#xff0c;既省到錢又買對了產品&#xff1b;投影市場發展迅速目前市面上大大小小的…

華為機考真題 -- 多段線數據壓縮

題目描述: 下圖中,每個方塊代表一個像素,每個像素用其行號和列號表示,但可以發現,這種表示不是最簡的,其實只需要存儲 6 個藍色的關鍵點即可,它們是線段的起點、拐點、終點,而剩下 4 個點是冗余的。現在,請根據輸入的包含有冗余數據的多段線坐標列表,輸出其最簡化的…

mongo數據庫遷移

前言 mongo數據庫遷移的方式目前常見的有兩種&#xff1a; 1&#xff0c;mongodump與mongorestore 2&#xff0c;mongoimport與mongoexport 二者主要區別有&#xff1a; 1、mongoexport 可以導出json和csv格式&#xff0c; mongodump導出的是bson可讀性不如前者 2&#xff0c;…

在Windows 10上快速顯示桌面的幾種方法,總有一種適合你

序言 有時你需要在Windows 10中快速查看你的桌面,但你不想乏味地最小化每個打開的應用程序窗口,或者移動它們并丟失它們的布局。幸運的是,有幾種方法可以讓你快速查看桌面,然后從你停止的地方重新開始。 如何使用任務欄按鈕顯示桌面 假設你正在隨意瀏覽你最喜歡的網站,…

服了,jenkins找不到advanced

新手下載的最新版本&#xff0c;過新手入門的時候一直過不去&#xff0c;就跳過了。 想下載一個漢化&#xff0c;還下載不了。根據提示搜索&#xff0c;結果大家讓去advanced找url&#xff0c;也找不到。

nginx重啟命令linux步驟是什么?

1、驗證nginx配置文件是否正確 方法一&#xff1a;進入nginx安裝目錄sbin下&#xff0c;輸入命令./nginx -t 看到如下顯示nginx.conf syntax is ok nginx.conf test is successful 說明配置文件正確! 方法二&#xff1a;在啟動命令-c前加-t 2、重啟Nginx服務 方法一&#xff1a…

FreeRTOS 隊列

隊列是一種任務到任務、任務到中斷、中斷到任務數據交流的一種機制。在隊列中可以存 儲數量有限、大小固定的多個數據&#xff0c;隊列中的每一個數據叫做隊列項目&#xff0c;隊列能夠存儲隊列項 目的最大數量稱為隊列的長度&#xff0c;在創建隊列的時候&#xff0c;就需要指…

揭秘與應對:病毒偽裝文件夾的數據恢復策略

在數字時代&#xff0c;數據安全是每個人不可忽視的重要議題。而偽裝文件夾&#xff0c;作為一種狡猾的數據安全威脅&#xff0c;正逐漸浮出水面&#xff0c;成為用戶需要警惕的對象。這些偽裝文件夾看似普通&#xff0c;實則隱藏著不為人知的秘密&#xff0c;它們通過模仿正常…

linux系統操作/基本命令/vim/權限修改/用戶建立

Linux的目錄結構&#xff1a; 一&#xff1a;在Linux系統中&#xff0c;路徑之間的層級關系&#xff0c;使用:/來表示 注意:1、開頭的/表示根目錄 2、后面的/表示層級關系 二&#xff1a;在windows系統中&#xff0c;路徑之間的層級關系&#xff0c;使用:\來表示 注意:1、D:表示…