Oracle av Mohammed Ali A. Syed

Hej alla !

hoppas ni alla mår bra.

idag ska jag diskutera om crsctl-kommandot.

jag valde crsctl eftersom vi interagerar med kluster med det här kommandot.

om vi tittar på olika kommandon finner vi att det har många alternativ.

användning: crsctl add – Lägg till en resurs, typ eller annan enhet

crsctl check – Kontrollera status eller driftstatus för en tjänst, resurs eller annan enhet

crsctl config – visa automatisk startkonfiguration

crsctl debug – visa eller ändra felsökningstillstånd

crsctl delete – Ta bort en resurs, typ eller annan enhet

crsctl inaktivera – inaktivera automatisk start

crsctl discover – upptäck DHCP – server

crsctl aktivera – Aktivera automatisk start

crsctl eval-utvärdera operationer på resurs eller annan enhet utan att utföra dem

crsctl get – få ett entitetsvärde

crsctl getperm – få entitetsbehörigheter

crsctl lsmodules – lista felsökningsmoduler

crsctl modify – ändra en resurs, typ eller annan enhet

crsctl query – query service state

crsctl pin – gör leasing av angivna noder oföränderliga

crsctl flytta – flytta en resurs, server eller annan enhet

crsctl ersätt – ändra platsen för röstfiler

crsctl release – släpp ett DHCP-leasingavtal

crsctl-begäran – begär en DHCP – leasing eller en åtgärdsinmatningspunkt

crsctl setperm – ange entitetsbehörigheter

crsctl set – ange ett entitetsvärde

crsctl start – starta en resurs, server eller annan enhet

crsctl status – få status för en resurs eller annan enhet

crsctl stop – stop en resurs, server eller annan enhet

crsctl unpin – gör leasing av tidigare fästa noder muterbara

crsctl unset-unset ett entitetsvärde, återställer dess standard

jag har delat in dem i följande kategorier.

  1. crsctl för att starta / stoppa / aktivera / inaktivera
    • crsctl start
    • crsctl stopp
    • crsctl aktivera
    • crsctl inaktivera
  1. crsctl för att visa information om en resurs
    • crsctl check
    • crsctl config
    • crsctl get
    • crsctl getperm
    • crsctl lsmodules
    • crsctl query
    • Crsctl status
    • crsctl eval
  1. crsctl för att ändra en resouce
    • crsctl Lägg till
    • crsctl radera
    • crsctl debug
    • crsctl ändra
    • crsctl set
    • crsctl flytta
    • crsctl ersätt
    • crsctl setperm
    • crsctl unset
    • crsctl pin
    • crsctl unpin
    • crsctl release
    • crsctl begäran
    • crsctl upptäcka

Låt oss förstå en efter en

crsctl start Ger många alternativ

crsctl start crs är inte klustermedveten. Vilket innebär att detta kommando kan användas för att starta clusterware stack på lokal nod endast.

hur man startar crs stack på lokal nod?

#crsctl starta crs

hur man startar crs i exklusivt läge?

#crsctl starta crs-exkl

du måste starta crs i exklusivt läge i följande situationer

  1. när klustret är nere och inte kan starta på grund av förlorade röstfiler.
  2. när röstfiler är skadade
  3. för att röstfilen ska återställas måste CRS-demonen köras.

Hur startar man crs i exklusivt läge och utan crs?

#crsctl start crs-exkl-nocrs #(introducerad från 11.2.0.2)

ovanstående kommando är roligt, starta crs med nocrs alternativ J

du måste starta i exklusivt läge utan crs i följande situationer

  • när ocr är skadad och den är på ASM.

du kan inte återställa en manuell eller automatisk OCR-säkerhetskopia om OCR finns på en ASM-diskgrupp. Detta beror på att kommandot ’ocrconfig-restore’ kräver att ASM körs & för att återställa en OCR-säkerhetskopia till en ASM-diskgrupp. För att ASM ska vara tillgängligt måste dock CRS-stacken ha startats framgångsrikt. För att återställningen ska lyckas får OCR inte heller användas (r/w), dvs ingen CRS-Demon måste köras medan OCR återställs.

  • alternativet-nocrs säkerställer att crsd-processerna och ocr inte börjar med resten av clusterware-stacken.

så här startar du bara ohasd utan att starta crs.

använd-noautostart

#crsctl starta crs-noautostart

följande alternativ används av grid internt under patchning/Uppgradering/Nedgradering

hur man startar crs i exklusivt läge och med cssonly?

#crsctl start crs-exkl-cssonly

-vänta alternativ

#crsctl starta crs-vänta

använd det här alternativet för att starta crs för att visa alla framsteg och statusmeddelanden. Det här alternativet används efter patching grid.

– nowait alternativ

#crsctl starta crs-nowait

crs väntar inte på att OHASD startar crs

  • crsctl start cluster

det är cluster aware. Vilket innebär att detta kommando kan starta resursen på andra noder också.

för alla cluster aware-kommandon som ska köras på lokal eller fjärrnod måste OHASD-demonen köras på den specifika noden.

så här startar du alla tjänster i ett kluster på alla noder

#crsctl start cluster-all

så här startar du endast tjänster på en viss nod

#crsctl start cluster – n node2, node3

följande kommando startar cluster ware stack endast på lokal nod. Så det liknar crsctl start crs

#crsctl start cluster

  • crsctl start resurs

vanligtvis används detta när du har egna applikationsspecifika resurser. Oracle varnar för att inte använda detta för resurser som börjar med ora.* Men du kan använda dem om det behövs.

hur man startar en viss resurs

#crsctl startresurs myAppVIP

#crsctl startresurs myApache

#crsctl startresurs ora.asm

hur man startar en viss resurstyp. Följande kommando startar alla resurser som tillhör scan_listener-typen

#crsctl start resource-w ”TYPE = ora.scan_listener.typ”

  • crsctl start rollingpatch

övergång Oracle Clusterware och Oracle ASM till rullande patch-läge

  • crsctl börja rollingupgrade <version>

övergång Oracle Clusterware och Oracle ASM till rullande uppgraderingsläge

crsctl stopp

  • crsctl stoppa crs

använd det här kommandot för att stoppa klusterstacken på lokal nod.

hur man stoppar clusterware stack?

#crsctl stop crs

observera ovanstående kommando stop databasresurs i Avbryt läge, vilket inte rekommenderas för PROD-databaser. Innan du kör det här kommandot försök stoppa databaser med srvctl stop kör sedan crsctl stop crs

detta kommando flyttar också vissa tjänster (vip, scan lyssnare etc) till tillgängliga noder.

hur man stoppar clusterware stack forecefully?

om du har svårt att stoppa resurser kan du använda –F-alternativet. Detta kommando kommer inte att kontrollera beroende mellan resurser. Rekommenderas att köra när du inte kan stoppa clusterware.

#crsctl stoppa crs-f

  • crsctl stop cluster

för att alla cluster aware-kommandon ska kunna köras på lokal eller fjärrnod måste OHASD-demonen köras på den specifika noden.

använd det här kommandot för att stoppa klusterstacken på valfri nod eller alla noder.

#crsctl stop cluster –all # detta kommer att stoppa cluster stack på alla noder

#crsctl stop cluster –n node2 # detta kommer att stoppa cluster stack endast på node2

crsctl stop crs vs crsctl stop cluster

  • Skillnad en
    crsctl stop crs -> kan stoppa endast lokala resurser

crsctl Stop cluster -> kan stoppa både lokala och fjärrnodtjänster

  • skillnad två
    tänk på ett fall där du har 4 nod Rac-inställning. På nod 1 och nod 2 har du underhåll så du måste starta om servrarna. När du kör crsctl stop crs på node1 kommer dess vip-och db-tjänster att övergå till node2. Sedan när du kör crsctl stop crs på node2 igen både node1 och node2 VIP kommer att misslyckas över till node3 eller node4

men om du använder crsctl stop cluster-n node1,node2 då misslyckas över tjänster kommer att vara på node3 och node4

  • skillnad tre
    crsctl stop crs stoppar alla tjänster inklusive ohas

crsctl Stop Cluster Stop allt utom ohas

crsctl Stop CRS vs crsctl Stop has

crsctl start/stop has används huvudsakligen för Oracle clusterware-resurser med en enda nod. (Oracle omstart)

crsctl start / stop crs används för enda nod av vanlig clusterware resurs (Oracle RAC)

  • crsctl stoppa resurs

vanligtvis används detta när du har egna applikationsspecifika resurser. Oracle varnar för att inte använda detta för att stoppa resurs vars namn börjar med ora.* Men du kan använda dem om det behövs.

hur man stoppar en viss resurs

#crsctl stoppa resurs myAppVIP

#crsctl stoppa resurs myApache

#crsctl stoppa resurs ora.asm

hur man stoppar en viss resurstyp. Följande kommando stoppar alla resurser som tillhör scan_listener-typen

#crsctl stoppa resurs-w ” TYPE = ora.scan_listener.typ”

  • crsctl stop rollingpatch

övergång Oracle Clusterware och Oracle ASM ur rullande patch läge

crsctl aktivera

innan vi diskuterar om kommandona, låt oss ha förståelse för kluster startar eller inte startar resurser automatiskt vid uppstart.

först när boot server i Oracle Linux 6 finns det ett koncept som heter upstart. Upstart (en funktion från EL6) är en händelsebaserad ersättning för /sbin/init-demonen som hanterar start av uppgifter och tjänster.

# initctl list # kommer att lista alla tjänster som kommer att startas när servern startar.

# initctl lista / grep ohasd

oracle-ohasd start / körning, process 4977

# ps-ef / grep 4977 / grep-v grep

rot 4977 1 0 Jan03 ? 00: 00: 00/bin /sh/etc / init.d / init.ohasd kör

vi vet alla att ohasd daemon (init.ohasd) startar / stoppar / övervakar crs-stacken. Så den här demonen övervakar för en fil på följande plats

/etc/oracle/scls_scr/<nodnamn>/root / ohasdrun

när vi kör crsctl aktivera crs, kommer detta kommando faktiskt skriva omstart i ovanstående fil. Som init.ohasd kontrollerar den här filen vid starttid, om den hittar omstart kommer den att starta resurser automatiskt.

när vi kör crsctl inaktivera crs, kommer detta kommando faktiskt skriva stopp i ovanstående fil. Som init.ohasd kontrollerar den här filen vid starttid, om den hittar stopp startar den inte resurser automatiskt när servern startar.

  • så här aktiverar du automatisk start av OHAS på Oracle cluster

kommandot nedan möjliggör automatisk start av OHAS när servern startar.

#crsctl aktivera crs

  • så här inaktiverar du automatisk start av OHAS på Oracle cluster

kommandot nedan inaktiverar automatisk start av OHAS när servern startar.

#crsctl inaktivera crs

detta är användbart när du använder firmware patchar, eller OS underhållsuppgifter som kräver många server omstart. Vi vill inte ofta starta / stoppa crs stack automatiskt under detta underhåll.

Lämna ett svar

Din e-postadress kommer inte publiceras.