2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Oraclella on monia taustaprosesseja Kun kohtaat erikoistilanteita, kuten taulukoiden lukitsemista, jos odotat taustaprosessia, sinun on harkittava, voitko tappaa taustaprosessin. Aiheuttaako tämän taustaprosessin lopettaminen ilmentymän kaatumisen? Käytännön hengessä todellinen tieto tulee käytännössä. Tämä artikkeli keskittyy Oracle 11g:n, Oracle 19c:n ja Oracle 23ai:n kolmeen versioon. Tapamme vuorotellen järjestelmän taustaprosessit, jotta voimme nähdä, aiheuttaako se instanssin kaatua.
Kaikki tuntevat jo kuusi pmon-, smon-, dbwr-, lgwr-, ckpt- ja mman-ydinprosessia. Näiden kuuden ydinprosessin tappaminen aiheuttaa varmasti ilmentymän kaatumisen, joten nämä kuusi poistetaan komentosarjasta.
#!/bin/sh
function startup()
{
sqlplus / as sysdba<<EOF
startup
exit
EOF
}
started=`ps -ef | grep pmon | grep -v grep | awk '{print $2}'`
test -z "$started" && startup >> /dev/null
sleep 5
# List of Oracle background processes to exclude from killing
exclude_processes="pmon|smon|dbw0|dbw1|lgwr|ckpt|mman"
# Get list of Oracle processes
prolist=`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 $prolist
do
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
Tässä on kolmen version testitulokset
Oraakkeli 11g
Killed process vktm has caused instance crash!
Killed process gen0 has caused instance crash!
Killed process dbrm has caused instance crash!
oraakkeli 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!
Oraakkeli 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!
Oracle11g (9)
Oracle 19c (9+4=13)
Eikö virallisissa asiakirjoissa ole johdatusta bgnn: hen?
PMON (prosessinvalvonta):
Vastaat taustaprosessien ja käyttäjäprosessien tilan seurannasta. Kun käyttäjän prosessissa havaitaan poikkeavuus tai yhteys katkeaa, PMON on vastuussa asiaan liittyvien resurssien puhdistamisesta ja lukkojen vapauttamisesta.
SMON (Järjestelmänvalvonta):
Käsittelee järjestelmätason tapahtumia ja tietokantailmentymien palautusta. SMON vastaa tietokannan johdonmukaisuuden ylläpitämisestä, mukaan lukien keskeneräisten tapahtumien peruuttaminen ja väliaikaisten segmenttien puhdistaminen.
DBWR (Database Writer):
Vastaa puskurissa olevien tietojen kirjoittamisesta takaisin levylle. DBWR suorittaa tarvittaessa tarkistuspisteitä varmistaakseen tietokannan johdonmukaisuuden ja kestävyyden.
LGWR (lokin kirjoittaja):
Kirjoita lokitietueet redo lokipuskurissa redo lokitiedostoon. LGWR varmistaa tapahtumien kestävyyden, mikä mahdollistaa tietokannan palautumisen kaatumisen jälkeen.
CKPT (tarkistuspisteprosessi):
Vastaa säännöllisten tarkistuspistetoimintojen suorittamisesta tietokantaesiintymässä. Tarkistuspiste kirjoittaa muokatut tiedot tietokantapuskurista datatiedostoon palautustoimintoja varten.
MMAN (muistinhallinta):
Hallitse muistin varaamista ja käyttöä tietokantaesiintymissä. MMAN vastaa jaettujen poolien ja muiden muistirakenteiden koon automaattisesta säätämisestä tietokannan suorituskyvyn optimoimiseksi.
VKTM (Virtual Keeper of Time):
Tarjoa aikapalveluita tietokantaesiintymissä. VKTM hallitsee kaikkia tietokannan aikaan liittyviä toimintoja, mukaan lukien tapahtumien odottaminen ja tapahtuman aikaleimat.
Oracle 11g:ssä esitelty uusi taustaprosessi.
DBRM (tietokantaresurssien hallinta):
Hallitse tietokantaresurssien allokointia ja käyttöä, mukaan lukien CPU, I/O ja yhteyksien määrä. DBRM varmistaa oikeudenmukaisen ja tehokkaan resurssien allokoinnin eri käyttäjien ja sovellusten kesken.
Oracle 11g:ssä esitelty uusi taustaprosessi
GEN0 (yleinen taustaprosessi):
Yleiskäyttöinen taustaprosessi, jota käytetään käsittelemään erilaisia järjestelmätehtäviä ja hallintatoimintoja tietokantaesiintymässä.
Oraakkelissa 10g esitelty taustaprosessi
23ai (13+1=14)
Uusibgnn Prosessi, 23ai on useita tausta bgnn prosesseja, jos se kaatuu Sen pitäisi olla keskeinen prosessi, mutta ei ole virallista viittausta. hyvin outoa! Jos joku tietää niin laittakaa viestiä ja neuvokaa!
CLMN (Cleanup Main Process):
Toiminto: Vastaa puhdistustehtävien suorittamisesta Oracle-instanssissa.
Vastuut: Hallitse kuolleiden prosessien, päättyneiden istuntojen, tapahtumien, verkkoyhteyksien, käyttämättömien istuntojen, irrotettujen tapahtumien ja verkkoyhteyksien puhdistamista, jotka ylittävät joutokäynnin aikakatkaisun.
Oracle 12c esittelee ja clnn auttaa pmonia siivoustöissä
LGnn (lokinkirjoittaja):
Toiminto: lgwr-apuprosessi.
Vastuut: Moniprosessorijärjestelmissä LGWR luo työntekijöitä parantamaan prosessin kirjoitussuorituskykyä
Oracle19c on otettu käyttöön auttamaan lgwr-prosessia käsittelemään samanaikaisuutta ja parantamaan lokin kirjoittamisen suorituskykyä
LREG (kuuntelijan rekisteröintiprosessi):
Toiminto: Rekisteröi Oracle-ilmentymä kuuntelijaan.
Vastuut : Ilmoittaa kuulijoille ilmentymistä, palveluista, käsittelijöistä ja päätepisteistä. Varmista, että kuuntelija tietää, mihin tietokantapalveluun se voi muodostaa yhteyden.
Oracle 12c esiteltiin
PMAN (prosessipäällikkö):
Toiminto: Hallitse erilaisia taustaprosesseja Oracle-tietokannassa.
Vastuut: Tarkkaile, käynnistä ja pysäytä jakelija- ja jaetut palvelinprosessit, yhteydenvälittäjät, poolatut palvelinprosessit tietokannassa oleville yhteyspoolille, työjonoprosesseja ja uudelleenkäynnistettäviä taustaprosesseja tarpeen mukaan.
Oracle 12c esiteltiin
Yllämainittujen lisäksi klusteriympäristössä on myös taustaprosesseja, jotka liittyvät ASM-esiintymiin. Seuraavat neljä ASM-avainprosessia ei voi lopettaa.
ASMB (ASM-taustaprosessi):
Toiminto :ASMB on automaattisen tallennustilan hallinnan (ASM) taustaprosessi. Sitä käytetään pääasiassa ASM-ilmentymien ja Oracle-ilmentymien välisen yhteyden ylläpitämiseen. ASMB hallitsee yhteyksiä Oracle-ilmentymiin, käsittelee ASM-ilmentymien ja asiakkaiden välisiä metatietopyyntöjä ja koordinoi tiedon tasapainotustoimintoja.
RBAL (ASM Rebalance Master Process):
Toiminto : RBAL on toinen ASM:ään liittyvä prosessi. Se vastaa tasapainotustehtävien jakamisesta ARBx-orjaprosesseille muissa ASM-ilmentymissä. Tasapainotustoimenpiteet suoritetaan ASM-levyjä lisättäessä tai poistettaessa tietojen tasaisen jakautumisen varmistamiseksi levyryhmässä.
PSP0 (Process Spawner Process):
Toiminto : PSP0 on Process Spawner Process, joka vastaa muiden taustaprosessien luomisesta ja hallinnasta Oracle-instanssissa. Se varmistaa, että vaaditut taustaprosessit käynnistetään, kun ilmentymä käynnistyy, ja uusia prosesseja syntyy tarvittaessa.
GMON (ASM Disk Group Monitor Process):
Toiminto : GMON on ASM-levyryhmän valvontaprosessi. Sitä käytetään pääasiassa valvomaan ja hallitsemaan ASM-levyryhmien tilaa ja kuntoa. GMON varmistaa levyryhmän yhdenmukaisuuden ja ryhtyy korjaaviin toimiin havaitessaan virheitä tai epäjohdonmukaisuuksia levyryhmässä.
ps: Oracle 23aiOn toinenkin muutos: taustaprosessin nimi on muutettu ora_xxxx:stä db_xxxx:ksi, jolloin vuosikymmeniä käytetty sääntö on hylätty.
19c
23ai (en ole varma, käyttääkö virallinen EE-versio ora_ tai db_)