Officieel wordt het gebruik van ACFS voor een Oracle database files op Oracle Restart niet ondersteund door Oracle, alleen Oracle RAC en/of RAC One Node zijn ondersteund door Oracle. Wij willen de ACFS snapshot mogelijkheden gaan gebruiken voor NIET PRD omgevingen maar hebben momenteel nog geen shared storage wat nodig is voor RAC. Oracle support geeft aan dat dit in de toekomst mogelijk wel ondersteund wordt. Dat het niet ‘supported’ is betekent dat er bij problemen geen garantie is op een oplossing, oracle support zal wel altijd meedenken.

De intentie is om uiteindelijk Oracle RAC One Node te implementeren voor NIET PRD databases en ondertussen gaan we Oracle Restart inrichten om ACFS te kunnen gebruiken om de voortgang van het Oracle19C project niet te belemmeren.
De voornaamste reden om gebruik te gaan maken van ACFS is de snelheid waarmee een kopie van een pdb gemaakt kan worden. Op dit moment duurt het voor sommige klanten wel 5 uur om een NIET PRD omgeving te verversen. Door gebruik te maken van een ACFS snapshot wordt dit teruggebracht naar enkele minuten. Het proces wat we voor ogen hebben is als volgt.
De productie pdb (1) is bron voor een refreshable pdb (2) op een NON PRD database server. Deze refreshable pdb is op zijn beurt weer bron voor zgn. baseline pdb (3 en 5). Deze pdb's kunnen geanonimiseerd worden of zijn db's van een verschillende versie van een applicatie. Deze baseline pdb's zijn de bron voor snapshot clone pdb's die uiteindelijk door de klant gebruikt worden als NIET PRD kopie databases.

De CDB$ROOT databases (en PDB$SEED) worden aangemaakt op ASM storage, de pluggable databases(pdb) komen op een ACFS filesystem. Dit wordt in een ander artikel verder uitgewerkt.
Om bovenstaand scenario te implementeren zijn er een aantal ACFS filesystems nodig voor de verschillende pdb's. Deze worden aangemaakt in een asm diskgroup, in dit geval diskgroup ORADATA. Er is gekozen om Oracle ASM Filter Driver (AFD) te gebruiken i.p.v. ASMlib.
[root@af203 grid]# asmcmd afd_label ORADATA /dev/sdb --init
[root@af203 grid]# asmcmd afd_lslbl
--------------------------------------------------------------------------------
Label Duplicate Path
================================================================================
ORADATA /dev/sdb
[root@af203 grid]#
Aangezien we maar één storage device hebben is afgeweken van de gangbare ASM inrichting DATA/REDO/RECO en gebruiken we één diskgroup van 44TB. Dit heeft verder geen effect op het functioneren van ACFS.
SQL> select name, round(total_mb/1024/1024) total_TB
2* from v$asm_diskgroup;
NAME TOTAL_TB
__________ ___________
ORADATA 44
SQL>
De werking van snapshots wordt in dit artikel niet verder uitgewerkt, we beperken ons tot één ACFS filesystem en één pdb.
Een ACFS filesystem maakt gebruik van een ASM volume. In dit voorbeeld wordt een ASM volume D040NE van 750GB aangemaakt. Voor het os is dit storage device /dev/asm/d040ne-481. Het
[grid@af203 ~]$ asmcmd volcreate -G ORADATA -s 750G D040NE
[grid@af203 ~]$ asmcmd volinfo -G ORADATA D040NE
Diskgroup Name: ORADATA
Volume Name: D040NE
Volume Device: /dev/asm/d040ne-481
State: ENABLED
Size (MB): 768000
Resize Unit (MB): 64
Redundancy: UNPROT
Stripe Columns: 8
Stripe Width (K): 1024
Usage:
Mountpath:
[grid@af203 ~]$
Er is gekozen voor Redundancy: UNPROT, omdat het onderliggende device van ORADATA . /dev/sdb een hardware RAID6 device is. Info hierover is te achterhalen m.b.v. commando storcli64 /c0 show, uitgevoerd als user root.
[root@af203 ~]# storcli64 /c0 show
Generating detailed summary of the adapter, it may take a while to complete.
Virtual Drives = 2
VD LIST :
=======
-------------------------------------------------------------------
DG/VD TYPE State Access Consist Cache Cac sCC Size Name
-------------------------------------------------------------------
0/0 RAID6 Optl RW Yes RWBD RW ON 43.661 TB RAID6-HDD
1/1 Cac1 Optl RW No NRWBD - ON 893.75 GB CACHE
-------------------------------------------------------------------
Cac=CacheCade|Rec=Recovery|OfLn=OffLine|Pdgd=Partially Degraded|Dgrd=Degraded
Optl=Optimal|RO=Read Only|RW=Read Write|HD=Hidden|TRANS=TransportReady|B=Blocked|
Consist=Consistent|R=Read Ahead Always|NR=No Read Ahead|WB=WriteBack|
AWB=Always WriteBack|WT=WriteThrough|C=Cached IO|D=Direct IO|sCC=Scheduled
Check Consistency
Physical Drives = 10
PD LIST :
=======
---------------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp Type
---------------------------------------------------------------------------------------
10:0 8 Onln 1 893.75 GB SATA SSD N N 512B SAMSUNG MZ7KH960HAJR-00005 U -
10:1 9 Onln 1 893.75 GB SATA SSD N N 512B SAMSUNG MZ7KH960HAJR-00005 U -
10:2 18 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:3 17 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:4 16 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:5 15 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:6 14 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:7 13 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:8 12 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
10:9 11 Onln 0 7.276 TB SAS HDD N N 512B HUS728T8TAL5204 U -
---------------------------------------------------------------------------------------
Om ACFS te kunnen gebruiken moet er een filesytem aangemaakt worden op het device /dev/asm/d040ne-481.
[root@af203 ~]# /sbin/mkfs -t acfs /dev/asm/d040ne-481
mkfs.acfs: version = 19.0.0.0.0
mkfs.acfs: on-disk version = 46.0
mkfs.acfs: volume = /dev/asm/d040ne-481
mkfs.acfs: volume size = 805306368000 ( 750.00 GB )
mkfs.acfs: Format complete.
[root@af203 ~]#
Dit filesystem moet vervolgens gemount worden op een directory en user oracle moet owner gemaakt worden van deze directory.
[root@af203 ~]# mkdir /u02/oradata/D040NE
[root@af203 ~]# /bin/mount -t acfs /dev/asm/d040ne-481 /u02/oradata/D040NE
[root@af203 ~]#
[root@af203 ~]# chown -R oracle. /u02/oradata
Directory /u02/oradata kan nu gebruikt worden als db_create_file_dest voor één van de pdb's.
In Oracle Restart is het niet mogelijk om gebruik te maken van Oracle ACFS Registry en moet er een alternatieve manier geconfigureerd worden om te zorgen dat ACFS filesystems automatisch ‘opkomen’ na een reboot.

Als eerste stap moet een service gemaakt worden, waarmee acfsload start wordt uitgevoerd tijdens het booten van de database server.
[root@af203 ~]# cat /etc/systemd/system/oracle-acfsload.service
# Oracle ACFS Drivers
#
[Unit]
Description=Load ACFS Drivers at boot
After=syslog.target oracle-ohasd.service
[Service]
ExecStart=/u01/app/19.0.0.0/grid/bin/acfsload start -s >/tmp/acfsload.log 2>&1 </dev/null
Type=simple
[Install]
WantedBy=multi-user.target graphical.target
[root@af203 ~]#
User grid moet sudo rechten krijgen om de ACFS filesystems te kunnen (un)mounten bij een reboot. Dit kan op verschillende manieren worden ingericht. Hier is gekozen om expleciet sudo rechten te geven op het mount en umount commando voor mount point /u en dan 2 cijfers . Dit is te controleren met commando sudo -l -U grid.
[rgeilings@af203 ~]$ sudo -l -U grid
User grid may run the following commands on af203:
(ALL) NOPASSWD: /usr/bin/mount /u99, /usr/bin/umount /u99, /usr/bin/mount /u03/fast_recovery_area, /usr/bin/umount /u03/fast_recovery_area, /usr/bin/mount /u02/oradata/D[0-9][0-9][0-9]*, /usr/bin/umount
/u02/oradata/D[0-9][0-9][0-9]*
[rgeilings@af203 ~]$
Om bovenstaande te kunnen gebruiken is het noodzakelijk dat erb voor de ACFS filesystems ook een entry in de /etc/fstab voorkomt met de juiste parameters.
[rgeilings@af203 ~]$ sudo cat /etc/fstab|grep d040ne-481
/dev/asm/d040ne-481 /u02/oradata/D040NE acfs noauto 0 0
[rgeilings@af203 ~]$
Een Oracle Clusterware resource maakt gebruik van een zgn. ACTION_SCRIPT, wat o.a. uitgevoerd wordt bij het stoppen of starten van een Clusterware resource. Het script bevat de instructies die worden uitgevoerd bij de desbetreffende actie. Onderstaand script is een voorbeeld om een ACFS filesystem resource te stoppen en starten. Bij het starten van het ACFS Clusterware resource wordt eerst gekeken of het ASM volume enabled is en start het desgewenst. Daarna word het filesystem ge-mount. Bij het stoppen van het ACFS Clusterware resource worden de stappen in omgekeerde volgorde uitgevoerd.
#!/bin/sh
DISKGROUP=ORADATA
VOLUME=D040NE
DEVICE=/dev/asm/d040ne-481
FILESYSTEM=/u02/oradata/D040NE
case $1 in
# Start Resource
'start')
# Enable the Volume, if it's not already
if [ ! -f $DEVICE ]; then
$ORACLE_HOME/bin/asmcmd volenable -G $DISKGROUP $VOLUME
fi
# Mount FileSystem
/usr/bin/sudo /bin/mount $FILESYSTEM
RCODE=$?
;;
# Stop Resource
'stop')
# Umount FileSystem
/usr/bin/sudo /bin/umount $FILESYSTEM
RCODE=$?
;;
# Clean Resource
'clean')
# Unmount FileSystem
/usr/bin/sudo /bin/umount $FILESYSTEM
# Disable Volume
$ORACLE_HOME/bin/asmcmd voldisable -G $DISKGROUP $VOLUME
RCODE=$?
;;
# check Resource
'check')
# Volume enabled
VOLENABLED=$($ORACLE_HOME/bin/asmcmd volinfo -G $DISKGROUP $VOLUME |grep ENABLED|wc -l)
if [ $VOLENABLED -gt 0 ]; then
RCODE=0
else
RCODE=1
fi
;;
esac
if [ $RCODE -eq 0 ]; then
exit 0
else
exit 1
fi
Het ACTION_SCRIPT wordt gebruikt in de definitie van de Clusterware resource. De belangsrijkste prarameters zijn:
acfs.u02.oradata.D040NE.fs naam van de Clusterware resourcelocal_resource/beheer/grid/acfsmount_D040NE.shnaam en locatie van het ACTION_SCRIPTSTART_DEPENDENCIES en STOP_DEPENDENCIES zijn de afhankelijkheiden voor deze resource. In dit voorbeeld moet de resource voor ASM diskgroup ORADATA aanwezig zijn, anders wordt deze gestart (pullup)crsctl add resource acfs.u02.oradata.D040NE.fs \
-type local_resource \
-attr "\
ACTION_SCRIPT=/beheer/grid/acfsmount_D040NE.sh,\
AUTO_START=always,\
START_TIMEOUT=100,\
STOP_TIMEOUT=100,\
CHECK_INTERVAL=10,\
START_DEPENDENCIES=hard(ora.ORADATA.dg)pullup(ora.ORADATA.dg),\
STOP_DEPENDENCIES='hard(ora.ORADATA.dg)'"
De configuratie van een Clusterware resource kan ook met een config file. Een voorbeeld hiervan vond je in de volgende paragraaf.
Na het registreren van de resource kunnen de afhankelijkheden eenvoudig gecontroleerd worden.
[grid@af203 ~]$ crsctl stat res acfs.u02.oradata.D040NE.fs -dependency
================================================================================
Resource Start Dependencies
================================================================================
acfs.u02.oradata.D040NE.fs
--------------------------------------------------------------------------------
acfs.u02.oradata.D040NE.fs(local_resource)->
| ora.ORADATA.dg(ora.diskgroup.type)[hard,pullup]
| | ora.asm(ora.asm.type)[hard,pullup]
| | | ora.cssd(ora.cssd.type)[hard]
| | | | ora.diskmon(ora.diskmon.type)[weak:concurrent]
| | | | | ora.cssd(ora.cssd.type)[weak:concurrent,pullup:always]
| | | | ora.driver.afd(ora.driver.afd.type)[hard:intermediate]
| | | ora.LISTENER.lsnr(ora.listener.type)[weak]
--------------------------------------------------------------------------------
[grid@af203 ~]$
De status van de resource controleer je zonder -dependency.
[grid@af203 ~]$ crsctl stat res acfs.u02.oradata.D040NE.fs
NAME=acfs.u02.oradata.D040NE.fs
TYPE=local_resource
TARGET=ONLINE
STATE=ONLINE on af203
[grid@af203 ~]$
Bij problemen met het registreren en/of starten van een resource kan je o.a. in de trace directory kijken.
/u01/app/grid/diag/crs/$(hostname -s)/crs/trace
Fouten in het ACTION_SCRIPT vind je o.a. in de file ohasd_scriptagent_grid.trc.
023-03-02 16:26:45.974 : AGFW:161834752: [ INFO] {0:0:2} Entering script entry point...
2023-03-02 16:26:45.974 :CLSDYNAM:161834752: [acfs.u02.oradata.D040NE.fs]{0:0:2} [check] Executing action script: /beheer/grid/acfsmount_D040NE.sh[check]
2023-03-02 16:26:47.213 :CLSDYNAM:161834752: [acfs.u02.oradata.D040NE.fs]{0:0:2} [check] /beheer/grid/acfsmountD040NE.sh: line 48: [: -eq: unary operator expected
2023-03-02 16:26:47.213 : AGFW:159733504: [ INFO] {0:0:2} acfs.u02.oradata.D040NE.fs af203 1 state changed from: UNKNOWN to: OFFLINE
2023-03-02 16:26:47.213 : AGFW:159733504: [ INFO] {0:0:2} RECYCLE_AGENT attribute not found
2023-03-02 16:26:47.213 : AGFW:159733504: [ INFO] {0:0:2} Agent sending last reply for: RESOURCE_PROBE[acfs.u02.oradata.D040NE.fs af20 1] ID 4097:170
2023-03-02 16:26:47.214 :CLSFRAME:445308672: [ INFO] TM [MultiThread] is changing desired thread # to 3. Current # is 2
2023-03-02 16:26:47.216 : AGFW:159733504: [ INFO] {0:0:2} Agent received the message: RESOURCE_DELETE[acfs.u02.oradata.D040NE.fs af203 1] ID 4358:318
2023-03-02 16:26:47.216 : AGFW:159733504: [ INFO] {0:0:2} acfs.u02.oradata.D040NE.fs af203 1 marked as deleted.
2023-03-02 16:26:47.216 : AGFW:159733504: [ INFO] {0:0:2} Agent sending last reply for: RESOURCE_DELETE[acfs.u02.oradata.D040NE.fs af203 1] ID 4358:318
2023-03-02 16:26:47.216 : AGFW:161834752: [ INFO] {0:0:2} Agent has no resources to be monitored, Shutting down .
Een Oracle database wordt niet als local_resource maar als cluster_resource geregistreerd in Clusterware. De configuratie heb ik deze keer in een config file gezet; /beheer/actscripts/bin/acfs.CA040N0.db.config en bevat o.a. de naam en locatie van het ACTION_SCRIPT.
PLACEMENT=restricted
HOSTING_MEMBERS=af203
CHECK_INTERVAL=30
CARDINALITY=1
ACTIVE_PLACEMENT=0
AUTO_START=restore
DEGREE=1
DESCRIPTION="Oracle Database Resource"
RESTART_ATTEMPTS=1
ACTION_SCRIPT=/beheer/actscripts/bin/actCA040N0.sh
In het voorbeeld hierboven wordt een ACTION_SCRIPT zonder parameters aangeroepen en dit script roept dan weer een generiek script aan. Dit is niet verplicht en kan in 1 keer door aanhalingstekens te gebruiken achter ACTION_SCRIPTbijvoorbeeld ACTION_SCRIPT="/beheer/actscripts/bin/dbAction.sh start CA040N0".
#!/bin/ksh
#
export ACT_SCRIPT_DIR=/beheer/actscripts/bin
export ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
export ORACLE_OWNER=oracle
export ORACLE_SID=CA040N0
. oraenv <<< CA040N0
export PATH=/usr/local/bin:$ORACLE_HOME/bin:$PATH
UID=$(/usr/bin/id -u)
case $1 in
'start')
if [ $UID -eq 0 ]; then
su - $ORACLE_OWNER -c "${ACT_SCRIPT_DIR}/dbAction.sh start ${ORACLE_SID}"
else
${ACT_SCRIPT_DIR}/dbActions.sh start ${ORACLE_SID}
fi
RET=0
;;
'stop')
if [ $UID -eq 0 ]; then
su - $ORACLE_OWNER -c "${ACT_SCRIPT_DIR}/dbActions.sh stop ${ORACLE_SID}"
else
${ACT_SCRIPT_DIR}/dbActions.sh stop ${ORACLE_SID}
fi
RET=0
;;
'clean')
if [ $UID -eq 0 ]; then
su - $ORACLE_OWNER -c "${ACT_SCRIPT_DIR}/dbActions.sh stop ${ORACLE_SID}"
else
${ACT_SCRIPT_DIR}/dbActions.sh stop ${ORACLE_SID}
fi
RET=0
;;
'check')
# check for the existance of the smon process for $ORACLE_SID
# this check could be improved, but was kept short on purpose
found=`ps -ef | grep smon | grep $ORACLE_SID | wc -l`
if [ $found = 0 ]; then
RET=1
else
RET=0
fi
;;
*)
RET=0
;;
esac
# A 0 indicates success, return 1 for an error.
if [ $RET -eq 0 ]; then
exit 0
else
exit 1
fi
Het script dbActions.sh start en/of stopt de database via sqlplus.
#!/bin/bash
# Oracle auto start-stop script.
#
ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
ORACLE_SID=$2
case $1 in
'start')
$ORACLE_HOME/bin/sqlplus /nolog <<______EOF
conn / as sysdba
startup
exit
______EOF
RET=0
;;
'stop')
$ORACLE_HOME/bin/sqlplus /nolog <<______EOF
conn / as sysdba
shutdown immediate
exit
______EOF
RET=0
;;
'clean')
$ORACLE_HOME/bin/sqlplus /nolog <<______EOF
conn / as sysdba
shutdown abort
exit
______EOF
RET=0
;;
'check')
ok=`ps -ef | grep smon | grep $ORACLE_SID | grep -v grep | wc -l`
if [ $ok = 0 ]; then
RET=1
else
RET=0
fi
;;
'abort')
killcmd=`ps -ef | grep pmon | grep $ORACLE_SID | grep -v grep | awk '{print $2}'`
kill -9 $killcmd
if [ $? = 0 ]; then
RET=0
else
RET=1
fi
;;
*)
echo "Usage: $0 { start | stop }"
exit 1
;;
esac
Als de configuratie file en de verschillende scropts aangemaakt zijn kan de database geregistreerd worden als Clusterware resource. Na het registreren is het belangrijk om de
crsctl add resource acfs.CA040N0.db -type cluster_resource -file /beheer/actscripts/bin/acfs.CA040N0.db.config
Na het registreren is het belangrijk om de afhankelijkheid van de ACFS filesystems te definieren
crsctl modify resource acfs.CA040N0.db -attr "START_DEPENDENCIES='hard(acfs.u03.FRA.fs,acfs.u02.oradata.D040.fs,acfs.u02.oradata.D040NE.fs)pullup(acfs.u03.FRA.fs,acfs.u02.oradata.D040.fs,acfs.u02.oradata.D040NE.fs')"
Dit kan gecontroleerd worden door crsctl stat res acfs.CA040N0.db -dependency. In dit artikel is maar één ACFS filesystem uitgwerkt maar de database CA040N0 is afhankelijk van 3 ACFS filesystems.
[grid@af203 ~]$ crsctl stat res acfs.CA040N0.db -dependency
================================================================================
Resource Start Dependencies
================================================================================
acfs.CA040N0.db
--------------------------------------------------------------------------------
acfs.CA040N0.db(cluster_resource)->
| acfs.u03.FRA.fs(local_resource)[hard,pullup]
| | ora.ORADATA.dg(ora.diskgroup.type)[hard,pullup]
| | | ora.asm(ora.asm.type)[hard,pullup]
| | | | ora.cssd(ora.cssd.type)[hard]
| | | | | ora.diskmon(ora.diskmon.type)[weak:concurrent]
| | | | | | ora.cssd(ora.cssd.type)[weak:concurrent,pullup:always]
| | | | | ora.driver.afd(ora.driver.afd.type)[hard:intermediate]
| | | | ora.LISTENER.lsnr(ora.listener.type)[weak]
| acfs.u02.oradata.D040.fs(local_resource)[hard,pullup]
| | ora.ORADATA.dg(ora.diskgroup.type)[hard,pullup]
| | | ora.asm(ora.asm.type)[hard,pullup]
| | | | ora.cssd(ora.cssd.type)[hard]
| | | | | ora.diskmon(ora.diskmon.type)[weak:concurrent]
| | | | | | ora.cssd(ora.cssd.type)[weak:concurrent,pullup:always]
| | | | | ora.driver.afd(ora.driver.afd.type)[hard:intermediate]
| | | | ora.LISTENER.lsnr(ora.listener.type)[weak]
| acfs.u02.oradata.D040NE.fs(local_resource)[hard,pullup]
| | ora.ORADATA.dg(ora.diskgroup.type)[hard,pullup]
| | | ora.asm(ora.asm.type)[hard,pullup]
| | | | ora.cssd(ora.cssd.type)[hard]
| | | | | ora.diskmon(ora.diskmon.type)[weak:concurrent]
| | | | | | ora.cssd(ora.cssd.type)[weak:concurrent,pullup:always]
| | | | | ora.driver.afd(ora.driver.afd.type)[hard:intermediate]
| | | | ora.LISTENER.lsnr(ora.listener.type)[weak]
--------------------------------------------------------------------------------
[grid@af203 ~]$
starten stoppen database die gedefinieerd is als Clusterware resource
Als een database geconfigureerd is m.b.v. srvctl moet de database gestopt worden en de configuratie verwijderd worden.
[oracle@af203 bin]$srvctl config database -db CA040N0
Database unique name: CA040N0
Database name: CA040N0
Oracle home: /u01/app/oracle/product/19.0.0.0/dbhome_1
Oracle user: oracle
Spfile: +ORADATA/CA040N0/PARAMETERFILE/spfile.276.1127551731
Password file:
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Disk Groups: ORADATA
Services:
OSDBA group:
OSOPER group:
Database instance: CA040N0
[oracle@af203 bin]$
[oracle@af203 bin]$srvctl stop database -db CA040N0
[oracle@af203 bin]$srvctl remove database -db CA040N0
Remove the database CA040N0? (y/[n]) y
[oracle@af203 bin]$
Doordat de database als Clusterware resource met de juiste afhankelijkheden is geconfigureerd wordt deze bij een reboot automatisch en in de juiste volgorde gestart. Indien de database handmatig gestopnt en/of gestart moet worden kan srvctl niet meer gebruikt worden en moet de database als Clusterware gestart/gestopt worden door user grid. Om te stoppen kijk je eerst op de database (Clusterware resource acfs.CA040N0.db) ‘op’ is.
[grid@af203 ~]$ crsctl stat res acfs.CA040N0.db
NAME=acfs.CA040N0.db
TYPE=cluster_resource
TARGET=ONLINE
STATE=ONLINE on af203
Vervolgens stop je deze op de Clusterware manier
[grid@af203 ~]$ crsctl stop res acfs.CA040N0.db
CRS-2673: Attempting to stop 'acfs.CA040N0.db' on 'af203'
CRS-2677: Stop of 'acfs.CA040N0.db' on 'af203' succeeded
[grid@af203 ~]$
controleer of de database gestopt is
[grid@af203 ~]$ crsctl stat res acfs.CA040N0.db
NAME=acfs.CA040N0.db
TYPE=cluster_resource
TARGET=OFFLINE
STATE=OFFLINE
[grid@af203 ~]$ ps -ef|grep CA040N0|grep -v grep
[grid@af203 ~]$
Vervolgens start je deze op de Clusterware manier
[grid@af203 ~]$ crsctl start res acfs.CA040N0.db
CRS-2672: Attempting to start 'acfs.CA040N0.db' on 'af203'
CRS-2676: Start of 'acfs.CA040N0.db' on 'af203' succeeded
[grid@af203 ~]$
Een crsctl stat res -t geeft een overzicht van alle Clusterware resources en hun status. Hierin is o.a. te zien f de ACFS filesystems en Oracle Databases de gewenste State hebben.
[grid@af203 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
acfs.u02.oradata.D040.fs
ONLINE ONLINE af203 STABLE
acfs.u02.oradata.D040NE.fs
ONLINE ONLINE af203 STABLE
acfs.u03.FRA.fs
ONLINE ONLINE af203 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE af203 STABLE
ora.ORADATA.dg
ONLINE ONLINE af203 STABLE
ora.asm
ONLINE ONLINE af203 Started,STABLE
ora.ons
OFFLINE OFFLINE af203 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
acfs.CA040N0.db
1 ONLINE ONLINE af203 STABLE
ora.crepo1.db
1 ONLINE ONLINE af203 Open,HOME=/u01/app/o
racle/product/19.0.0
.0/dbhome_1,STABLE
ora.cssd
1 ONLINE ONLINE af203 STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.driver.afd
1 ONLINE ONLINE af203 STABLE
ora.evmd
1 ONLINE ONLINE af203 STABLE
--------------------------------------------------------------------------------
[grid@af203 ~]$